diff --git a/Android.bp b/Android.bp
index 4d07913..71e0542 100644
--- a/Android.bp
+++ b/Android.bp
@@ -69,6 +69,7 @@
         "androidx.appcompat_appcompat",
         "androidx.cardview_cardview",
         "androidx.compose.runtime_runtime-livedata",
+        "androidx.activity_activity-ktx",
         "androidx.preference_preference",
         "androidx.recyclerview_recyclerview",
         "androidx.window_window",
@@ -82,6 +83,7 @@
         "net-utils-framework-common",
         "app-usage-event-protos-lite",
         "battery-event-protos-lite",
+        "power-anomaly-event-protos-lite",
         "settings-contextual-card-protos-lite",
         "settings-log-bridge-protos-lite",
         "settings-telephony-protos-lite",
@@ -149,14 +151,17 @@
     srcs: ["proguard.flags"],
 }
 
-// The sources for Settings need to be exposed to SettingsGoogle, etc.
-// so they can run the com.android.settingslib.search.IndexableProcessor
-// over all the sources together.
+// Deprecated. The sources for Settings need to be exposed to ArcSettings, so they can run the
+// com.android.settingslib.search.IndexableProcessor over all the sources together.
+// Use "-Acom.android.settingslib.search.processor.package=" instead to generate the search data
+// separately for different modules.
 filegroup {
     name: "Settings_srcs",
     srcs: ["src/**/*.java", "src/**/*.kt"],
 }
 
+// Deprecated. Do not depend on this, only depend on Settings-core, and its manifest is also
+// included.
 filegroup {
     name: "Settings_manifest",
     srcs: ["AndroidManifest.xml"],
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index df4ad39..ad153cd 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -2395,6 +2395,8 @@
             <intent-filter android:priority="1">
                 <action android:name="android.app.action.CONFIRM_DEVICE_CREDENTIAL" />
                 <action android:name="android.app.action.CONFIRM_FRP_CREDENTIAL" />
+                <action android:name="android.app.action.PREPARE_REPAIR_MODE_DEVICE_CREDENTIAL" />
+                <action android:name="android.app.action.CONFIRM_REPAIR_MODE_DEVICE_CREDENTIAL" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
         </activity>
@@ -4837,7 +4839,7 @@
         </activity>
 
         <activity android:name="Settings$FactoryResetActivity"
-                  android:permission="android.permission.BACKUP"
+                  android:permission="android.permission.MASTER_CLEAR"
                   android:label="@string/main_clear_title"
                   android:exported="true"
                   android:theme="@style/SudThemeGlif.Light">
@@ -4902,6 +4904,20 @@
         <activity android:name=".spa.SpaBridgeActivity" android:exported="false"/>
         <activity android:name=".spa.SpaAppBridgeActivity" android:exported="false"/>
 
+        <activity android:name=".Settings$FingerprintSettingsActivityV2"
+            android:label="@string/security_settings_fingerprint_preference_title"
+            android:exported="false"
+            android:icon="@drawable/ic_fingerprint_header">
+            <intent-filter>
+                <action android:name="android.settings.FINGERPRINT_SETTINGS_V2" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                android:value="com.android.settings.biometrics.fingerprint2.ui.fragment.FingerprintSettingsV2Fragment" />
+            <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
+                android:value="@string/menu_key_security"/>
+        </activity>
+
         <activity-alias android:name="UsageStatsActivity"
                         android:exported="true"
                         android:label="@string/testing_usage_stats"
diff --git a/protos/fuelgauge_log.proto b/protos/fuelgauge_log.proto
index 150c2e2..e75ca48 100644
--- a/protos/fuelgauge_log.proto
+++ b/protos/fuelgauge_log.proto
@@ -5,13 +5,12 @@
 option java_package = "com.android.settings.fuelgauge";
 option java_outer_classname = "FuelgaugeLogProto";
 
-// Stores history of setting optimize mode
+// Store history of setting optimize mode
 message BatteryOptimizeHistoricalLog {
   repeated BatteryOptimizeHistoricalLogEntry log_entry = 1;
 }
 
 message BatteryOptimizeHistoricalLogEntry {
-
   // The action to set optimize mode
   enum Action {
     UNKNOWN = 0;
@@ -28,3 +27,25 @@
   optional string action_description = 3;
   optional int64 timestamp = 4;
 }
+
+
+// Store history of battery usage periodic job
+message BatteryUsageHistoricalLog {
+  repeated BatteryUsageHistoricalLogEntry log_entry = 1;
+}
+
+message BatteryUsageHistoricalLogEntry {
+  // The action to record battery usage job event
+  enum Action {
+    UNKNOWN = 0;
+    SCHEDULE_JOB = 1;
+    EXECUTE_JOB = 2;
+    RECHECK_JOB = 3;
+    FETCH_USAGE_DATA = 4;
+    INSERT_USAGE_DATA = 5;
+  }
+
+  optional int64 timestamp = 1;
+  optional Action action = 2;
+  optional string action_description = 3;
+}
diff --git a/res-product/values-am/strings.xml b/res-product/values-am/strings.xml
index a8449d8..d2acfa6 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>
diff --git a/res-product/values-pt-rPT/strings.xml b/res-product/values-pt-rPT/strings.xml
index 8f0f1d8..df1d195 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> 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="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="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 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="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="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> 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="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="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>
diff --git a/res/drawable/ic_lock_none.xml b/res/drawable/ic_lock_none.xml
index 31069b7..54b9bb4 100644
--- a/res/drawable/ic_lock_none.xml
+++ b/res/drawable/ic_lock_none.xml
@@ -18,7 +18,8 @@
     android:width="24dp"
     android:height="24dp"
     android:viewportWidth="24"
-    android:viewportHeight="24">
+    android:viewportHeight="24"
+    android:tint="?android:attr/colorControlNormal">
   <path
       android:pathData="M18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6h2c0,-1.66 1.34,-3 3,-3s3,1.34 3,3v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM18,20L6,20L6,10h12v10z"
       android:fillColor="?android:attr/colorAccent"/>
diff --git a/res/drawable/ic_lock_pin.xml b/res/drawable/ic_lock_pin.xml
index 587f49c..4614f53 100644
--- a/res/drawable/ic_lock_pin.xml
+++ b/res/drawable/ic_lock_pin.xml
@@ -18,7 +18,8 @@
     android:width="24dp"
     android:height="24dp"
     android:viewportWidth="24"
-    android:viewportHeight="24">
+    android:viewportHeight="24"
+    android:tint="?android:attr/colorControlNormal">
   <path
       android:pathData="M6,8c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM12,20c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM6,20c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM6,14c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM12,14c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM16,6c0,1.1 0.9,2 2,2s2,-0.9 2,-2 -0.9,-2 -2,-2 -2,0.9 -2,2zM12,8c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM18,14c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM18,20c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2z"
       android:fillColor="?android:attr/colorAccent"/>
diff --git a/res/drawable/ic_lock_swipe.xml b/res/drawable/ic_lock_swipe.xml
index f7e78b8..fb8302d 100644
--- a/res/drawable/ic_lock_swipe.xml
+++ b/res/drawable/ic_lock_swipe.xml
@@ -18,7 +18,8 @@
     android:width="24dp"
     android:height="24dp"
     android:viewportWidth="24"
-    android:viewportHeight="24">
+    android:viewportHeight="24"
+    android:tint="?android:attr/colorControlNormal">
   <path
       android:pathData="M20.5,2v2.02C18.18,2.13 15.22,1 12,1S5.82,2.13 3.5,4.02V2H2v3.5V7h1.5H7V5.5H4.09c2.11,-1.86 4.88,-3 7.91,-3s5.79,1.14 7.91,3H17V7h3.5H22V5.5V2H20.5z"
       android:fillColor="?android:attr/colorAccent"/>
diff --git a/res/drawable/ic_password.xml b/res/drawable/ic_password.xml
index 341e544..cf3b408 100644
--- a/res/drawable/ic_password.xml
+++ b/res/drawable/ic_password.xml
@@ -18,7 +18,8 @@
     android:width="24dp"
     android:height="24dp"
     android:viewportHeight="24.0"
-    android:viewportWidth="24.0">
+    android:viewportWidth="24.0"
+    android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="?android:attr/colorAccent"
         android:pathData="M21.5,9.39l-1.63,0l0.81,-1.42l-0.86,-0.5l-0.82,1.42l-0.82,-1.42l-0.86,0.5l0.81,1.42l-1.63,0l0,1l1.63,0l-0.81,1.41l0.86,0.5l0.82,-1.41l0.82,1.41l0.86,-0.5l-0.81,-1.41l1.63,0z" />
diff --git a/res/drawable/ic_pattern.xml b/res/drawable/ic_pattern.xml
index 788eaa7..e56fb00 100644
--- a/res/drawable/ic_pattern.xml
+++ b/res/drawable/ic_pattern.xml
@@ -18,7 +18,8 @@
     android:width="24dp"
     android:height="24dp"
     android:viewportHeight="24.0"
-    android:viewportWidth="24.0">
+    android:viewportWidth="24.0"
+    android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="?android:attr/colorAccent"
         android:pathData="M4,4m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0" />
diff --git a/res/drawable/ic_pin.xml b/res/drawable/ic_pin.xml
index 682e934..8520ec1 100644
--- a/res/drawable/ic_pin.xml
+++ b/res/drawable/ic_pin.xml
@@ -18,7 +18,8 @@
     android:width="24dp"
     android:height="24dp"
     android:viewportHeight="24.0"
-    android:viewportWidth="24.0">
+    android:viewportWidth="24.0"
+    android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="?android:attr/colorAccent"
         android:pathData="M20,4L4,4A2,2 0,0 0,2 6L2,18a2,2 0,0 0,2 2L20,20a2,2 0,0 0,2 -2L22,6A2,2 0,0 0,20 4ZM7.1,15L5.9,15L5.9,10.2L4.7,10.2L4.7,9L7.1,9v6ZM13.2,11.4A1.2,1.2 0,0 1,12 12.6L10.8,12.6v1.2h2.4L13.2,15L9.6,15L9.6,12.6a1.2,1.2 0,0 1,1.2 -1.2L12,11.4L12,10.2L9.6,10.2L9.6,9L12,9a1.2,1.2 0,0 1,1.2 1.2v1.2ZM19.3,11.1a0.9,0.9 0,0 1,-0.9 0.9,0.9 0.9,0 0,1 0.9,0.9v0.9A1.2,1.2 0,0 1,18.1 15L15.7,15L15.7,13.8h2.4L18.1,12.6L16.9,12.6L16.9,11.4h1.2L18.1,10.2L15.7,10.2L15.7,9h2.4a1.2,1.2 0,0 1,1.2 1.2v0.9Z" />
diff --git a/res/layout-land/choose_lock_pattern_common.xml b/res/layout-land/choose_lock_pattern_common.xml
index 2913c5a..e440461 100644
--- a/res/layout-land/choose_lock_pattern_common.xml
+++ b/res/layout-land/choose_lock_pattern_common.xml
@@ -38,15 +38,6 @@
         android:paddingRight="0dp"
         android:paddingBottom="0dp">
 
-        <!-- TODO b/249974175 Move into Glif header mixin -->
-        <Button
-            android:id="@+id/screen_lock_options"
-            style="@style/SudGlifButton.Tertiary"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="@string/setup_lock_settings_options_button_label"
-            android:visibility="gone"/>
-
         <com.google.android.setupdesign.view.FillContentLayout
             style="@style/LockPatternContainerStyle"
             android:layout_width="wrap_content"
diff --git a/res/layout/choose_lock_password.xml b/res/layout/choose_lock_password.xml
index 5819774..c2eb13a 100644
--- a/res/layout/choose_lock_password.xml
+++ b/res/layout/choose_lock_password.xml
@@ -61,12 +61,6 @@
                 android:imeOptions="actionNext|flagNoExtractUi|flagForceAscii"
                 style="@style/TextAppearance.PasswordEntry"/>
 
-            <androidx.recyclerview.widget.RecyclerView
-                android:layout_marginTop="8dp"
-                android:id="@+id/password_requirements_view"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"/>
-
             <CheckBox
                 android:id="@+id/auto_pin_confirm_enabler"
                 android:layout_marginTop="8dp"
@@ -91,14 +85,6 @@
             android:textSize="16sp"
             android:visibility="gone" />
 
-        <Button
-            android:id="@+id/screen_lock_options"
-            style="@style/SudGlifButton.Tertiary"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="@string/setup_lock_settings_options_button_label"
-            android:visibility="gone" />
-
     </LinearLayout>
 
 </com.google.android.setupdesign.GlifLayout>
diff --git a/res/layout/choose_lock_pattern_common.xml b/res/layout/choose_lock_pattern_common.xml
index 774f5cd..ddfa046 100644
--- a/res/layout/choose_lock_pattern_common.xml
+++ b/res/layout/choose_lock_pattern_common.xml
@@ -36,14 +36,6 @@
         android:paddingLeft="0dp"
         android:paddingRight="0dp">
 
-        <Button
-            android:id="@+id/screen_lock_options"
-            style="@style/LockPatternButtonStyle"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="@string/setup_lock_settings_options_button_label"
-            android:visibility="gone"/>
-
         <com.google.android.setupdesign.view.FillContentLayout
             style="@style/LockPatternContainerStyle"
             android:layout_width="wrap_content"
diff --git a/res/layout/layout_color_selector.xml b/res/layout/layout_color_selector.xml
index c366add..a6b9cc8 100644
--- a/res/layout/layout_color_selector.xml
+++ b/res/layout/layout_color_selector.xml
@@ -14,161 +14,167 @@
     See the License for the specific language governing permissions and
     limitations under the License.
 -->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/color_selector_root_view"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:minHeight="?android:attr/listPreferredItemHeight"
-    android:orientation="vertical">
-
+    android:padding="20dp"
+    android:clipToPadding="false"
+    android:scrollbarStyle="outsideOverlay">
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_marginBottom="10dp"
-        android:orientation="horizontal">
-
-        <RadioButton
-            android:id="@+id/color_radio_button_00"
-            android:layout_width="@dimen/screen_flash_color_button_frame_size"
-            android:layout_height="@dimen/screen_flash_color_button_frame_size"
-            android:button="@drawable/screen_flash_color_01_selector"
-            android:contentDescription="@string/screen_flash_color_blue" />
-
-        <Space
-            android:layout_width="0dp"
+        android:minHeight="?android:attr/listPreferredItemHeight"
+        android:orientation="vertical">
+        <LinearLayout
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_weight="1" />
+            android:layout_marginBottom="10dp"
+            android:orientation="horizontal">
 
-        <RadioButton
-            android:id="@+id/color_radio_button_01"
-            android:layout_width="@dimen/screen_flash_color_button_frame_size"
-            android:layout_height="@dimen/screen_flash_color_button_frame_size"
-            android:button="@drawable/screen_flash_color_02_selector"
-            android:contentDescription="@string/screen_flash_color_azure" />
+            <RadioButton
+                android:id="@+id/color_radio_button_00"
+                android:layout_width="@dimen/screen_flash_color_button_frame_size"
+                android:layout_height="@dimen/screen_flash_color_button_frame_size"
+                android:button="@drawable/screen_flash_color_01_selector"
+                android:contentDescription="@string/screen_flash_color_blue" />
 
-        <Space
-            android:layout_width="0dp"
+            <Space
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1" />
+
+            <RadioButton
+                android:id="@+id/color_radio_button_01"
+                android:layout_width="@dimen/screen_flash_color_button_frame_size"
+                android:layout_height="@dimen/screen_flash_color_button_frame_size"
+                android:button="@drawable/screen_flash_color_02_selector"
+                android:contentDescription="@string/screen_flash_color_azure" />
+
+            <Space
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1" />
+
+            <RadioButton
+                android:id="@+id/color_radio_button_02"
+                android:layout_width="@dimen/screen_flash_color_button_frame_size"
+                android:layout_height="@dimen/screen_flash_color_button_frame_size"
+                android:button="@drawable/screen_flash_color_03_selector"
+                android:contentDescription="@string/screen_flash_color_cyan" />
+
+            <Space
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1" />
+
+            <RadioButton
+                android:id="@+id/color_radio_button_03"
+                android:layout_width="@dimen/screen_flash_color_button_frame_size"
+                android:layout_height="@dimen/screen_flash_color_button_frame_size"
+                android:button="@drawable/screen_flash_color_04_selector"
+                android:contentDescription="@string/screen_flash_color_spring_green" />
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_weight="1" />
+            android:layout_marginBottom="10dp"
+            android:orientation="horizontal">
 
-        <RadioButton
-            android:id="@+id/color_radio_button_02"
-            android:layout_width="@dimen/screen_flash_color_button_frame_size"
-            android:layout_height="@dimen/screen_flash_color_button_frame_size"
-            android:button="@drawable/screen_flash_color_03_selector"
-            android:contentDescription="@string/screen_flash_color_cyan" />
+            <RadioButton
+                android:id="@+id/color_radio_button_04"
+                android:layout_width="@dimen/screen_flash_color_button_frame_size"
+                android:layout_height="@dimen/screen_flash_color_button_frame_size"
+                android:button="@drawable/screen_flash_color_05_selector"
+                android:contentDescription="@string/screen_flash_color_green" />
 
-        <Space
-            android:layout_width="0dp"
+            <Space
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1" />
+
+            <RadioButton
+                android:id="@+id/color_radio_button_05"
+                android:layout_width="@dimen/screen_flash_color_button_frame_size"
+                android:layout_height="@dimen/screen_flash_color_button_frame_size"
+                android:button="@drawable/screen_flash_color_06_selector"
+                android:contentDescription="@string/screen_flash_color_chartreuse_green" />
+
+
+            <Space
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1" />
+            <RadioButton
+                android:id="@+id/color_radio_button_06"
+                android:layout_width="@dimen/screen_flash_color_button_frame_size"
+                android:layout_height="@dimen/screen_flash_color_button_frame_size"
+                android:button="@drawable/screen_flash_color_07_selector"
+                android:contentDescription="@string/screen_flash_color_yellow" />
+
+            <Space
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1" />
+
+            <RadioButton
+                android:id="@+id/color_radio_button_07"
+                android:layout_width="@dimen/screen_flash_color_button_frame_size"
+                android:layout_height="@dimen/screen_flash_color_button_frame_size"
+                android:button="@drawable/screen_flash_color_08_selector"
+                android:contentDescription="@string/screen_flash_color_orange" />
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_weight="1" />
+            android:layout_marginBottom="10dp"
+            android:orientation="horizontal">
 
-        <RadioButton
-            android:id="@+id/color_radio_button_03"
-            android:layout_width="@dimen/screen_flash_color_button_frame_size"
-            android:layout_height="@dimen/screen_flash_color_button_frame_size"
-            android:button="@drawable/screen_flash_color_04_selector"
-            android:contentDescription="@string/screen_flash_color_spring_green" />
+            <RadioButton
+                android:id="@+id/color_radio_button_08"
+                android:layout_width="@dimen/screen_flash_color_button_frame_size"
+                android:layout_height="@dimen/screen_flash_color_button_frame_size"
+                android:button="@drawable/screen_flash_color_09_selector"
+                android:contentDescription="@string/screen_flash_color_red" />
+
+            <Space
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1" />
+
+            <RadioButton
+                android:id="@+id/color_radio_button_09"
+                android:layout_width="@dimen/screen_flash_color_button_frame_size"
+                android:layout_height="@dimen/screen_flash_color_button_frame_size"
+                android:button="@drawable/screen_flash_color_10_selector"
+                android:contentDescription="@string/screen_flash_color_rose" />
+
+            <Space
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1" />
+
+            <RadioButton
+                android:id="@+id/color_radio_button_10"
+                android:layout_width="@dimen/screen_flash_color_button_frame_size"
+                android:layout_height="@dimen/screen_flash_color_button_frame_size"
+                android:button="@drawable/screen_flash_color_11_selector"
+                android:contentDescription="@string/screen_flash_color_magenta" />
+
+            <Space
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1" />
+
+            <RadioButton
+                android:id="@+id/color_radio_button_11"
+                android:layout_width="@dimen/screen_flash_color_button_frame_size"
+                android:layout_height="@dimen/screen_flash_color_button_frame_size"
+                android:button="@drawable/screen_flash_color_12_selector"
+                android:contentDescription="@string/screen_flash_color_violet" />
+
+        </LinearLayout>
     </LinearLayout>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginBottom="10dp"
-        android:orientation="horizontal">
-
-        <RadioButton
-            android:id="@+id/color_radio_button_04"
-            android:layout_width="@dimen/screen_flash_color_button_frame_size"
-            android:layout_height="@dimen/screen_flash_color_button_frame_size"
-            android:button="@drawable/screen_flash_color_05_selector"
-            android:contentDescription="@string/screen_flash_color_green" />
-
-        <Space
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_weight="1" />
-
-        <RadioButton
-            android:id="@+id/color_radio_button_05"
-            android:layout_width="@dimen/screen_flash_color_button_frame_size"
-            android:layout_height="@dimen/screen_flash_color_button_frame_size"
-            android:button="@drawable/screen_flash_color_06_selector"
-            android:contentDescription="@string/screen_flash_color_chartreuse_green" />
-
-
-        <Space
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_weight="1" />
-        <RadioButton
-            android:id="@+id/color_radio_button_06"
-            android:layout_width="@dimen/screen_flash_color_button_frame_size"
-            android:layout_height="@dimen/screen_flash_color_button_frame_size"
-            android:button="@drawable/screen_flash_color_07_selector"
-            android:contentDescription="@string/screen_flash_color_yellow" />
-
-        <Space
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_weight="1" />
-
-        <RadioButton
-            android:id="@+id/color_radio_button_07"
-            android:layout_width="@dimen/screen_flash_color_button_frame_size"
-            android:layout_height="@dimen/screen_flash_color_button_frame_size"
-            android:button="@drawable/screen_flash_color_08_selector"
-            android:contentDescription="@string/screen_flash_color_orange" />
-    </LinearLayout>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginBottom="10dp"
-        android:orientation="horizontal">
-
-        <RadioButton
-            android:id="@+id/color_radio_button_08"
-            android:layout_width="@dimen/screen_flash_color_button_frame_size"
-            android:layout_height="@dimen/screen_flash_color_button_frame_size"
-            android:button="@drawable/screen_flash_color_09_selector"
-            android:contentDescription="@string/screen_flash_color_red" />
-
-        <Space
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_weight="1" />
-
-        <RadioButton
-            android:id="@+id/color_radio_button_09"
-            android:layout_width="@dimen/screen_flash_color_button_frame_size"
-            android:layout_height="@dimen/screen_flash_color_button_frame_size"
-            android:button="@drawable/screen_flash_color_10_selector"
-            android:contentDescription="@string/screen_flash_color_rose" />
-
-        <Space
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_weight="1" />
-
-        <RadioButton
-            android:id="@+id/color_radio_button_10"
-            android:layout_width="@dimen/screen_flash_color_button_frame_size"
-            android:layout_height="@dimen/screen_flash_color_button_frame_size"
-            android:button="@drawable/screen_flash_color_11_selector"
-            android:contentDescription="@string/screen_flash_color_magenta" />
-
-        <Space
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_weight="1" />
-
-        <RadioButton
-            android:id="@+id/color_radio_button_11"
-            android:layout_width="@dimen/screen_flash_color_button_frame_size"
-            android:layout_height="@dimen/screen_flash_color_button_frame_size"
-            android:button="@drawable/screen_flash_color_12_selector"
-            android:contentDescription="@string/screen_flash_color_violet" />
-
-    </LinearLayout>
-</LinearLayout>
\ No newline at end of file
+</ScrollView>
diff --git a/res/layout/layout_color_selector_dialog.xml b/res/layout/layout_color_selector_dialog.xml
index 70d4509..e107689 100644
--- a/res/layout/layout_color_selector_dialog.xml
+++ b/res/layout/layout_color_selector_dialog.xml
@@ -17,16 +17,12 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:orientation="vertical"
-    android:paddingBottom="24dp">
+    android:gravity="center_horizontal"
+    android:orientation="vertical">
 
     <com.android.settings.accessibility.ColorSelectorLayout
         android:id="@+id/color_selector_preference"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginBottom="2dp"
-        android:layout_marginHorizontal="25dp"
-        android:layout_marginTop="21dp"
-        android:orientation="vertical" />
+        android:layout_height="wrap_content"/>
 
 </LinearLayout>
\ No newline at end of file
diff --git a/res/layout/locale_order_list.xml b/res/layout/locale_order_list.xml
index 5c1db15..da1eb62 100644
--- a/res/layout/locale_order_list.xml
+++ b/res/layout/locale_order_list.xml
@@ -27,11 +27,11 @@
         android:clipChildren="true"
         android:orientation="vertical">
 
-        <com.android.settings.localepicker.LocaleRecyclerView
+        <androidx.recyclerview.widget.RecyclerView
             android:id="@+id/dragList"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:scrollbars="vertical"/>
+            android:scrollbars="none"/>
 
         <Button
             android:id="@+id/add_language"
diff --git a/res/layout/modifier_key_item.xml b/res/layout/modifier_key_item.xml
index a189479..683f631 100644
--- a/res/layout/modifier_key_item.xml
+++ b/res/layout/modifier_key_item.xml
@@ -19,8 +19,7 @@
     android:layout_marginTop="8dip"
     android:layout_marginBottom="8dip"
     android:minHeight="?android:attr/listPreferredItemHeight"
-    android:paddingEnd="?android:attr/scrollbarSize"
-    android:layout_weight="1">
+    android:paddingEnd="?android:attr/scrollbarSize">
 
     <ImageView
         android:id="@+id/modifier_key_check_icon"
@@ -36,7 +35,7 @@
 
     <TextView
         android:id="@+id/modifier_key_text"
-        android:layout_width="match_parent"
+        android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_centerVertical="true"
         android:textDirection="locale"
@@ -46,4 +45,38 @@
         android:ellipsize="marquee"
         android:fadingEdge="horizontal" />
 
+    <TextView
+        android:id="@+id/modifier_key_left_bracket"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_centerVertical="true"
+        android:textDirection="locale"
+        android:padding="1dp"
+        android:textAppearance="?android:attr/textAppearanceMedium"
+        android:layout_toEndOf="@+id/modifier_key_text"
+        android:fadingEdge="horizontal" />
+
+    <ImageView
+        android:id="@+id/modifier_key_action_key_icon"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_centerVertical="true"
+        android:layout_toEndOf="@+id/modifier_key_left_bracket"
+        android:fadingEdge="horizontal"
+        android:tint="?android:attr/textColorPrimary"/>
+
+    <TextView
+        android:id="@+id/modifier_key_right_bracket"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_centerVertical="true"
+        android:textDirection="locale"
+        android:padding="1dp"
+        android:textAppearance="?android:attr/textAppearanceMedium"
+        android:layout_toEndOf="@+id/modifier_key_action_key_icon"
+        android:fadingEdge="horizontal" />
+
+    <View android:layout_width="wrap_content"
+          android:layout_height="match_parent" />
+
 </RelativeLayout>
diff --git a/res/layout/modifier_keys_custom_key.xml b/res/layout/modifier_keys_custom_key.xml
new file mode 100644
index 0000000..f390c00
--- /dev/null
+++ b/res/layout/modifier_keys_custom_key.xml
@@ -0,0 +1,107 @@
+<?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:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:minHeight="?android:attr/listPreferredItemHeight"
+    android:gravity="center_vertical"
+    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+    android:background="?android:attr/selectableItemBackground">
+
+    <FrameLayout
+        android:id="@+id/icon_frame"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content">
+        <androidx.preference.internal.PreferenceImageView
+            android:id="@android:id/icon"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            app:maxWidth="48dp"
+            app:maxHeight="48dp" />
+    </FrameLayout>
+
+    <RelativeLayout
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:paddingTop="16dp"
+        android:paddingBottom="16dp"
+        android:layout_weight="1">
+
+        <TextView android:id="@+id/title"
+                  android:layout_width="wrap_content"
+                  android:layout_height="wrap_content"
+                  android:singleLine="true"
+                  android:textAppearance="?android:attr/textAppearanceLarge"
+                  android:textColor="?android:attr/textColorPrimary"
+                  android:fadingEdge="horizontal" />
+
+        <TextView android:id="@+id/summary"
+                  android:layout_width="wrap_content"
+                  android:layout_height="wrap_content"
+                  android:layout_below="@+id/title"
+                  android:layout_alignStart="@+id/title"
+                  android:layout_alignLeft="@+id/title"
+                  android:textAppearance="?android:attr/textAppearanceSmall"
+                  android:textColor="?android:attr/textColorSecondary"
+                  android:maxLines="4" />
+
+        <LinearLayout
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:paddingStart="15dp"
+            android:layout_toEndOf="@+id/title"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <TextView
+                android:id="@+id/modifier_key_left_bracket"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:textDirection="locale"
+                android:paddingStart="1dp"
+                android:paddingEnd="1dp"
+                android:textAppearance="?android:attr/textAppearanceLarge"
+                android:textColor="?android:attr/textColorPrimary"
+                android:fadingEdge="horizontal" />
+
+            <ImageView
+                android:id="@+id/modifier_key_action_key_icon"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:fadingEdge="horizontal"
+                android:tint="?android:attr/textColorPrimary"/>
+
+            <TextView
+                android:id="@+id/modifier_key_right_bracket"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:textDirection="locale"
+                android:paddingStart="1dp"
+                android:paddingEnd="1dp"
+                android:textAppearance="?android:attr/textAppearanceLarge"
+                android:textColor="?android:attr/textColorPrimary"
+                android:fadingEdge="horizontal" />
+        </LinearLayout>
+    </RelativeLayout>
+
+    <!-- Preference should place its actual preference widget here. -->
+    <LinearLayout android:id="@android:id/widget_frame"
+                  android:layout_width="wrap_content"
+                  android:layout_height="match_parent"
+                  android:gravity="center_vertical"
+                  android:orientation="vertical" />
+</LinearLayout>
diff --git a/res/layout/preference_check_icon.xml b/res/layout/preference_check_icon.xml
index 1b759fc..bd0dd79 100644
--- a/res/layout/preference_check_icon.xml
+++ b/res/layout/preference_check_icon.xml
@@ -20,4 +20,5 @@
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_centerVertical="true"
-    android:layout_marginHorizontal="16dp"/>
\ No newline at end of file
+    android:layout_marginHorizontal="16dp"
+    android:contentDescription="@*android:string/checked"/>
\ No newline at end of file
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index ee8b1d1..07e5ea6 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth is aangeskakel"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Sien alles"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stilus"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Versteknotasapp"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Puntknoppiedruk"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (werkprofiel)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Skryf in teksvelde"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignoreer alle stilusknoppiedrukke"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stilus"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatuur"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Eerste dag van die week"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Nommervoorkeure"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Gebruik appverstek"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Gebruik verstek"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Sondag"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Kernweergawe"</string>
     <string name="build_number" msgid="9009733242117579826">"Bounommer"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play-stelselopdatering"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Batteryinligting"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Nie beskikbaar nie"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Berging"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Berging en kas"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth-adres"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Reeksnommer"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Tyd aanlyn"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Vervaardigingdatum"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Datum van eerste gebruik"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Siklustelling"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Onbeskikbaar"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Bereken tans…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Hernoem"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Monteer"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Dit sal alle wi‑fi- en Bluetooth-instellings terugstel. Jy kan nie hierdie handeling ontdoen nie."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Stel terug"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth en wi‑fi is teruggestel"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Vee uit"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Vee e-SIM-kaarte uit"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Dit sal geen mobielediensplanne kanselleer nie. Kontak jou diensverskaffer om vervanging-SIM\'s af te laai."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Stel instellings terug"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Gebruik ook patroon om dié toestel te ontsluit"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Gebruik ook PIN om dié toestel te ontsluit"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Gebruik ook wagwoord om dié toestel te ontsluit"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Verifieer patroon"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Verifieer PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Verifieer wagwoord"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Gebruik jou toestelpatroon om voort te gaan"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Voer jou toestel-PIN in om voort te gaan"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Voer jou toestelwagwoord in om voort te gaan"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Verkeerde PIN"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Verkeerde wagwoord"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Verkeerde patroon"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Bekyk volgens apps"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Bekyk volgens stelsels"</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">"Die siklustelling sal weens gehalte-inspeksies voor versending dalk nie nul wees wanneer dit vir die eerste keer gebruik word nie"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Proses-statistieke"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Bleeksiel-statistieke vir lopende prosesse"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Berginggebruik"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Vee gasaktiwiteit uit?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Programme en data van hierdie gastesessie sal nou uitgevee word, en alle toekomstige gasaktiwiteit sal uitgevee word elke keer wanneer jy gasmodus verlaat"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"vee uit, gas, aktiwiteit, verwyder, data, besoeker"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Laat gas toe om foon te gebruik"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Laat gas toe om foonoproepe te maak"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Oproepgeskiedenis sal met gasgebruiker gedeel word"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Skakel foonoproepe en SMS aan"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Maak hierdie gebruiker ’n admin"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"netwerk, selnetwerktoestand, dienstoestand, seinsterkte, selnetwerktipe, swerwing, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"reeksnommer, hardewareweergawe"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"battery-inligting, vervaardigingdatum, siklustelling, eerste gebruik"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"android-sekuriteitregstellingvlak, basisband-weergawe, kernweergawe"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, lig, donker, modus, ligsensitiwiteit, fotofobie, maak donkerder, maak donker, donkermodus, migraine"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"donker tema"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Toestelverstek"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Kon nie oorlegger toepas nie"</string>
     <string name="special_access" msgid="1767980727423395147">"Spesiale apptoegang"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> programme kan onbeperkte data gebruik</item>
-      <item quantity="one">1 program kan onbeperkte data gebruik</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Sien meer"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Lang agtergrondtake"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Laat agtergrondtake toe wat lank neem"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Wissel veranderinge aan programversoenbaarheid"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Veranderinge aan by verstek geaktiveer"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Veranderinge aan by verstek gedeaktiveer"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Geen programme nie"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Veranderinge aan programversoenbaarheid kan net vir ontfoutbare programme gewysig word. Installeer \'n ontfoutbare program en probeer weer."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Hang van \'n ander instelling af"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Rekening"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Deaktiveer kindprosesbeperkings"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Deaktiveer beperkings op die stelselhulpbrongebruik van die app se kindprosesse"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Verplig aktivering van Notas-rol"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Aktiveer integrasie van stelsels om notas te maak met die Notas-rol. Doen niks as die Notas-rol reeds geaktiveer is nie."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Aktiveer integrasie van stelsels om notas te maak met die Notas-rol. Doen niks as die Notas-rol reeds geaktiveer is nie. Vereis herselflaai."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Saai uit"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Saai <xliff:g id="CURRENTAPP">%1$s</xliff:g> uit"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Luister na uitsendings wat in jou omtrek speel"</string>
diff --git a/res/values-am/arrays.xml b/res/values-am/arrays.xml
index 03f79b4..488bd6b 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 5301203..614a207 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>
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"ብሉቱዝ በርቷል"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"ሁሉንም ይመልከቱ"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"ብሮስፌ"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"ነባሪ የማስታወሻዎች መተግበሪያ"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"የጭራ አዝራርን መጫን"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (የሥራ መገለጫ)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"የሙቀት መጠን"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"የሳምንቱ የመጀመሪያ ቀን"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"የቁጥሮች አማራጮች"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"የመተግበሪያ ነባሪን ይጠቀሙ"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"ነባሪውን ይጠቀሙ"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"ሴልሺየስ (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"ፋራናይት (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"እሑድ"</string>
@@ -954,7 +955,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>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"የከርነል ሥሪት"</string>
     <string name="build_number" msgid="9009733242117579826">"የግንባታ ቁጥር"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play ሥርዓት ዝማኔ"</string>
+    <string name="battery_info" msgid="7873528123969546728">"የባትሪ መረጃ"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"አይገኝም"</string>
     <string name="storage_settings" msgid="7472188817781592677">"ማከማቻ"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"ማከማቻ እና መሸጎጫ"</string>
@@ -1156,12 +1158,16 @@
     <string name="status_bt_address" msgid="6919660304578476547">"የብሉቱዝ አድራሻ"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"መለያ ቁጥር"</string>
     <string name="status_up_time" msgid="1274778533719495438">"የቆየበት ሰዓት"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"የተመረተበት ቀን"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"ጥቅም ላይ የዋለበት የመጀመሪያ ቀን"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"የዑደት ቁጥር"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"አይገኝም"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"በማስላት ላይ..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"እንደገና ሰይም"</string>
     <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>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"ይህ ሁሉንም የWi-Fi እና የብሉቱዝ ቅንብሮች ዳግም ያስጀምራል። ይህን ተግባር መቀልበስ አይችሉም።"</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"ዳግም አስጀምር"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ብሉቱዝ እና Wi-Fi ዳግም ተጀምረዋል"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"ደምስስ"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"ኢሲሞችን ደምስስ"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"ይህ ማናቸውም የተንቀሳቃሽ ስልክ አገልግሎት ዕቅዶችን አይሰርዝም። ተተኪ ሲሞችን ለማውረድ፣ የአገልግሎት አቅራቢዎን ያነጋግሩ።"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"ቅንብሮችን ዳግም ያቀናብሩ"</string>
@@ -1382,7 +1387,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>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"እንዲሁም ይህን መሣሪያ ለመክፈት ስርዓተ ጥለት ይጠቀሙ"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"እንዲሁም ይህን መሣሪያ ለመክፈት ፒን ይጠቀሙ"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"እንዲሁም ይህን መሣሪያ ለመክፈት የይለፍ ቃል ይጠቀሙ"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"ሥርዓተ-ጥለትን ያረጋግጡ"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"ፒን ያረጋግጡ"</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">"ለመቀጠል የመሣሪያዎን ፒን ያስገቡ"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"ለመቀጠል የመሣሪያዎን የይለፍ ቃል ያስገቡ"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"የተሳሳተ ፒን"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"የተሳሳተ ይለፍ ቃል"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"የተሳሳተ ስርዓተ ጥለት"</string>
@@ -1593,7 +1604,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>
@@ -1731,7 +1742,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>
@@ -1761,7 +1772,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>
@@ -2132,7 +2143,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>
@@ -2146,7 +2157,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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"በመተግበሪያዎች ይመልከቱ"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"በሥርዓቶች ይመልከቱ"</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">"ከመላክ በፊት ባሉ የጥራት ፍተሻዎች ምክንያት በመጀመሪያው ጥቅም ላይ የዑደቱ ቁጠር ዜሮ ላይሆን ይችላል"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"የሂደት ስታትስቲክስ"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"እያሄዱ ስላሉ ሂደቶች ያሉ ዝርዝር ስታትስቲክስ"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"የማህደረ ትውስታ አጠቃቀም"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"የእንግዳ እንቅስቃሴ ይሰረዝ?"</string>
     <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="8300355036005240911">"እንግዳ ስልኩን እንዲጠቀሙ ይፍቀዱ"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"እንግዳው ስልክ እንዲደውል ፍቀድ"</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>
@@ -2748,7 +2760,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>
@@ -2808,7 +2820,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>
@@ -2818,7 +2830,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>
@@ -2913,7 +2925,7 @@
     <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_gesture" msgid="3456930847450080520">"የጣት ምልክቶች"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"አውታረ መረብ፣ የተንቀሳቃሽ ስልክ አውታረ መረብ ሁኔታ፣ አገልግሎት ሁኔታ፣ የምልክት ጥንካሬ፣ የተንቀሳቃሽ ስልክ አውታረ መረብ ዓይነት፣ በማዛወር ላይ፣ iccid፣ eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"ተከታታይ ቁጥር፣ የሃርድዌር ስሪት"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"የባትሪ መረጃ፣ የተመረተበት ቀን፣ የዑደት ቁጥር፣ የመጀመሪያ ጥቅም"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"የandroid ደህንነት መጠገኛ ደረጃ፣ የመሰረተ-ድግ ስሪት፣ የአውራ ከዋኝ ስሪት"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"ገጽታ፣ ብርሃን፣ ጨለማ፣ ሁነታ፣ ቀላል ስሜታዊነት፣ ፎቶፎቢያ፣ ይበልጥ ጨለማ ያድርጉ፣ ጨለማ፣ ጨለማ ሁነታ፣ ማይግሬ"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"ጨለማ ገጽታ"</string>
@@ -3040,7 +3053,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>
@@ -3261,7 +3274,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>
@@ -3289,7 +3302,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>
@@ -3534,8 +3547,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>
@@ -3702,7 +3715,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>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"የመሣሪያ ነባሪ"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"የላይ ሽፋንን ተግባራዊ ማድረግ አልተሳካም"</string>
     <string name="special_access" msgid="1767980727423395147">"ልዩ የመተግበሪያ መዳረሻ"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> መተግበሪያዎች ያልተገደበ ውሂብ ሊጠቀሙ ይችላሉ</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> መተግበሪያዎች ያልተገደበ ውሂብ ሊጠቀሙ ይችላሉ</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"ተጨማሪ ይመልከቱ"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"ረዥም የዳራ ተግባሮች"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"ረዥም ጊዜ የሚያሄዱ የዳራ ተግባሮችን ፍቀድ"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"የመተግበሪያ ተኳኋኝነት ለውጦችን ይቀያይሩ"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"ነባሪ የነቁ ለውጦች"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"ነባሪ የተሰናከሉ ለውጦች"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"ምንም መተግበሪያዎች አይገኙም"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"የመተግበሪያ ተኳኋኝነት ለውጦች ሊታረሙ ለሚችሉ መተግበሪያዎች ብቻ ነው ሊቀየሩ የሚችሉት። ሊታረም የሚችል መተግበሪያን ይጫኑ እና እንደገና ይሞክሩ"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"በሌላ ቅንብር ላይ ይመረኮዛል"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"መለያ"</string>
@@ -4257,7 +4265,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>
@@ -4331,7 +4339,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>
@@ -4506,7 +4514,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>
@@ -4646,7 +4654,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>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"ልጅ የሂደቶች ገደቦችን ያሰናክሉ"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"የመተግበሪያው ልጅ ሂደቶቹ ላይ ያሉ የሥርዓት ንብረት አጠቃቀም ገደቦችን ያሰናክሉ"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"የማስታወሻዎች ሚናን በግዳጅ ያንቁ"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"በማስታወሻዎች ሚና በኩል ማስታወሻ የመውሰጃ ሥርዓት ውህደቶችን ያንቁ። የማስታወሻዎች ሚና አስቀድሞ ከነቃ ምንም አያድርጉ።"</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"በማስታወሻዎች ሚና በኩል ማስታወሻ የመውሰጃ ሥርዓት ውህደቶችን ያንቁ። የማስታወሻዎች ሚና አስቀድሞ ከነቃ ምንም አያድርጉ። ዳግም ማስነሳት ይፈልጋል።"</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"ስርጭት"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g>ን ያሰራጩ"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"በአቅራቢያዎ የሚጫወቱ ስርጭቶችን ያዳምጡ"</string>
@@ -4697,7 +4705,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>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 6b43976..6692e40 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"تم تفعيل البلوتوث."</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"عرض الكل"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"قلم الشاشة"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"التطبيق التلقائي لتدوين الملاحظات"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"الضغط على زرّ قلم الشاشة"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"تطبيق \"<xliff:g id="APP_NAME">%s</xliff:g>\" (الملف الشخصي للعمل)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"درجة الحرارة"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"أول يوم في الأسبوع"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"الإعدادات المفضّلة لنظام الأرقام"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"استخدام الإعدادات التلقائية للتطبيق"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"استخدام الخيار التلقائي"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"درجة مئوية (°م)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"فهرنهايت (°ف)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"الأحد"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"إصدار النواة"</string>
     <string name="build_number" msgid="9009733242117579826">"رقم الإصدار"</string>
     <string name="module_version" msgid="1787518340082046658">"‏تحديث نظام Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"معلومات البطارية"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"غير متاح"</string>
     <string name="storage_settings" msgid="7472188817781592677">"التخزين"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"مساحة التخزين وذاكرة التخزين المؤقت"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"عنوان البلوتوث"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"الرقم التسلسلي"</string>
     <string name="status_up_time" msgid="1274778533719495438">"وقت التشغيل"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"تاريخ التصنيع"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"تاريخ أول استخدام"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"عدد مرات تفريغ البطارية وشحنها"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"العدد غير متوفّر"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"جارٍ الحساب..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"إعادة تسمية"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"تثبيت"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"‏سيؤدي هذا الإجراء إلى إعادة ضبط كل إعدادات Wi‑Fi والبلوتوث. لا يمكنك التراجع عن هذا الإجراء."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"إعادة الضبط"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"‏تمت إعادة ضبط البلوتوث وWi‑Fi."</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"محو البيانات"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"‏محو بيانات شرائح eSIM"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"‏لن يؤدي هذا إلى إلغاء أيّ خطة من خطط خدمة الجوّال. لتنزيل شرائح SIM بديلة، يمكنك التواصل مع مشغّل شبكة الجوّال."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"إعادة ضبط الإعدادات"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"استخدام نقش أيضًا لفتح هذا الجهاز"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"إضافة رقم تعريف شخصي أيضًا لفتح هذا الجهاز"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"استخدام كلمة مرور أيضًا لفتح هذا الجهاز"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"تأكيد النقش"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"تأكيد رقم التعريف الشخصي"</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">"أدخِل رقم التعريف الشخصي للجهاز للمتابعة."</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"أدخِل كلمة مرور الجهاز للمتابعة."</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"رقم تعريف شخصي خاطئ"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"كلمة مرور خاطئة"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"النقش غير صحيح."</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"العرض حسب التطبيقات"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"العرض حسب الأنظمة"</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">"قد يظهر عند الاستخدام الأول أنه تم تفريغ البطارية وشحنها عدة مرات بسبب فحوصات الجودة."</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"إحصاءات العمليات"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"الإحصائيات التقنية حول العمليات الجارية"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"استخدام الذاكرة"</string>
@@ -2703,8 +2715,8 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"هل تريد حذف نشاط وضع الضيف؟"</string>
     <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="8300355036005240911">"السماح للمستخدِم الضيف باستخدام الهاتف"</string>
-    <string name="enable_guest_calling_summary" msgid="4748224917641204782">"مشاركة سجلّ المكالمات مع المستخدِم الضيف"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"السماح للضيف بإجراء مكالمات هاتفية"</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>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"‏شبكة، حالة شبكة الجوّال، حالة الخدمة، قوة الإشارة، نوع شبكة الجوّال، التجوال، معرّف ICCID، معرّف بطاقة SIM المضمنة (EID)"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"‏معرّف بطاقة SIM المضمنة (EID)"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"رقم تسلسلي، إصدار الجهاز"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"معلومات البطارية، تاريخ التصنيع، عدد مرات تفريغ البطارية وشحنها، أول استخدام"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"‏مستوى رمز تصحيح أمان android، إصدار النطاق الأساسي، إصدار النواة"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"المظهر، الإضاءة، الوضع المُعتِم، حساسية الضوء، رهاب الضوء، تعتيم، جعله داكنًا، الوضع المُعتِم، الصداع الشقِّي"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"المظهر الداكن"</string>
@@ -3855,14 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"الإعداد التلقائي للجهاز"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"تعذّر تطبيق الطبقة المتراكبة."</string>
     <string name="special_access" msgid="1767980727423395147">"أذونات خاصة للتطبيقات"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="zero">يمكن لـ <xliff:g id="COUNT">%d</xliff:g> تطبيق استخدام البيانات بدون قيود.</item>
-      <item quantity="two">يمكن لتطبيقين (<xliff:g id="COUNT">%d</xliff:g>) استخدام البيانات بدون قيود.</item>
-      <item quantity="few">يمكن لـ <xliff:g id="COUNT">%d</xliff:g> تطبيقات استخدام البيانات بدون قيود.</item>
-      <item quantity="many">يمكن لـ <xliff:g id="COUNT">%d</xliff:g> تطبيقًا استخدام البيانات بدون قيود.</item>
-      <item quantity="other">يمكن لـ <xliff:g id="COUNT">%d</xliff:g> تطبيق استخدام البيانات بدون قيود.</item>
-      <item quantity="one">يمكن لتطبيق واحد استخدام البيانات بدون قيود.</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"الاطّلاع على المزيد"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"المهام الطويلة في الخلفية"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"السماح بالمهام الطويلة المدى في الخلفية"</string>
@@ -4027,7 +4032,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>
@@ -4047,7 +4052,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>
@@ -4150,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"التبديل بين تغييرات توافق التطبيقات"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"التغييرات التي يتم تفعيلها تلقائيًا"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"التغييرات التي يتم إيقافها تلقائيًا"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"ما مِن تطبيقات متاحة"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"يمكن تعديل تغييرات التوافق فقط للتطبيقات التي تتيح تصحيح الأخطاء فيها. ما عليك سوى تثبيت تطبيق يمكن تصحيح الأخطاء فيه، ثم إعادة المحاولة."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"يعتمد على إعداد آخر"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"الحساب"</string>
@@ -4672,7 +4676,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"إيقاف القيود المفروضة على العمليات الثانوية"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"إيقاف القيود المفروضة على استخدام موارد النظام لعمليات التطبيق الثانوية"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"فرض تفعيل دور \"الملاحظات\""</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"تفعيل عمليات دمج نظام تدوين الملاحظات من خلال دور \"الملاحظات\"، بدون حاجة لاتّخاذ أي إجراء إذا سبق وفعَّلت دور \"الملاحظات\""</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"‏يؤدي هذا الإجراء إلى إتاحة عمليات دمج نظام تدوين الملاحظات من خلال الدور Notes (تدوين الملاحظات). إذا كان قد سبق وتم تفعيل الدور Notes (تدوين الملاحظات)، لن يكون لهذا الإجراء أي تأثير. يتطلّب تنفيذ هذا الإجراء إعادة التشغيل."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"البث"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"بث تطبيق <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"يمكنك الاستماع إلى محتوى يتم بثّه بالقرب منك."</string>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index e2ade50..22572169 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"ব্লুটুথ অন কৰা হ’ল"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"আটাইবোৰ চাওক"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"ষ্টাইলাছ"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"ডিফ’ল্ট টোকা লোৱা এপ্‌"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"টেইল বুটাম টিপা"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (কৰ্মস্থানৰ প্ৰ’ফাইল)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"উষ্ণতা"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"সপ্তাহৰ প্ৰথম দিন"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"সংখ্যাৰ অগ্ৰাধিকাৰ"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"এপৰ ডিফ’ল্ট ছেটিং ব্যৱহাৰ কৰক"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"ডিফ’ল্ট ব্যৱহাৰ কৰক"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"চেলছিয়াছ (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"ফাৰেনহাইট (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"দেওবাৰ"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"কাৰ্ণেলৰ সংস্কৰণ"</string>
     <string name="build_number" msgid="9009733242117579826">"বিল্ড নম্বৰ"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play ছিষ্টেম আপডে’ট"</string>
+    <string name="battery_info" msgid="7873528123969546728">"বেটাৰীৰ তথ্য"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"উপলব্ধ নহয়"</string>
     <string name="storage_settings" msgid="7472188817781592677">"ষ্ট’ৰেজ"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"ষ্ট’ৰেজ আৰু কেশ্ব"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"ব্লুটুথৰ ঠিকনা"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"ক্ৰমিক নম্বৰ"</string>
     <string name="status_up_time" msgid="1274778533719495438">"চলি থকা সময়"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"নিৰ্মাণ কৰাৰ তাৰিখ"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"প্ৰথম ব্যৱহাৰ কৰাৰ তাৰিখ"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"চক্ৰৰ গণনা"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"উপলব্ধ নহয়"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"গণনা কৰি থকা হৈছে…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"নতুন নাম দিয়ক"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"সংলগ্ন কৰক"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"এইটোৱে ব্লুটুথ আৰু ৱাই-ফাইৰ আটাইবোৰ ছেটিং ৰিছেট কৰিব। আপুনি এই কাৰ্য আনডু কৰিব নোৱাৰে।"</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"ৰিছেট কৰক"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ব্লুটুথ আৰু ৱাই-ফাই ৰিছেট কৰা হৈছে"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"মচক"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"ই-ছিমসমূহ মচক"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"ই কোনো ম’বাইল সেৱাৰ আঁচনি বাতিল নকৰে। সলনি কৰা ছিম ডাউনল’ড কৰিবলৈ আপোনাৰ বাহকৰ সৈতে যোগাযোগ কৰক।"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"ছেটিং ৰিছেট কৰক"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"এই ডিভাইচটো আনলক কৰিবলৈ আৰ্হি ব্যৱহাৰ কৰক"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"এই ডিভাইচটো আনলক কৰিবলৈ পিন ব্যৱহাৰ কৰক"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"এই ডিভাইচটো আনলক কৰিবলৈ পাছৱৰ্ড ব্যৱহাৰ কৰক"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"আৰ্হি সত্যাপন কৰক"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"পিনটো সত্যাপন কৰক"</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">"অব্যাহত ৰাখিবলৈ আপোনাৰ ডিভাইচৰ পিনটো দিয়ক"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"অব্যাহত ৰাখিবলৈ আপোনাৰ ডিভাইচৰ পাছৱৰ্ডটো দিয়ক"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"ভুল পিন"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"ভুল পাছৱৰ্ড"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"ভুল আৰ্হি"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"এপ্‌ অনুসৰি চাওক"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"ছিষ্টেম অনুসৰি চাওক"</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">"শ্বিপিং কৰাৰ আগতে কৰা গুণগত মান সম্পৰ্কীয় নিৰীক্ষণৰ কাৰণে প্ৰথম ব্যৱহাৰত চক্ৰৰ পৰিমাণটো শূন্য নহ’বও পাৰে"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"প্ৰক্ৰিয়া-বিষয়ক পৰিসংখ্যা"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"চলি থকা প্ৰক্ৰিয়াসমূহৰ বিষয়ে কাৰিকৰী পৰিসংখ্যা"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"মেম\'ৰিৰ ব্যৱহাৰ"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"অতিথিৰ কাৰ্যকলাপ মচিবনে?"</string>
     <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="8300355036005240911">"অতিথিক ফ’ন ব্যৱহাৰ কৰিবলৈ দিয়ক"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"অতিথিক ফল কল কৰিবলৈ অনুমতি দিয়ক"</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>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"নেটৱৰ্ক, ম’বাইল নেটৱৰ্কৰ স্থিতি, সেৱাৰ স্থিতি, ছিগনেলৰ ক্ষমতা, ম’বাইল নেটৱৰ্কৰ প্ৰকাৰ, ৰ’মিং, ICCID, EID"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"ক্ৰমিক নম্বৰ, হাৰ্ডৱেৰৰ সংস্কৰণ"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"বেটাৰীৰ তথ্য, নিৰ্মাণ কৰাৰ তাৰিখ, চক্ৰৰ গণনা, প্ৰথম ব্যৱহাৰ"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"androidৰ সুৰক্ষা পেটচ্চ স্তৰ, বেইছবেণ্ড সংস্কৰণ, কাৰ্ণেল সংস্কৰণ"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"থীম, পাতল, গাঢ়, ম’ড, পোহৰৰ প্ৰতি সংবেদনশীলতা, ফট’ফ’বিয়া, গাঢ় কৰক, গাঢ় কৰা, গাঢ় ম’ড, মাই-গ্ৰেইন"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"গাঢ় ৰঙৰ থীম"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"ডিভাইচৰ ডিফ’ল্ট ছেটিং"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"অ’ভাৰলে’ প্ৰয়োগ কৰিব পৰা নগ’ল"</string>
     <string name="special_access" msgid="1767980727423395147">"বিশেষ এপ্ এক্সেছ"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g>টা এপে সীমাহীন ডেটা ব্যৱহাৰ কৰিব পাৰে</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g>টা এপে সীমাহীন ডেটা ব্যৱহাৰ কৰিব পাৰে</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"অধিক চাওক"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"নেপথ্যৰ দীঘলীয়া কাৰ্য"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"দীৰ্ঘ সময় ধৰি চলি থকা নেপথ্যৰ কাৰ্যসমূহক অনুমতি দিয়ক"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"এপৰ সুসংগতাৰ সালসলনিসমূহ ট’গল কৰক"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"সক্ষম কৰা ডিফ’ল্ট সালসলনিসমূহ"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"অক্ষম কৰি থোৱা ডিফ’ল্ট সালসলনিসমূহ"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"কোনো এপ্‌ উপলব্ধ নহয়"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"এপৰ সুসমতা সম্পৰ্কীয় সালসলনিসমূহ ডিবাগ কৰিব পৰা এপ্‌সমূহৰ বাবেহে সংশোধন কৰিব পাৰি। এটা ডিবাগ কৰিব পৰা এপ্‌ ইনষ্টল কৰক আৰু পুনৰ চেষ্টা কৰক।"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"অইন এটা ছেটিঙৰ ওপৰত নিৰ্ভৰশীল"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"একাউণ্ট"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"শিশুৰ প্ৰক্ৰিয়াৰ প্ৰতিবন্ধকতা অক্ষম কৰক"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"এপৰ শিশুৰ প্ৰক্ৰিয়াসমূহৰ ছিষ্টেমৰ সম্পদৰ ব্যৱহাৰত আৰোপ কৰা প্ৰতিবন্ধকতা অক্ষম কৰক"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"টোকাৰ ভূমিকা জোৰ কৰি সক্ষম কৰক"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"টোকাৰ ভূমিকাৰ জৰিয়তে টোকা লোৱা প্ৰণালীৰ একত্ৰীকৰণ সক্ষম কৰক। যদি টোকাৰ ভূমিকা ইতিমধ্যে সক্ষম কৰা হৈছে, ই একো নকৰে।"</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"টোকাৰ ভূমিকাৰ জৰিয়তে টোকা লোৱা প্ৰণালীৰ একত্ৰীকৰণ সক্ষম কৰক। যদি টোকাৰ ভূমিকা ইতিমধ্যে সক্ষম কৰা হৈছে, তেন্তে ই একো নকৰে। ৰিবুট কৰাৰ প্ৰয়োজন।"</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"সম্প্ৰচাৰ"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> সম্প্ৰচাৰ কৰক"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"আপোনাৰ আশে-পাশে প্লে’ কৰি থোৱা সম্প্ৰচাৰসমূহ শুনক"</string>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 63da324..89af2e1 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth aktivdir"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Hamısına baxın"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Qələm"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Defolt qeyd tətbiqi"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Başlıq düyməsinin basılması"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (İş profili)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Mətn sahələrinə yazın"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Qələmlə düymə basılmalarını nəzərə almayın"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Qələm"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatur"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Həftənin ilk günü"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Rəqəm tərcihləri"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Defolt tətbiqdən istifadə edin"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Defolt ayarı istifadə edin"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Selsi (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Farenheyt (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Bazar"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Kernel versiyası"</string>
     <string name="build_number" msgid="9009733242117579826">"Montaj nömrəsi"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play sistem güncəllənməsi"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Batareya məlumatı"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Əlçatımlı deyil"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Yaddaş"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Yaddaş və keş"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth ünvanı"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Seriya nömrəsi"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Müddəti"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"İstehsal tarixi"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"İlk istifadə tarixi"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Dövrə sayı"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Əlçatan deyil"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Hesablanır..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Adını dəyişdirin"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Taxın"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Bu, bütün Wi‑Fi &amp; Bluetooth ayarlarını sıfırlayacaq. Bu əməliyyatı geri qaytara bilməzsiniz."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Sıfırlayın"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth &amp; Wi‑Fi sıfırlanıb"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Silin"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM\'ləri silin"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Yeni SIM kart endirmək üçün operatorla əlaqə saxlayın. Tarif planınıza təsir etməyəcək."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Ayarları sıfırlayın"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Bu cihazın kilidi model ilə açıla bilər"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Bu cihazın kilidi PIN ilə açıla bilər"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Bu cihazın kilidi parol ilə açıla bilər"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Modeli doğrulayın"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"PIN-i doğrulayın"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Parolu doğrulayın"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Kilidaçma modeli ilə davam edin"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Cihaz PIN-i ilə davam edin"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Cihaz parolu ilə davam edin"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"PIN səhvdir"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Yanlış parol"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Yanlış model"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Tətbiqlər əsasında baxın"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Sistemlər əsasında baxın"</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">"Göndərilməzdən əvvəl keyfiyyət yoxlamaları ilə əlaqədar dövr sayı ilk istifadədə sıfır olmaya bilər"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Proses Statistikası"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"İşləmə prosesləri haqqında çağırış statistikası"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Yaddaş istifadəsi"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Qonaq fəaliyyəti silinsin?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Bu qonaq sessiyasındakı tətbiqlər və data indi silinəcək və hər dəfə qonaq rejimindən çıxanda bütün gələcək qonaq fəaliyyəti silinəcək"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"sil, qonaq, fəaliyyət, sil, data, ziyarətçi, poz"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Qonağa telefondan istifadə etməyə icazə verin"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Qonağa telefon zəngi etmək icazəsi verin"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Zəng tarixçəsi qonaq istifadəçi ilə paylaşılacaq"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Telefon zəngləri &amp; SMS-i aktivləşdir"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Bu istifadəçini admin edin"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"şəbəkə, mobil şəbəkə statusu, xidmət statusu, siqnalın gücü, mobil şəbəkə növü, rominq, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"seriya nömrəsi, proqram versiyası"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"batareya məlumatı, istehsal tarixi, dövrə sayı, ilk istifadə"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"android təhlükəsizliyinin yenilənmə səviyyəsi, baseband versiyası, kernel versiyası"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, işıqlı, qaranlıq, rejim, işığa həssaslıq, fotofobiya, daha qaranlıq et, qaranlıqlaşdır, qaranlıq rejim, miqren"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"tünd tema"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Cihaz defoltu"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Örtük tətbiq edilmədi"</string>
     <string name="special_access" msgid="1767980727423395147">"Xüsusi tətbiq girişi"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> tətbiq məhdudlaşdırılmamış data istifadə edə bilər</item>
-      <item quantity="one">1 tətbiq məhdudlaşdırılmamış data istifadə edə bilər</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Ətraflı məlumat"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Uzun arxa fon tapşırıqları"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Uzun çəkən arxa fon tapşırıqlarına icazə verin"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Tətbiq uyğunluğu ayarlarına dəyişiklik göstərilsin"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Dəyişikliklər standart olaraq aktivdir"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Dəyişikliklər standart olaraq deaktivdir"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Heç bir tətbiq əlçatan deyil"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Yalnız sazlanmaya açıq tətbiqlərin uyğunluq parametrlərinə dəyişiklik mümkündür. Sazlana bilən tətbiq quraşdırıb təkrar cəhd edin."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Digər ayardan aslıdır"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Hesab"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Alt proses məhdudiyyətlərini deaktiv edin"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Tətbiqin alt proseslərinin sistem resursundan istifadə məhdudiyyətlərini deaktiv edin"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Qeydlər funksiyasını məcburi aktivləşdirin"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Qeydlər funksiyası ilə qeydgötürmə üzrə sistem inteqrasiyalarını aktivləşdirin. Qeydlər funksiyası aktivləşdirilibsə, heç nə etməyin."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Qeydlər funksiyası ilə qeydgötürmə üzrə sistem inteqrasiyalarını aktivləşdirin. Qeydlər funksiyası aktivləşdirilibsə, heç nə etməyin. Yenidən yükləmə lazımdır."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Yayım"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> tətbiqini yayımlayın"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Yaxınlığınızda oxudulan yayımları dinləyin"</string>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index efcc305..6b18601 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth je uključen"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Prikaži sve"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Pisaljka"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Podrazumevana aplikacija za beleške"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Pritisak na dugme sa zadnje strane"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (poslovni profil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Pišite u poljima za tekst"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignoriši sva pritiskanja dugmeta pomoću pisaljke"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Pisaljka"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatura"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Prvi dan nedelje"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Podešavanja brojeva"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Koristi podrazumevano u aplikaciji"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Koristi podrazumevano"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celzijus (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Farenhajt (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"nedelja"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Verzija jezgra"</string>
     <string name="build_number" msgid="9009733242117579826">"Broj verzije"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play ažuriranje sistema"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Informacije o bateriji"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Nije dostupno"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Memorijski prostor"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Memorijski prostor i keš"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth adresa"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serijski broj"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Vreme rada"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Datum proizvodnje"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Datum prvog korišćenja"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Broj ciklusa"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Nedostupno"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Proračunavanje..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Preimenuj"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Priključi"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Ovim resetujete sva WiFi i Bluetooth podešavanja. Ne možete da opozovete ovu radnju."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Resetuj"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth i WiFi su resetovani"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Obriši"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Obriši eSIM-ove"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Ovim ne otkazujete nijedan tarifni paket. Da biste preuzeli nove SIM kartice, obratite se mobilnom operateru."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Resetuj podešavanja"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Koristite i šablon za otključavanje uređaja"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Koristite i PIN za otključavanje uređaja"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Koristite i lozinku za otključavanje uređaja"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Verifikujte šablon"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Verifikujte PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Verifikujte lozinku"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Koristite šablon za uređaj da biste nastavili"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Unesite PIN uređaja da biste nastavili"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Unesite lozinku uređaja da biste nastavili"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Pogrešan PIN"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Pogrešna lozinka"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Pogrešan šablon"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Prikaži prema aplikacijama"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Prikaži prema sistemima"</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">"Zbog provere pre slanja broj ciklusa možda neće biti nula pri prvom korišćenju"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Statistika procesa"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Štreberska statistika o aktivnim procesima"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Iskorišćenost memorije"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Izbrisaćete aktivnosti gosta?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Aplikacije i podaci iz ove sesije gosta biće odmah izbrisane, a sve buduće aktivnosti gosta biće izbrisane svaki put kada izađete iz režima gosta"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"izbrisati, gost, aktivnost, ukloniti, podaci, posetilac, obrisati"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Dozvoli gostu da koristi telefon"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Dozvoli da gost upućuje pozive"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Istorija poziva će se deliti sa gostujućim korisnikom"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Uključi telefonske pozive i SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Postavite ovog korisnika za administratora"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"mreža, stanje mobilne mreže, stanje usluge, jačina signala, tip mobilne mreže, roming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"serijski broj, verzija hardvera"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"informacije o bateriji, datum proizvodnje, broj ciklusa, prvo korišćenje"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"nivo bezbednosne zakrpe za android, verzija osnovnog propusnog opsega, verzija jezgra"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, svetla, tamna, režim, osetljivost na svetlost, fotofobija, zatamniti, tamni režim, migrena"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"tamna tema"</string>
@@ -3855,11 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Podrazumevano podešavanje za uređaj"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Primena preklopnog elementa nije uspela"</string>
     <string name="special_access" msgid="1767980727423395147">"Poseban pristup aplikacija"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> aplikacija može da koristi neograničenu količinu podataka</item>
-      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> aplikacije mogu da koriste neograničenu količinu podataka</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplikacija može da koristi neograničenu količinu podataka</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Prikaži još"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Dugotrajni zadaci u pozadini"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Dozvoli dugotrajne zadatke u pozadini"</string>
@@ -4147,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Uključite/isključite promene kompatibilnosti aplikacije"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Podrazumevane omogućene promene"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Podrazumevane onemogućene promene"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Nema aplikacija"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Promene kompatibilnosti aplikacija mogu da se izmene samo za aplikacije sa otklonjivim greškama. Instalirajte aplikaciju sa otklonjivim greškama i probajte ponovo."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Zavisi od drugog podešavanja"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Nalog"</string>
@@ -4666,7 +4673,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Onemogući ograničenja za podređene procese"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Onemogućite ograničenja korišćenja resursa sistema za podređene procese aplikacije"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Prinudno omogući ulogu Beleške"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Omogućite integracije pravljenja beležaka u sistemu pomoću uloge Beleške. Ako je uloga Beleške već omogućena, ne preduzimajte ništa."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Omogućite integracije pravljenja beležaka u sistemu pomoću uloge Beleške. Ako je uloga Beleške već omogućena, ne preduzimajte ništa. Zahteva restartovanje."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Emitujte"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Emitujte <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Slušajte emitovanja koja se puštaju u blizini"</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 8a9f7a2..24a1be7 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth уключаны"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Паказаць усе"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Стылус"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Стандартныя праграмы для стварэння нататак"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Пры націсканні на кнопку пяра"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Працоўны профіль)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Тэмпература"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Першы дзень тыдня"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Налады лічбаў"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Выкарыстоўваць стандартную праграму"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Выкарыстоўваць стандартны параметр"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Градус Цэльсія (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Градус Фарэнгейта (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Нядзеля"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Версія ядра"</string>
     <string name="build_number" msgid="9009733242117579826">"Нумар зборкі"</string>
     <string name="module_version" msgid="1787518340082046658">"Абнаўленне сістэмы Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Інфармацыя пра акумулятар"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Недаступна"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Сховішча"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Сховішча і кэш"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Адрас Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Серыйны нумар"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Час працы пасля апошняй загрузкі"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Дата вырабу"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Дата першага выкарыстання"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Колькасць цыклаў"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Недаступна"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Вядзецца падлік..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Перайменаваць"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Падключыць"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Будуць скінуты ўсе налады Wi‑Fi і Bluetooth. Гэта дзеянне нельга адрабіць."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Скінуць"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Налады Bluetooth і Wi‑Fi скінуты"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Сцерці даныя"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Сцерці eSIM-карты"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Гэта дзеянне не прывядзе да скасавання тарыфных планаў. Каб спампаваць новыя SIM-карты, звярніцеся да аператара."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Скінуць налады"</string>
@@ -1458,6 +1463,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>
+    <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">"Няправiльны пароль"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Няправільны ўзор"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Паказаць выкарыстанне праграмамі"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Паказаць выкарыстанне сістэмамі"</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">"У сувязі з праверкай якасці перад адпраўкай колькасць цыклаў можа не быць нулявой пры першым выкарыстанні"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Статыстыка працэсаў"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Падрабязная статыстыка запушчаных працэсаў"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Аб\'ём выкарыстання памяці"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Выдаліць звесткі пра дзеянні госця?"</string>
     <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="8300355036005240911">"Дазволіць гасцям карыстацца тэлефонам"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Дазволіць госцю ажыццяўляць выклікі"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Госць атрымае доступ да гісторыі выклікаў."</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Уключыць тэлефонныя выклікі і SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Зрабіць гэтага карыстальніка адміністратарам"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"сетка, стан мабільнай сеткі, даступнасць мабільнай сеткі, магутнасць сігналу, тып мабільнай сеткі, роўмінг, ICCID, EID"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"серыйны нумар, версія апаратнага забеспячэння"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"інфармацыя пра акумулятар, дата вырабу, колькасць цыклаў, дата першага выкарыстання"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"узровень патчу бяспекі android, версія дыяпазону, версія ядра"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"тэма, святло, цёмны, рэжым, адчувальнасць да святла, фотафобія, зрабіць цямнейшым, зацямніць, цёмны рэжым, мігрэнь"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"цёмная тэма"</string>
@@ -3855,12 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Стандартная налада"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Не ўдалося ўжыць накладанне на экран"</string>
     <string name="special_access" msgid="1767980727423395147">"Спецыяльны доступ для праграм"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> праграма можа выкарыстоўваць даныя без абмежаванняў</item>
-      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> праграмы могуць выкарыстоўваць даныя без абмежаванняў</item>
-      <item quantity="many"><xliff:g id="COUNT">%d</xliff:g> праграм могуць выкарыстоўваць даныя без абмежаванняў</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> праграмы могуць выкарыстоўваць даныя без абмежаванняў</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Яшчэ"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Працяглыя фонавыя задачы"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Дазволіць выкананне працяглых фонавых задач"</string>
@@ -4148,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Пераключыць на змяненні ў сумяшчальнасці праграм"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Стандартныя ўключаныя змяненні"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Стандартныя адключаныя змяненні"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Праграмы недаступныя"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Змяненні ў сумяшчальнасці праграм могуць быць прыменены толькі да праграм з магчымасцю адладкі. Усталюйце такую праграму і паўтарыце спробу."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Залежыць ад іншай налады"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Уліковы запіс"</string>
@@ -4668,7 +4674,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Адключыць абмежаванні для даччыных працэсаў"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Адключыць абмежаванні на выкарыстанне рэсурсаў сістэмы даччынымі працэсамі праграмы"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Прымусовае ўключэнне праграмы для нататак"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Уключае інтэграцыю сістэмы стварэння нататак з праграмай для нататак. Калі праграма для нататак ужо ўключана, нічога не адбываецца."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Дазволіць стварэнне нататак праз ролю \"Нататкі\". Калі гэта роля ўжо выкарыстоўваецца, нічога не адбудзецца. Патрабуецца перазагрузка."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Трансляцыя"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Трансліраваць праграму \"<xliff:g id="CURRENTAPP">%1$s</xliff:g>\""</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Слухайце трансляцыі, якія прайграюцца паблізу ад вас"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 2ce743b..6b4f9f2 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Функцията за Bluetooth е включена"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Преглед на всички"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Писалка"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Основно приложение за бележки"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Натискане на бутона в горната част"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (служебен потребителски профил)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Температура"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Първи ден от седмицата"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Предпочитания за числата"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Ползване на стандартната настройка за приложението"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Използване на настройките по подразбиране"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Целзий (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Фаренхайт (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"неделя"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Версия на ядрото"</string>
     <string name="build_number" msgid="9009733242117579826">"Номер на версията"</string>
     <string name="module_version" msgid="1787518340082046658">"Системна актуализация на Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Информация за батерията"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Не е налично"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Хранилище"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Хранилище и кеш"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Адрес на Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Сериен номер"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Време на активност"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Дата на производство"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Дата на първото използване"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Брой цикли"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Не е налице"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Изчислява се..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Преименуване"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Свързване"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Това действие ще нулира настройките за Wi‑Fi и Bluetooth. То не може да бъде отменено."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Нулиране"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Настройките за Bluetooth и Wi‑Fi са нулирани"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Изтриване на данните"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Изтриване на електронните SIM карти"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Плановете за мобилни услуги няма да бъдат анулирани. Обърнете се към оператора си, за да изтеглите резервни SIM карти."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Нулиране на настройките"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Отключване на това у-во и с фигурата"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Отключване на това у-во и с ПИН кода"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Отключване на това у-во и с паролата"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Потвърждаване на фигурата"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Потвърждаване на ПИН кода"</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">"Въведете ПИН кода за устройството си, за да продължите"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Въведете паролата за устройството си, за да продължите"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Грешен ПИН код"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Грешна парола"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Грешна фигура"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Преглед по приложения"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Преглед по системи"</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">"Тъй като преди изпращане се прави проверка на качеството, възможно е при първото ползване броят цикли да не е нула"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Статистически данни за процесите"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Подробни статистически данни за изпълняващите се процеси"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Използвана памет"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Изтриване на активността като гост?"</string>
     <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="8300355036005240911">"Разрешаване на гост да използва телефона"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Гостите да извършват тел. обаждания"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Историята на обажданията ще бъде споделена с госта"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Включване на тел. обаждания и SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Задаване на потребителя като администратор"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"мрежа, състояние на мобилната мрежа, състояние на услугата, сила на сигнала, тип мобилна мрежа, роуминг, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"сериен номер, версия на хардуера"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"информация за батерията, дата на производство, брой цикли, първо използване"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"ниво на корекцията на сигурността под Android, версия на радиомодула, версия на ядрото"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"тема, светла, тъмна, режим, чувствителност към светлина, фотофобия, намаляване на яркостта, потъмняване, тъмен режим, мигрена"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"тъмна тема"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Стандартна настройка за устройството"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Прилагането на наслагване не бе успешно"</string>
     <string name="special_access" msgid="1767980727423395147">"Специален достъп за приложения"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> приложения могат да използват неограничено количество данни</item>
-      <item quantity="one">1 приложение може да използва неограничено количество данни</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Вижте още"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Продълж. задачи на заден план"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Разрешаване на продълж. задачи на заден план"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Включване/изключване на промените в съвместимостта на приложенията"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Промени, свързани с активирането по подразбиране"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Промени, свързани с деактивирането по подразбиране"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Няма приложения"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Промени в съвместимостта на приложенията могат да се извършват само за приложения с възможност за отстраняване на грешки. Инсталирайте такова и опитайте отново."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Зависи от друга настройка"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Профил"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Деактивиране на ограниченията за дъщерните процеси"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Деактивиране на ограниченията за използването на системните ресурси за дъщерните процеси на приложението"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Принудително активиране на ролята на бележките"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Активиране на системните интегрирания за водене на бележки чрез ролята на бележките. Ако тази роля вече е активирана, не се извършва нищо."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Активиране на системните интегрирания за водене на бележки чрез ролята на бележките. Ако тази роля вече е активирана, не се извършва нищо. Изисква се рестартиране."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Предаване"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Предаване на <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Слушайте предавания, които се възпроизвеждат в близост"</string>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 388ee23..9a1e32f 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"ব্লুটুথ চালু হয়েছে"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"সবগুলি দেখুন"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"স্টাইলাস"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"নোট নেওয়ার ডিফল্ট অ্যাপ"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"টেল বোতাম প্রেস করুন"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (অফিস প্রোফাইল)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"তাপমাত্রা"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"সপ্তাহের প্রথম দিন"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"নম্বর সংক্রান্ত পছন্দ"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"অ্যাপের ডিফল্ট সেটিং ব্যবহার করুন"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"ডিফল্ট ব্যবহার করুন"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"সেলসিয়াস(°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"ফারেনহাইট(°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"রবিবার"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"কার্নেল ভার্সন"</string>
     <string name="build_number" msgid="9009733242117579826">"বিল্ড নম্বর"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play সিস্টেম আপডেট"</string>
+    <string name="battery_info" msgid="7873528123969546728">"ব্যাটারি সংক্রান্ত তথ্য"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"উপলভ্য নয়"</string>
     <string name="storage_settings" msgid="7472188817781592677">"স্টোরেজ"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"স্টোরেজ ও ক্যাশে"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"ব্লুটুথ অ্যাড্রেস"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"সিরিয়াল নম্বর"</string>
     <string name="status_up_time" msgid="1274778533719495438">"আপ টাইম"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"তৈরির তারিখ"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"ব্যবহারের প্রথম তারিখ"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"সাইকেল কাউন্ট"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"উপলভ্য নেই"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"গণনা করা হচ্ছে..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"নাম বদলান"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"মাউন্ট করা"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"এর ফলে সব ওয়াই-ফাই ও ব্লুটুথ সেটিংস রিসেট হয়ে যাবে। এই অ্যাকশন আর আগের অবস্থায় ফিরিয়ে আনতে পারবেন না।"</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"রিসেট করুন"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ব্লুটুথ ও ওয়াই-ফাই রিসেট করা হয়েছে"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"মুছুন"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"ই-সিম মুছুন"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"এটি মোবাইল পরিষেবার কোনও প্ল্যান বাতিল করবে না। পরিবর্ত সিম ডাউনলোড করতে আপনার পরিষেবা প্রদানকারীর সাথে যোগাযোগ করুন।"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"সেটিংস রিসেট করুন"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"এই ডিভাইস আনলক করতে প্যাটার্নও ব্যবহার করুন"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"এই ডিভাইস আনলক করতে পিনও ব্যবহার করুন"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"এই ডিভাইস আনলক করতে পাসওয়ার্ডও ব্যবহার করুন"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"প্যাটার্ন যাচাই করুন"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"পিন যাচাই করুন"</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">"চালিয়ে যেতে আপনার ডিভাইসের পিন লিখুন"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"চালিয়ে যেতে আপনার ডিভাইসের পাসওয়ার্ড লিখুন"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"ভুল পিন"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"ভুল পাসওয়ার্ড"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"ভুল প্যাটার্ন"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"অ্যাপ অনুযায়ী দেখুন"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"সিস্টেম অনুযায়ী দেখুন"</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">"শিপিংয়ের আগে কোয়ালিটি সংক্রান্ত পরীক্ষার কারণে, প্রথম ব্যবহারে সময় সাইকেল কাউন্ট শূন্য নাও হতে পারে"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"প্রক্রিয়ার পরিসংখ্যান"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"চলমান প্রক্রিয়াগুলি গিকি পরিসংখ্যান"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"মেমরি ব্যবহৃত"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"অতিথি অ্যাক্টিভিটি মুছবেন?"</string>
     <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="8300355036005240911">"অতিথিকে ফোন ব্যবহার করার অনুমতি দিন"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"গেস্টদের ফোন কল করতে দিন"</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>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"নেটওয়ার্ক, মোবাইল নেটওয়ার্কের অবস্থা, পরিষেবার অবস্থা, সিগন্যালের ক্ষমতা, মোবাইল নেটওয়ার্কের ধরন, রোমিং, ICCID, EID"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"সিরিয়াল নম্বর, হার্ডওয়্যার ভার্সন"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"ব্যাটারি সংক্রান্ত তথ্য, তৈরির তারিখ, সাইকেল কাউন্ট, প্রথম ব্যবহার"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"Android নিরাপত্তা প্যাচের স্তর, বেসব্যান্ড ভার্সন, কার্নেল ভার্সন"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"থিম, লাইট, ডার্ক মোড. লাইট সেন্সিটিভিটি, ফোটোফোবিয়া, আলো কমানো, অন্ধকার করা, ডার্ক মোড, মাইগ্রেন"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"গাঢ় থিম"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"ডিভাইসের ডিফল্ট"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"ওভারলে প্রয়োগ করা যায়নি"</string>
     <string name="special_access" msgid="1767980727423395147">"বিশেষ অ্যাপ অ্যাক্সেস"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g>টি অ্যাপ অপরিমিত ডেটা ব্যবহার করতে পারে</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g>টি অ্যাপ অপরিমিত ডেটা ব্যবহার করতে পারে</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"আরও দেখুন"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"ব্যাকগ্রাউন্ডে দীর্ঘ চলা টাস্ক"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"ব্যাকগ্রাউন্ডে দীর্ঘ চলা টাস্ককে অনুমতি দেওয়া"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"অ্যাপ মানানসই করা সম্পর্কিত পরিবর্তন টগল করুন"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"ডিফল্ট হিসেবে চালু করা পরিবর্তন"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"ডিফল্ট হিসেবে বন্ধ করে দেওয়া পরিবর্তন"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"অ্যাপ উপলভ্য নেই"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"অ্যাপ মানানসই করা সম্পর্কিত পরিবর্তন শুধুমাত্র ডিবাগ করা যাবে এমন অ্যাপগুলির ক্ষেত্রে প্রযোজ্য। ডিবাগ করা যাবে এমন একটি অ্যাপ ইনস্টল করে আবার চেষ্টা করুন।"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"অন্য একটি সেটিং-এর উপর নির্ভর করে"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"অ্যাকাউন্ট"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"চাইল্ড প্রসেস সংক্রান্ত বিধিনিষেধ বন্ধ করুন"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"অ্যাপের চাইল্ড প্রসেসের ক্ষেত্রে সিস্টেম রিসোর্স ব্যবহার সংক্রান্ত বিধিনিষেধ বন্ধ করুন"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Notes-এর কার্যকারিতার সংগ্রহ চালু করুন"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Notes-এর কার্যকারিতার সংগ্রহের মাধ্যমে নোট নেওয়ার সিস্টেমের ইন্টিগ্রেশন চালু করুন। Notes-এর কার্যকারিতার সংগ্রহ আগে থেকেই চালু করা থাকলে, কিছু করার প্রয়োজন নেই।"</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Notes-এর কার্যকারিতার মাধ্যমে নোট নেওয়া সংক্রান্ত সিস্টেমের ইন্টিগ্রেশন চালু করুন। Notes-এর কার্যকারিতার সংগ্রহ আগে থেকেই চালু করা থাকলে, কিছু করার প্রয়োজন নেই। রিবুট করা প্রয়োজন।"</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"ব্রডকাস্ট"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> ব্রডকাস্ট করুন"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"আপনার কাছে চলছে এমন ব্রডকাস্ট শুনুন"</string>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index bda68fb..47e6b21 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth je uključen"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Prikaži sve"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Pisaljka"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Zadana aplikacija za bilješke"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Pritiskanje gornjeg dugmeta"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (radni profil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Pisanje u poljima za tekst"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignoriranje svih pritisaka dugmeta za pisaljku"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Pisaljka"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatura"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Prvi dan u sedmici"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Postavke brojeva"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Koristite zadanu postavku aplikacije"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Koristi zadanu"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celzijus (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Farenhajt (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"nedjelja"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Osnovna verzija"</string>
     <string name="build_number" msgid="9009733242117579826">"Broj verzije"</string>
     <string name="module_version" msgid="1787518340082046658">"Ažuriranje sistema Google Playa"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Informacije o bateriji"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Nije dostupno"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Pohrana"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Pohrana i keš memorija"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth adresa"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serijski broj"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Vrijeme aktivnosti"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Datum proizvodnje"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Datum prve upotrebe"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Broj ciklusa"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Nedostupno"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Računanje…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Promijeni naziv"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Montiraj"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Ovo će vratiti sve zadane postavke WiFi-ja i Bluetootha. Ovu radnju ne možete opozvati."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Vrati na zadano"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth i WiFi su vraćeni na zadano"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Izbriši"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Potpuno izbriši eSIM-ove"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Ovim se neće otkazati paketi mobilnih usluga. Da preuzmete zamjenske SIM-ove, kontaktirajte svog mobilnog operatera."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Vrati postavke na zadano"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Koristi i uzorak za otključavanje uređaja"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Koristi i PIN za otključavanje uređaja"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Koristi i lozinku za otključavanje uređaja"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Potvrdite uzorak"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Potvrdite PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Potvrdite lozinku"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Unesite uzorak za uređaj da nastavite"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Unesite PIN za uređaj da nastavite"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Unesite lozinku za uređaj da nastavite"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Pogrešan PIN"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Pogrešna lozinka"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Pogrešan uzorak"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Pregled prema aplikacijama"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Pregled prema sistemima"</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">"Zbog pregleda kvalitete prije isporuke, broj ciklusa možda neće biti nula prilikom prvog korištenja"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Statistika procesa"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Geeky statistike o pokrenutim procesima"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Iskorištena memorija"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Izbrisati aktivnost gosta?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Aplikacije i podaci iz ove sesije gosta će se izbrisati sada, a sve buduće aktivnosti gosta će se izbrisati svaki put kada napustite način rada za gosta"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"izbrisati, gost, aktivnost, ukloniti, podaci, posjetilac, brisanje"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Dozvoli gostu da koristi telefon"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Dozvoli gostima da upućuju tel. pozive"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Historija poziva će se dijeliti s gostom"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Uključi telefonske pozive i SMS-ove"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Postavi korisnika kao administratora"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"mreža, stanje mobilne mreže, stanje usluge, jačina signala, vrsta mobilne mreže, roming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"serijski broj, verzija hardvera"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"informacije o bateriji, datum proizvodnje, broj ciklusa, prva upotreba"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"nivo sigurnosne zakrpe za android, verzija nemoduliranog signala, osnovna verzija"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, svijetlo, tamno, način rada, osjetljivost na svjetlost, fotofobija, zatamniti, potamniti, tamni način rada, migrena"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"tamna tema"</string>
@@ -3855,11 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Zadana postavka uređaja"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Primjena preklapanja nije uspjela"</string>
     <string name="special_access" msgid="1767980727423395147">"Poseban pristup za aplikacije"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> aplikacija može koristiti neograničen prijenos podataka</item>
-      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> aplikacije mogu koristiti neograničen prijenos podataka</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplikacija može koristiti neograničen prijenos podataka</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Prikaži više"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Dugi zadaci u pozadini"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Dozvoli dugo izvršavanje zadataka u pozadini"</string>
@@ -4147,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Uključivanje/isključivanje izmjena kompatibilnosti aplikacije"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Zadano omogućene izmjene"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Zadano onemogućene izmjene"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Nema dostupnih apl."</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Promjene kompatibilnosti aplikacije je moguće izmijeniti isključivo kod aplikacija kod kojih je moguće izvršiti otklanjanje grešaka. Instalirajte aplikaciju kod koje je moguće izvršiti otklanjanje grešaka i pokušajte ponovo."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Zavisi od druge postavke"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Račun"</string>
@@ -4666,7 +4673,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Onemogući ograničenja podređenog procesa"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Onemogućite ograničenja u korištenju resursa sistema za podređene procese aplikacije"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Prisilno omogući ulogu Bilješke"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Omogućite integracije sistema za pisanje bilješki putem uloge Bilješke. Ako je uloga Bilješke već omogućena, neće se ništa dogoditi."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Omogućite integracije sistema za pisanje bilješki putem uloge Bilješke. Ako je uloga Bilješke već omogućena, neće se ništa dogoditi. Potrebno je ponovno pokretanje."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Emitirajte"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Emitiraj aplikaciju <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Slušajte emitiranja koja se reproduciraju u vašoj blizini"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 44e58e4..c32c2f2 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"S\'ha activat el Bluetooth"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Mostra-ho tot"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Llapis òptic"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Aplicació de notes predeterminada"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Prem el botó del darrere"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (perfil de treball)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Escriu als camps de text"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Omet la premuda repetida del botó de llapis òptic"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Llapis òptic"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatura"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Primer dia de la setmana"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Preferències de números"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Utilitza la configuració predeterminada de l\'app"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Utilitza l\'opció predeterminada"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Diumenge"</string>
@@ -914,7 +915,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 modifiques 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 canvies 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>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Versió de kernel"</string>
     <string name="build_number" msgid="9009733242117579826">"Número de compilació"</string>
     <string name="module_version" msgid="1787518340082046658">"Actualització del sistema de Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Informació de la bateria"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"No disponible"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Emmagatzematge"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Emmagatzematge i memòria cau"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Adreça de Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Número de sèrie"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Temps actiu"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Data de fabricació"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Data del primer ús"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Nombre de cicles"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"No disponible"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"S\'està calculant..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Canvia el nom"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Activa"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Es restabliran totes les opcions de configuració del Bluetooth i de la Wi‑Fi. Aquesta acció no es pot desfer."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Restableix"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"S\'han restablert el Bluetooth i la Wi‑Fi"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Esborra"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Esborra les eSIM"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Aquesta acció no cancel·larà cap dels plans de serveis mòbils. Per baixar targetes SIM de substitució, contacta amb el teu operador."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Restableix la configuració"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Utilitza el patró per desbloquejar el disp."</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Utilitza el PIN per desbloquejar el disp."</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Utilitza la contrasenya per desbl. el disp."</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Verifica el patró"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Verifica el PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Verifica la contrasenya"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Utilitza el patró del dispositiu per continuar"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Introdueix el PIN del dispositiu per continuar"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Introdueix la contrasenya del dispositiu per continuar"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"PIN incorrecte"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Contrasenya incorrecta"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Patró incorrecte"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Mostra per aplicacions"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Mostra per sistemes"</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">"A causa d\'inspeccions de qualitat prèvies a l\'enviament, és possible que el nombre de cicles no sigui zero en el primer ús"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Estadístiques sobre processos"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Estadístiques sobre els processos en execució"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Ús de la memòria"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Suprimir l\'activitat de convidat?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Les aplicacions i les dades d\'aquesta sessió de convidat se suprimiran ara, i tota l\'activitat de convidat que facis en el futur se suprimirà cada vegada que surtis del mode de convidat"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"suprimir, convidat, activitat, eliminar, dades, visitant, esborrar"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Permet al convidat que utilitzi el telèfon"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Permet fer trucades al convidat"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"L\'historial de trucades es compartirà amb l\'usuari convidat"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Activa les trucades telefòniques i els SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Converteix aquest usuari en administrador"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"xarxa, estat de la xarxa mòbil, estat del servei, intensitat del senyal, tipus de xarxa mòbil, itinerància, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"número de sèrie, versió de maquinari"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"informació de la bateria, data de fabricació, nombre de cicles, primer ús"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"nivell de pedaç de seguretat d\'Android, versió de banda base, versió de kernel"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, llum, fosc, mode, sensibilitat a la llum, fotofòbia, fer més fosc, enfosquir, mode fosc, migranya"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"tema fosc"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Opció predeterminada del dispositiu"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"No s\'ha pogut aplicar la superposició"</string>
     <string name="special_access" msgid="1767980727423395147">"Accés especial d\'aplicacions"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplicacions poden utilitzar dades sense restricció</item>
-      <item quantity="one">1 aplicació pot utilitzar dades sense restricció</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Mostra\'n més"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Tasques llargues en segon pla"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Permet les tasques de llarga durada en segon pla"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Commuta els canvis en la compatibilitat de les aplicacions"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Canvis activats de manera predeterminada"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Canvis desactivats de manera predeterminada"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"No hi ha cap app disponible"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Els canvis en la compatibilitat de les aplicacions només poden modificar-se a les aplicacions depurables. Instal·la una aplicació depurable i torna-ho a provar."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Depèn d\'una altra opció de configuració"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Compte"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Desactiva les restriccions dels processos secundaris"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Desactiva les restriccions de l\'ús dels recursos del sistema dels processos secundaris de les aplicacions"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Força l\'activació del rol Notes"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Activa les integracions del sistema per prendre notes mitjançant el rol Notes. Si aquest rol ja està activat, no fa res."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Activa les integracions dels sistema de presa de notes mitjançant la funció Notes. Si la funció Notes ja està activada, no fa res. Cal reiniciar."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Emissió"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Emet <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Escolta emissions a prop teu"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index de8413b..0b5d5db 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth je zapnuto"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Zobrazit vše"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Dotykové pero"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Výchozí aplikace pro poznámky"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Stisknutí tlačítka dotykového pera"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (pracovní profil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Psát do textových polí"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorovat všechna stisknutí tlačítka na dotykovém peru"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Dotykové pero"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Teplota"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"První den týdne"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Předvolby číslic"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Použít výchozí nastavení aplikace"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Použít výchozí"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Stupně Celsia (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Stupně Fahrenheita (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"neděle"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Verze jádra"</string>
     <string name="build_number" msgid="9009733242117579826">"Číslo sestavení"</string>
     <string name="module_version" msgid="1787518340082046658">"Aktualizace systému Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Informace o baterii"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Nedostupné"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Úložiště"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Úložiště a mezipaměť"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Adresa Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Sériové číslo"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Doba provozu"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Datum výroby"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Datum prvního použití"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Počet cyklů"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Nedostupné"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Výpočet…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Přejmenovat"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Připojit"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Tímto se resetuje veškeré nastavení sítí Wi-Fi a rozhraní Bluetooth. Tuto akci nebude možné vrátit."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Resetovat"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth a Wi-Fi byly resetovány"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Vymazat"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Vymazat eSIM karty"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Tímto krokem nezrušíte mobilní tarif. Pokud chcete stáhnout náhradní SIM karty, obraťte se na svého operátora."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Resetovat nastavení"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"K odemykání zařízení používat i gesto"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"K odemykání zařízení používat i PIN"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"K odemykání zařízení používat i heslo"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Ověřte gesto"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Ověřte PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Ověřte heslo"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Pokud chcete pokračovat, zadejte gesto zařízení"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Pokud chcete pokračovat, zadejte PIN zařízení"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Pokud chcete pokračovat, zadejte heslo zařízení"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Nesprávný kód PIN"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Nesprávné heslo"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Nesprávné gesto"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Zobrazit podle aplikací"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Zobrazit podle systémů"</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">"Vzhledem ke kontrolám kvality před odesláním nemusí být při prvním použití počet cyklů nula"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Statistiky procesů"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Podrobné statistiky běžících procesů"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Využití paměti"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Smazat aktivitu hosta?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Aplikace a data z této relace hosta budou nyní smazány a veškerá budoucí aktivita hostů bude smazána pokaždé, když opustíte režim hosta"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"smazat, host, aktivita, odstranit, data, návštěvník, vymazat"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Povolit hostovi používat telefon"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Povolit hostovi telefonovat"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"S hostem bude sdílena historie hovorů"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Zapnout telefonní hovory a SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Nastavení uživatele jako administrátora"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"síť, stav mobilní sítě, stav služby, síla signálu, typ mobilní sítě, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"sériové číslo, verze hardwaru"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"informace o baterii, datum výroby, počet cyklů, první použití"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"úroveň opravy zabezpečení androidu, verze základního pásma, verze jádra"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"motiv, světlý, tmavý, citlivost na světlo, fotofobie, ztmavit, tmavý režim, migréna"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"tmavý motiv"</string>
@@ -3855,12 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Výchozí nastavení zařízení"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Překrytí se nepodařilo použít"</string>
     <string name="special_access" msgid="1767980727423395147">"Speciální přístup aplikací"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> aplikace mohou využívat neomezená data</item>
-      <item quantity="many"><xliff:g id="COUNT">%d</xliff:g> aplikace může využívat neomezená data</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplikací může využívat neomezená data</item>
-      <item quantity="one">1 aplikace může využívat neomezená data</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Zobrazit více"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Dlouhé úkoly na pozadí"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Povolte dlouhé úkoly na pozadí"</string>
@@ -4148,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Přepínat změny kompatibility aplikací"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Změny, které jsou ve výchozím nastavení povoleny"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Změny, které jsou ve výchozím nastavení zakázány"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Žádné aplikace"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Kompatibilitu lze upravovat pouze u laditelných aplikací. Nainstalujte laditelnou aplikaci a zkuste to znovu."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Závisí na jiném nastavení"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Účet"</string>
@@ -4668,7 +4674,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Deaktivace omezení podřízených procesů"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Deaktivovat omezení využití zdrojů systému podřízenými procesy aplikace"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Vynutit aktivování role Poznámky"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Aktivovat integrace systému psaní poznámek prostřednictvím role Poznámky. Pokud je role Poznámky už aktivována, nic se nestane."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Aktivovat integrace systému psaní poznámek prostřednictvím role Poznámky. Pokud je role Poznámky už aktivována, nic se nestane. Vyžaduje restart."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Vysílání"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Vysílat v aplikaci <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Poslouchejte vysílání v okolí"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index f75f0e7..b48195b 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth er aktiveret"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Se alle"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Styluspen"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Standardapp til notetagning"</string>
+    <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_connected_devices_title" msgid="2823967577941359812">"Styluspen"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatur"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Ugens første dag"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Præferencer for tal"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Brug appens standard"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Brug standard"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Søndag"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Kernesystem"</string>
     <string name="build_number" msgid="9009733242117579826">"Buildnummer"</string>
     <string name="module_version" msgid="1787518340082046658">"System­opdatering til Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Batterioplysninger"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Ikke tilgængelig"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Lagerplads"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Lagerplads og cache"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth-adresse"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serienummer"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Oppetid"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Produktionsdato"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Dato for ibrugtagning"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Antal cyklusser"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Ikke tilgængelig"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Beregner..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Omdøb"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Monter"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Denne handling nulstiller alle indstillinger for Wi‑Fi og Bluetooth. Denne handling kan ikke fortrydes."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Nulstil"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth og Wi‑Fi er blevet nulstillet"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Ryd"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Slet eSIM-kort"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Mobilabonnementer opsiges ikke. Kontakt dit mobilselskab for at downloade nye SIM-kort."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Nulstil indstillinger"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Brug også mønster til at låse enheden op"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Brug også pinkode til at låse enheden op"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Brug også adgangskode til at låse enheden op"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Verificer mønster"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Verificer pinkode"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Verificer adgangskode"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Brug mønsteret til din enhed for at fortsætte"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Angiv pinkoden til din enhed for at fortsætte"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Angiv adgangskoden til din enhed for at fortsætte"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Forkert pinkode"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Forkert adgangskode"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Forkert mønster"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Vis efter apps"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Vis efter systemer"</string>
     <string name="battery_usage_less_than_percent" msgid="5873099028895001082">"Mere end <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="battery_cycle_count_footer" msgid="3642121059800373545">"På grund af kvalitetstjek inden afsending er cyklusantallet muligvis ikke nul, første gang du bruger enheden"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Processtatistikker"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Nørdede statistikker om kørende processer"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"hukommelse brugt"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Vil du slette gæsteaktiviteten?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Apps og data fra denne gæstesession slettes nu, og al fremtidig gæsteaktivitet slettes, hver gang du afslutter gæstetilstand"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"slet, gæst, aktivitet, fjern, data, besøgende, ryd"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Giv gæsten lov til at bruge telefonen"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Tillad, at gæsten foretager telefonopkald"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Opkaldshistorikken deles med gæstebrugeren"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Aktivér telefonopkald og sms"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Tildel denne bruger administratorrettigheder"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"netværk, mobilnetværkstilstand, tjenestetilstand, signalstyrke, mobilnetværkstype, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"serienummer, hardwareversion"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"batterioplysninger, produktionsdato, antal cyklusser, ibrugtagning"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"seneste sikkerhedsopdatering i Android, basebandversion, kernesystem"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, lyst, mørkt, tilstand, lysfølsomhed, fotofobi, gør mørkere, mørkere, mørk tilstand, migræne"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"mørkt tema"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Enhedens standardindstilling"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Overlejringen kunne ikke anvendes"</string>
     <string name="special_access" msgid="1767980727423395147">"Særlig appadgang"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> app kan anvende ubegrænset data</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apps kan anvende ubegrænset data</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Se mere"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Lange baggrundsopgaver"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Tillad længerevarende opgaver i baggrunden"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Skift appens kompatibilitetsændringer"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Ændringer i standardvalg for aktiveret"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Ændringer i standardvalg for deaktiveret"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Der er ingen apps"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Det er kun apps med fejlretningsmuligheder, som kan få ændret appkompatibiliteten. Installer en app med fejlretningsmuligheder, og prøv igen."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Er afhængig af en anden indstilling"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Konto"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Deaktiver begrænsningerne for underprocesser"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Deaktiver begrænsningerne for brugen af systemets ressourcer på underprocesser i appen"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Gennemtving aktivering af rollen notetagning"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Aktivér systemintegrationer til notetagning via rollen notetagning. Hvis rollen notetagning allerede er aktiveret, sker der ikke noget."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Aktivér systemintegrationer til notetagning via rollen notetagning. Hvis rollen notetagning allerede er aktiveret, sker der ikke noget. Kræver genstart."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Udsendelse"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Udsend <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Lyt til udsendelser, der afspilles i nærheden"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index f7e9272..ea6b3d1 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth aktiviert"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Alle anzeigen"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Eingabestift"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Standard-Notizen-App"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Drücken der Eingabestifttaste"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Arbeitsprofil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Textfelder ausfüllen"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Alle Schaltflächenaktivierungen durch Eingabestift ignorieren"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Eingabestift"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatur"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Erster Tag der Woche"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Einstellungen für Zahlen"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Standard-App-Einstellungen verwenden"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Standard verwenden"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Sonntag"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Kernel-Version"</string>
     <string name="build_number" msgid="9009733242117579826">"Build-Nummer"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play-Systemupdate"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Akkuinformationen"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Nicht verfügbar"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Speicher"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Speicher und Cache"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth-Adresse"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Seriennummer"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Betriebszeit"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Herstellungsdatum"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Datum der ersten Verwendung"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Anzahl der Ladezyklen"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Nicht verfügbar"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Wird berechnet..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Umbenennen"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Bereitstellen"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Dadurch werden alle WLAN- und Bluetooth-Einstellungen zurückgesetzt. Diese Aktion lässt sich nicht rückgängig machen."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Zurücksetzen"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth und WLAN wurden zurückgesetzt"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Löschen"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIMs löschen"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Dein Mobilfunkvertrag wird dadurch nicht gekündigt. Wende dich an deinen Mobilfunkanbieter, um Ersatz-SIMs herunterzuladen."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Einstellungen zurücksetzen"</string>
@@ -1458,6 +1463,18 @@
     <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_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>
@@ -2326,6 +2343,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Nach Apps filtern"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Nach Systemen filtern"</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">"Aufgrund von Qualitätsprüfungen vor dem Versand ist die Anzahl der Ladezyklen bei der ersten Verwendung möglicherweise nicht null"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Prozessstatistiken"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Statistiken zu laufenden Prozessen"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Arbeitsspeichernutzung"</string>
@@ -2703,7 +2721,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Gastaktivität löschen?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Apps und Daten dieser Gastsitzung werden jetzt gelöscht und alle künftigen Gastaktivitäten werden jeweils beim Beenden des Gastmodus gelöscht"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"löschen, gast, aktivität, entfernen, daten, besucher, löschen"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Gast Nutzung von Telefon erlauben"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Gästen erlauben, zu telefonieren"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Anrufliste wird mit Gastnutzer geteilt"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Telefonieren &amp; SMS zulassen"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Diesen Nutzer als Administrator festlegen"</string>
@@ -2929,6 +2947,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"netzwerk, status des mobilfunknetzes, status des dienstes, signalstärke, typ des mobilfunknetzes, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"seriennummer, hardwareversion"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"Akkuinformationen, Herstellungsdatum, Anzahl der Ladezyklen, erste Verwendung"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"stand der sicherheitsupdates android, baseband version, kernel version"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"Design, hell, dunkel, Modus, Lichtempfindlichkeit, Fotophobie, dunkler machen, abdunkeln, dunkler Modus, Migräne"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"Dunkles Design"</string>
@@ -3855,10 +3874,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Gemäß Standard fürs Gerät"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Overlay konnte nicht angewendet werden"</string>
     <string name="special_access" msgid="1767980727423395147">"Spezieller App-Zugriff"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> Apps dürfen uneingeschränkt Daten nutzen</item>
-      <item quantity="one">1 App darf uneingeschränkt Daten nutzen</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Mehr anzeigen"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Lange Hintergrundaufgaben"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Lang andauernde Hintergrundaufgaben erlauben"</string>
@@ -4146,7 +4161,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Änderungen bei der Kompatibilität von Apps festlegen"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Standardmäßig aktivierte Änderungen"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Standardmäßig deaktivierte Änderungen"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Keine Apps verfügbar"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Die Kompatibilität kann nur bei debug-fähigen Apps geändert werden. Installiere eine debug-fähige App und versuch es noch einmal."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Hängt von einer anderen Einstellung ab"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Konto"</string>
@@ -4664,7 +4678,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Beschränkungen für Unterprozesse deaktivieren"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Beschränkungen für die Nutzung von Systemressourcen durch die untergeordneten App-Prozesse deaktivieren"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Funktion „Notizen“ zwingend aktivieren"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Systemintegrationen für Notizen lassen sich über die Funktion „Notizen“ aktivieren. Ist die Funktion „Notizen“ schon aktiviert, passiert nichts."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Systemintegrationen für Notizen lassen sich über die Funktion „Notizen“ aktivieren. Ist die Funktion „Notizen“ schon aktiviert, passiert nichts. Erfordert einen Neustart."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Übertragen"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> streamen"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Du kannst dir das anhören, was andere in deiner Nähe abspielen"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 50d7a86..a0c0ccc 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Ενεργοποιημένο Bluetooth"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Προβολή όλων"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Γραφίδα"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Προεπιλεγμένη εφαρμογή σημειώσεων"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Πάτημα κουμπιού πίσω μέρους"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Προφίλ εργασίας)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Θερμοκρασία"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Πρώτη ημέρα της εβδομάδας"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Προτιμήσεις για αριθμούς"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Χρήση προεπιλογής εφαρμογής"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Χρήση προεπιλογής"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Κελσίου (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Φαρενάιτ (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Κυριακή"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Έκδοση Kernel"</string>
     <string name="build_number" msgid="9009733242117579826">"Αριθμός έκδοσης"</string>
     <string name="module_version" msgid="1787518340082046658">"Ενημέρωση συστήματος Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Πληροφορίες μπαταρίας"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Δεν είναι διαθέσιμο"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Αποθηκευτικός χώρος"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Αποθηκευτικός χώρος και κρυφή μνήμη"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Διεύθυνση Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Σειριακός αριθμός"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Χρόνος από την τελευταία εκκίνηση"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Ημερομηνία κατασκευής"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Ημερομηνία πρώτης χρήσης"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Πλήθος κύκλων"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Δεν διατίθεται"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Υπολογισμός..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Μετονομασία"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Προσάρτηση"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Θα γίνει επαναφορά όλων των ρυθμίσεων Wi‑Fi και Bluetooth. Δεν μπορείτε να αναιρέσετε αυτή την ενέργεια."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Επαναφορά"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Έγινε επαναφορά των ρυθμίσεων Bluetooth και Wi‑Fi"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Διαγραφή"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Διαγραφή των eSIM"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Με αυτήν την ενέργεια, δεν θα ακυρωθεί κανένα πρόγραμμα υπηρεσιών κινητής τηλεφωνίας. Για τη λήψη SIM αντικατάστασης, επικοινωνήστε με την εταιρεία κινητής τηλεφωνίας σας."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Επαναφορά ρυθμίσεων"</string>
@@ -1458,6 +1463,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>
+    <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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Προβολή κατά εφαρμογές"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Προβολή κατά συστήματα"</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">"Λόγω των ελέγχων ασφαλείας που πραγματοποιούνται πριν από την αποστολή, το πλήθος κύκλων μπορεί να μην είναι μηδέν κατά την πρώτη χρήση"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Στατιστικά στοιχεία διαδικασίας"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Χρήσιμα στατιστικά στοιχεία σχετικά με τις εκτελούμενες διαδικασίες"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Χρήση μνήμης"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Διαγραφή δραστηριότητας επισκέπτη;"</string>
     <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="8300355036005240911">"Αποδοχή χρήσης τηλεφ. από προσκεκλημένο"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Να κάνει κλήσεις τηλεφώνου ο επισκέπτης"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Το ιστορικό κλήσεων θα κοινοποιηθεί στον προσκεκλημένο χρήστη"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Ενεργοποίηση κλήσεων και SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Εκχώρηση δικαιωμ. διαχειριστή στον χρήστη"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"δίκτυο, κατάσταση δικτύου κινητής τηλεφωνίας, κατάσταση υπηρεσίας, ισχύς σήματος, τύπος δικτύου κινητής τηλεφωνίας, περιαγωγή, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"σειριακός αριθμός, έκδοση εξοπλισμού"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"πληροφορίες μπαταρίας, ημερομηνία κατασκευής, πλήθος κύκλων, πρώτη χρήση"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"επίπεδο ενημέρωσης κώδικα ασφαλείας Android, έκδοση βασικού φάσματος, έκδοση πυρήνα"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"θέμα, φως, λειτουργία χαμηλού φωτισμού, ευαισθησία στο φως, φωτοφοβία, πιο σκοτεινή, σκοτεινότερη, λειτουργία χαμηλού φωτισμού, ημικρανία"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"σκούρο θέμα"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Προεπιλογή συσκευής"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Η εφαρμογή της επικάλυψης απέτυχε"</string>
     <string name="special_access" msgid="1767980727423395147">"Ειδική πρόσβαση εφαρμογής"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> εφαρμογές μπορούν να χρησιμοποιούν απεριόριστα δεδομένα</item>
-      <item quantity="one">1 εφαρμογή μπορεί να χρησιμοποιεί απεριόριστα δεδομένα</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Δείτε περισσότερα"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Εργασ. στο παρασκ. μεγ. διαρκ."</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Να επιτρέπ. εργασίες στο παρασκήνιο μεγάλ. διάρκ."</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Εναλλαγή αλλαγών συμβατότητας εφαρμογών"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Αλλαγές που είναι ενεργοποιημένες από προεπιλογή"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Αλλαγές που είναι απενεργοποιημένες από προεπιλογή"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Καμία διαθέσ. εφαρμ."</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Οι αλλαγές στη συμβατότητα εφαρμογής μπορούν να τροποποιηθούν μόνο για εφαρμογές με δυνατότητα εντοπισμού σφαλμάτων. Εγκαταστήστε μια εφαρμογή με δυνατότητα εντοπισμού σφαλμάτων και δοκιμάστε ξανά."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Εξαρτάται από άλλη ρύθμιση"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Λογαριασμός"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Απενεργοπ. περιορισμών σε θυγατρικές διεργασίες"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Απενεργοποιήστε τους περιορισμούς στη χρήση πόρων συστήματος για τις θυγατρικές διεργασίες της εφαρμογής"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Επιβολή ενεργοποίησης ρόλου Σημειώσεις"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Ενεργοποιήστε τις ενσωματώσεις συστήματος για τη δημιουργία σημειώσεων μέσω του ρόλου Σημειώσεις. Εάν ο ρόλος Σημειώσεις είναι ήδη ενεργοποιημένος, δεν πραγματοποιείται καμία ενέργεια."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Ενεργοποιήστε τις ενσωματώσεις συστήματος για τη δημιουργία σημειώσεων μέσω του ρόλου Σημειώσεις. Εάν ο ρόλος Σημειώσεις είναι ήδη ενεργοποιημένος, δεν πραγματοποιείται καμία ενέργεια. Επαιτεί επανεκκίνηση."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Μετάδοση"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Μετάδοση με την εφαρμογή <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Ακούστε μεταδόσεις που πραγματοποιούνται κοντά σας"</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 063d5e5..deb71b8 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth turned on"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"See all"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stylus"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Default notes app"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Tail button press"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Work profile)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Write in text fields"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignore all stylus button presses"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperature"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"First day of week"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Numbers preferences"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Use app default"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Use default"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Sunday"</string>
@@ -898,7 +899,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 and compatibility"</string>
+    <string name="wifi_hotspot_speed_title" msgid="8629448084180512685">"Speed &amp; 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>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Kernel version"</string>
     <string name="build_number" msgid="9009733242117579826">"Build number"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play system update"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Battery information"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Not available"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Storage"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Storage and cache"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth address"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serial number"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Uptime"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Manufacture date"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Date of first use"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Cycle count"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Unavailable"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Calculating..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Rename"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Mount"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"This will reset all Wi‑Fi &amp; Bluetooth settings. You can’t undo this action."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Reset"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth &amp; Wi‑Fi have been reset"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Erase"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Erase eSIMs"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"This won’t cancel any mobile service plans. To download replacement SIMs, contact your operator."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Reset settings"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Also use pattern to unlock this device"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Also use PIN to unlock this device"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Also use password to unlock this device"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Verify pattern"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Verify PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Verify password"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Use your device pattern to continue"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Enter your device PIN to continue"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Enter your device password to continue"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Wrong PIN"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Wrong password"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Wrong pattern"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"View by apps"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"View by systems"</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">"Due to quality inspections before delivery, the cycle count may not be zero on first use"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Process Stats"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Geeky stats about running processes"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Memory use"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Delete guest activity?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Apps and data from this guest session will be deleted now, and all future guest activity will be deleted each time that you exit guest mode"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"delete, guest, activity, remove, data, visitor, erase"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Allow guest to use phone"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Allow guest to make phone calls"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Call history will be shared with guest user"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Turn on phone calls &amp; SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Make this user an admin"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"network, mobile network state, service state, signal strength, mobile network type, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"serial number, hardware version"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"battery info, manufacture date, cycle count, first use"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"android security patch level, baseband version, kernel version"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"theme, light, dark, mode, light sensitivity, photophobia, make darker, darken, dark mode, migraine"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"dark theme"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Device default"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Failed to apply overlay"</string>
     <string name="special_access" msgid="1767980727423395147">"Special app access"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apps can use unrestricted data</item>
-      <item quantity="one">1 app can use unrestricted data</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"See more"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Long background tasks"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Allow long-running background tasks"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Toggle app compatibility changes"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Default enabled changes"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Default disabled changes"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"No apps available"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"App compatibility changes can only be modified for debuggable apps. Install a debuggable app and try again."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Depends on another setting"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Account"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Disable child process restrictions"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Disable restrictions on the system resource usage of the app child processes"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Force enable Notes role"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Enable note-taking system integrations via the Notes role. If the Notes role is already enabled, does nothing."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Enable note-taking system integrations via the notes role. If the notes role is already enabled, does nothing. Requires reboot."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Broadcast"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Broadcast <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Listen to broadcasts that are playing near you"</string>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index cbc8160..aed8553 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth turned on"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"See all"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stylus"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Default notes app"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Tail button press"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Work profile)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Write in text fields"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignore all stylus button presses"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperature"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"First day of week"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Numbers preferences"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Use app default"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Use default"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Sunday"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Kernel version"</string>
     <string name="build_number" msgid="9009733242117579826">"Build number"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play system update"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Battery information"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Not available"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Storage"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Storage and cache"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth address"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serial number"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Up time"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Manufacture date"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Date of first use"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Cycle count"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Unavailable"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Calculating…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Rename"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Mount"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"This will reset all Wi‑Fi &amp; Bluetooth settings. You can’t undo this action."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Reset"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth &amp; Wi‑Fi have been reset"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Erase"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Erase eSIMs"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"This won’t cancel any mobile service plans. To download replacement SIMs, contact your carrier."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Reset settings"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Also use pattern to unlock this device"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Also use PIN to unlock this device"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Also use password to unlock this device"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Verify pattern"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Verify PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Verify password"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Use your device pattern to continue"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Enter your device PIN to continue"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Enter your device password to continue"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Wrong PIN"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Wrong password"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Wrong pattern"</string>
@@ -1776,7 +1787,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">"Colour and motion"</string>
+    <string name="accessibility_color_and_motion_title" msgid="2323301706545305874">"Color 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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"View by apps"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"View by systems"</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">"Due to quality inspections before shipping, the cycle count may not be zero on first use"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Process Stats"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Geeky stats about running processes"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Memory use"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Delete guest activity?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Apps and data from this guest session will be deleted now, and all future guest activity will be deleted each time you exit guest mode"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"delete, guest, activity, remove, data, visitor, erase"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Allow guest to use phone"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Allow guest to make phone calls"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Call history will be shared with guest user"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Turn on phone calls &amp; SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Make this user an admin"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"network, mobile network state, service state, signal strength, mobile network type, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"serial number, hardware version"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"battery info, manufacture date, cycle count, first use"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"android security patch level, baseband version, kernel version"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"theme, light, dark, mode, light sensitivity, photophobia, make darker, darken, dark mode, migraine"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"dark theme"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Device default"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Failed to apply overlay"</string>
     <string name="special_access" msgid="1767980727423395147">"Special app access"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apps can use unrestricted data</item>
-      <item quantity="one">1 app can use unrestricted data</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"See more"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Long background tasks"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Allow long-running background tasks"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Toggle app compatibility changes"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Default enabled changes"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Default disabled changes"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"No apps available"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"App compatibility changes can only be modified for debuggable apps. Install a debuggable app and try again."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Depends on another setting"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Account"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Disable child process restrictions"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Disable restrictions on the system resource usage of the app child processes"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Force enable Notes role"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Enable note-taking system integrations via the Notes role. If the Notes role is already enabled, does nothing."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Enable note-taking system integrations via the Notes role. If the Notes role is already enabled, does nothing. Requires reboot."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Broadcast"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Broadcast <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Listen to broadcasts that are playing near you"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index a68a918..43b0c2c 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth turned on"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"See all"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stylus"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Default notes app"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Tail button press"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Work profile)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Write in text fields"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignore all stylus button presses"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperature"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"First day of week"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Numbers preferences"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Use app default"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Use default"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Sunday"</string>
@@ -898,7 +899,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 and compatibility"</string>
+    <string name="wifi_hotspot_speed_title" msgid="8629448084180512685">"Speed &amp; 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>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Kernel version"</string>
     <string name="build_number" msgid="9009733242117579826">"Build number"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play system update"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Battery information"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Not available"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Storage"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Storage and cache"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth address"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serial number"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Uptime"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Manufacture date"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Date of first use"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Cycle count"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Unavailable"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Calculating..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Rename"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Mount"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"This will reset all Wi‑Fi &amp; Bluetooth settings. You can’t undo this action."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Reset"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth &amp; Wi‑Fi have been reset"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Erase"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Erase eSIMs"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"This won’t cancel any mobile service plans. To download replacement SIMs, contact your operator."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Reset settings"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Also use pattern to unlock this device"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Also use PIN to unlock this device"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Also use password to unlock this device"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Verify pattern"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Verify PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Verify password"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Use your device pattern to continue"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Enter your device PIN to continue"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Enter your device password to continue"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Wrong PIN"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Wrong password"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Wrong pattern"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"View by apps"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"View by systems"</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">"Due to quality inspections before delivery, the cycle count may not be zero on first use"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Process Stats"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Geeky stats about running processes"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Memory use"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Delete guest activity?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Apps and data from this guest session will be deleted now, and all future guest activity will be deleted each time that you exit guest mode"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"delete, guest, activity, remove, data, visitor, erase"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Allow guest to use phone"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Allow guest to make phone calls"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Call history will be shared with guest user"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Turn on phone calls &amp; SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Make this user an admin"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"network, mobile network state, service state, signal strength, mobile network type, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"serial number, hardware version"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"battery info, manufacture date, cycle count, first use"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"android security patch level, baseband version, kernel version"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"theme, light, dark, mode, light sensitivity, photophobia, make darker, darken, dark mode, migraine"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"dark theme"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Device default"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Failed to apply overlay"</string>
     <string name="special_access" msgid="1767980727423395147">"Special app access"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apps can use unrestricted data</item>
-      <item quantity="one">1 app can use unrestricted data</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"See more"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Long background tasks"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Allow long-running background tasks"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Toggle app compatibility changes"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Default enabled changes"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Default disabled changes"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"No apps available"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"App compatibility changes can only be modified for debuggable apps. Install a debuggable app and try again."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Depends on another setting"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Account"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Disable child process restrictions"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Disable restrictions on the system resource usage of the app child processes"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Force enable Notes role"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Enable note-taking system integrations via the Notes role. If the Notes role is already enabled, does nothing."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Enable note-taking system integrations via the notes role. If the notes role is already enabled, does nothing. Requires reboot."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Broadcast"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Broadcast <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Listen to broadcasts that are playing near you"</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index f5bbd96..858c254 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth turned on"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"See all"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stylus"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Default notes app"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Tail button press"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Work profile)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Write in text fields"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignore all stylus button presses"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperature"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"First day of week"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Numbers preferences"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Use app default"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Use default"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Sunday"</string>
@@ -898,7 +899,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 and compatibility"</string>
+    <string name="wifi_hotspot_speed_title" msgid="8629448084180512685">"Speed &amp; 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>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Kernel version"</string>
     <string name="build_number" msgid="9009733242117579826">"Build number"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play system update"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Battery information"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Not available"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Storage"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Storage and cache"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth address"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serial number"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Uptime"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Manufacture date"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Date of first use"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Cycle count"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Unavailable"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Calculating..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Rename"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Mount"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"This will reset all Wi‑Fi &amp; Bluetooth settings. You can’t undo this action."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Reset"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth &amp; Wi‑Fi have been reset"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Erase"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Erase eSIMs"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"This won’t cancel any mobile service plans. To download replacement SIMs, contact your operator."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Reset settings"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Also use pattern to unlock this device"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Also use PIN to unlock this device"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Also use password to unlock this device"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Verify pattern"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Verify PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Verify password"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Use your device pattern to continue"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Enter your device PIN to continue"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Enter your device password to continue"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Wrong PIN"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Wrong password"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Wrong pattern"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"View by apps"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"View by systems"</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">"Due to quality inspections before delivery, the cycle count may not be zero on first use"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Process Stats"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Geeky stats about running processes"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Memory use"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Delete guest activity?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Apps and data from this guest session will be deleted now, and all future guest activity will be deleted each time that you exit guest mode"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"delete, guest, activity, remove, data, visitor, erase"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Allow guest to use phone"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Allow guest to make phone calls"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Call history will be shared with guest user"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Turn on phone calls &amp; SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Make this user an admin"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"network, mobile network state, service state, signal strength, mobile network type, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"serial number, hardware version"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"battery info, manufacture date, cycle count, first use"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"android security patch level, baseband version, kernel version"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"theme, light, dark, mode, light sensitivity, photophobia, make darker, darken, dark mode, migraine"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"dark theme"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Device default"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Failed to apply overlay"</string>
     <string name="special_access" msgid="1767980727423395147">"Special app access"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apps can use unrestricted data</item>
-      <item quantity="one">1 app can use unrestricted data</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"See more"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Long background tasks"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Allow long-running background tasks"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Toggle app compatibility changes"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Default enabled changes"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Default disabled changes"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"No apps available"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"App compatibility changes can only be modified for debuggable apps. Install a debuggable app and try again."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Depends on another setting"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Account"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Disable child process restrictions"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Disable restrictions on the system resource usage of the app child processes"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Force enable Notes role"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Enable note-taking system integrations via the Notes role. If the Notes role is already enabled, does nothing."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Enable note-taking system integrations via the notes role. If the notes role is already enabled, does nothing. Requires reboot."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Broadcast"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Broadcast <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Listen to broadcasts that are playing near you"</string>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index 8f40e58..3455c1e 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‎‎‎‎‎‎‎‏‏‏‏‏‎‎‏‏‎‎‏‏‏‎‎‏‎‎‏‎‎‎‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‎‎‏‎‏‏‏‏‎‎‎‎Bluetooth turned on‎‏‎‎‏‎"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‏‏‎‏‏‏‏‏‎‎‏‎‎‏‎‎‏‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‎‏‎‏‎‎‎‎‎‎‎‎‎‎‎See all‎‏‎‎‏‎"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‎‎‏‏‎‎‏‏‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‎‎‎‎‎‏‎‎‏‎‎‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‎‎‎Stylus‎‏‎‎‏‎"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‎‎‎‏‎‎‎‏‏‏‏‎‏‏‏‏‏‏‎‎‏‎‎‎‏‎‏‎‎‏‎‎‏‎‏‏‎‎‎‏‏‏‎‏‏‎‏‏‏‏‎‏‏‏‎‏‎Default notes app‎‏‎‎‏‎"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‏‎‎‏‏‏‏‎‏‏‎‎‎‏‏‎‏‏‎‎‏‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‏‎‏‎‎‎Tail button press‎‏‎‎‏‎"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‎‎‏‏‎‏‎‏‎‏‎‏‏‎‎‎‎‎‎‎‏‏‎‏‎‎‏‎‎‏‎‎‏‎‏‎‏‎‎‎‎‎‎‎‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‎‎‏‏‎<xliff:g id="APP_NAME">%s</xliff:g>‎‏‎‎‏‏‏‎ (Work profile)‎‏‎‎‏‎"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‏‏‎‎‏‏‎‏‎‎‎‏‏‏‏‎‏‎‎‏‏‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‏‎‎‎‏‎‎‎‏‏‏‎Write in text fields‎‏‎‎‏‎"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‏‎‏‏‎‏‎‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‏‎‎‏‎‏‎‎‎‎‎‏‏‎‏‎‏‏‎‏‏‏‎‎‏‎‏‏‏‏‎Ignore all stylus button presses‎‏‎‎‏‎"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‎‏‏‎‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‎‏‏‎‏‎‏‎‎‎‏‏‎‏‎‏‎‎‎‏‏‏‏‎‎‏‏‎‎‎‏‎‎‎Stylus‎‏‎‎‏‎"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‎‎‎‏‏‎‏‎‏‎‏‏‎‎‏‎‏‏‏‎‏‏‎‏‏‎‏‏‏‎‎‎‏‎‏‏‏‎‎‎‎‎‏‏‎‏‎‎‎‎‎‎‏‎‎Temperature‎‏‎‎‏‎"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‎‏‎‏‏‏‎‏‎‏‏‎‏‎‏‏‎‎‏‏‎‏‎‏‎‎‎‏‎‏‎‏‎‎‎‏‏‎‎‏‏‏‎‏‏‎‎‏‎‏‎‎‎‎‎‏‎First day of week‎‏‎‎‏‎"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‎‎‎‏‏‎‎‎‏‎‏‎‏‎‎‏‎‎‎‏‎‎‏‏‎‏‏‏‏‏‎‏‎‏‏‏‎‎‎‏‏‏‎‏‏‎‎‏‏‎‏‏‎‎Numbers preferences‎‏‎‎‏‎"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‎‏‏‎‏‏‏‏‎‏‎‏‎‏‎‏‎‎‎‏‏‎‏‏‎‏‏‏‎‏‎‏‎‎‎‎‎‎‎‏‏‎‎‏‏‎‏‏‎‏‏‏‎Use app default‎‏‎‎‏‎"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‎‎‏‎‏‎‏‏‏‏‎‎‏‎‏‏‎‎‎‏‎‏‎‎‎‏‎‏‎‏‏‏‏‎‎‎‎‏‎‎‎‎‎‎‏‏‎‎‏‏‎‏‎‏‏‎Use default‎‏‎‎‏‎"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‏‏‎‏‎‎‏‎‎‏‎‎‏‏‎‎‎‏‏‏‏‎‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‎‎‏‎‏‏‎‏‏‎Celsius (°C)‎‏‎‎‏‎"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‏‎‎‎‎‏‏‎‎‏‎‏‎‏‏‏‏‎‎‎‏‏‎‏‎‎‎‎‎‎‏‏‏‏‎‏‎‏‏‎‏‏‏‎‏‏‏‏‎‏‎‎‏‎‎‏‎Fahrenheit (°F)‎‏‎‎‏‎"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‏‎‏‏‎‏‏‏‎‎‏‎‎‎‎‏‏‏‎‎‎‎‏‏‎‎‎‎‎‎‏‏‏‎‏‏‎‏‎‏‎‎‏‏‏‏‎‏‎‎‎‏‏‎Sunday‎‏‎‎‏‎"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‏‏‎‎‎‎‏‎‏‎‎‏‏‎‎‎‎‏‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‏‏‏‎‎‏‎‏‎‏‎‏‎‎‎‏‏‎‎‎‎‏‎Kernel version‎‏‎‎‏‎"</string>
     <string name="build_number" msgid="9009733242117579826">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‎‏‎‎‎‎‎‎‎‎‏‎‏‎‎‏‎‏‏‏‏‎‏‎‎‏‎‏‏‏‎‎‏‎‎‏‏‎‎‏‎‎‎‎‏‏‎‎‏‎‎Build number‎‏‎‎‏‎"</string>
     <string name="module_version" msgid="1787518340082046658">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‏‏‎‎‏‏‏‎‏‎‎‎‏‎‏‎‎‏‏‏‎‏‎‏‏‎‏‎‏‎‏‎‎‎‎‏‎‏‏‎‎‎‎‏‎‏‏‎‏‏‎‎‎‎‏‎‎Google Play system update‎‏‎‎‏‎"</string>
+    <string name="battery_info" msgid="7873528123969546728">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‎‎‎‏‎‎‎‏‏‎‎‏‎‎‎‎‎‏‏‏‎‎‏‏‏‎‏‏‏‎‎‏‎‎‎‎‎‎‏‎‏‎‏‎‎‏‏‏‏‎‏‎‎‎‎Battery information‎‏‎‎‏‎"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‎‏‏‎‎‏‏‏‎‏‏‎‎‎‎‎‏‎‎‏‎‎‏‏‏‏‎‏‏‎‎‎‏‏‏‏‏‏‎‎‏‏‏‎‎‏‎‎‎‎‏‏‎‎Not available‎‏‎‎‏‎"</string>
     <string name="storage_settings" msgid="7472188817781592677">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‏‎‎‏‎‏‎‎‎‏‏‎‎‎‎‏‎‎‎‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‏‎‎‏‎‎‏‎‎‏‎‎‏‏‎‎‏‎‏‎Storage‎‏‎‎‏‎"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‎‏‎‏‏‏‏‎‎‎‏‎‏‎‏‎‎‏‏‎‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‏‏‎‎‏‎‎‎‏‎‎‎‎‏‎‏‎‏‏‎Storage &amp; cache‎‏‎‎‏‎"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‎‎‏‏‏‏‎‎‏‎‎‏‎‎‏‏‎‎‎‏‎‏‎‎‏‎‏‎‎‏‏‎‎‎‏‎‏‎‏‏‏‏‎‏‎‎‎‎‎‎‎‏‏‎Bluetooth address‎‏‎‎‏‎"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‏‏‏‏‎‏‎‎‎‎‎‏‎‏‏‎‏‎‏‏‏‎‏‏‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎‎‎‎‎‎‏‎‎‏‎‏‎Serial number‎‏‎‎‏‎"</string>
     <string name="status_up_time" msgid="1274778533719495438">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‏‎‏‏‎‎‎‎‏‏‏‎‏‏‎‎‎‏‎‏‎‎‏‎‏‎‎‎‎‏‎‏‏‎‏‎‎‏‎‎‏‏‎‏‎‎‏‏‎‎‎‎‏‏‏‎‎Up time‎‏‎‎‏‎"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‎‎‎‏‎‏‎‎‎‏‎‏‎‏‏‎‏‎‎‏‏‎‎‎‎‎‎‎‎‎‎‏‏‏‏‏‎‎‏‏‏‎‎‎‏‎‎‎‏‏‎‎‎‎‏‏‎Manufacture date‎‏‎‎‏‎"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‏‏‎‏‎‎‎‎‏‎‏‎‎‏‏‏‎‏‎‏‎‏‏‏‎‎‏‏‎‎‎‏‏‎‎‏‎‏‏‏‎‏‎‏‎‎‎‏‎‎‎‏‎‏‎‏‎Date of first use‎‏‎‎‏‎"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‏‏‎‏‏‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‏‎‎‏‏‏‏‏‏‎‎‎‎‏‏‏‏‎‎‎‏‏‏‏‏‎‎‎Cycle count‎‏‎‎‏‎"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‏‎‏‎‏‏‎‎‏‏‏‏‎‏‎‏‏‏‎‎‎‎‏‎‏‎‏‎‏‎‎‏‏‎‏‎‏‏‏‏‏‏‎‎‎‏‏‏‏‎‎‏‏‎‎‎‎Unavailable‎‏‎‎‏‎"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‎‎‎‏‏‎‎‏‎‏‎‏‎‏‎‏‎‎‎‎‎‏‏‎‏‎‏‏‎‏‏‏‎‏‎‎‎‎‏‏‎‎‎‎‎‎‎‎‎‏‏‏‏‎‏‎‎Calculating…‎‏‎‎‏‎"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‎‎‏‏‏‎‎‎‏‏‏‎‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‏‎‎‎‎‏‏‎‏‎‏‏‏‎‎‎‎‏‏‎‏‎‏‎‎‎‎Rename‎‏‎‎‏‎"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‎‏‎‎‎‎‏‏‎‎‏‏‏‎‏‎‎‎‎‎‏‏‏‏‏‏‎‏‏‎‏‎‎‎‏‎‎‎‏‏‏‎‏‏‎‎‏‏‎‏‏‎‎‏‎Mount‎‏‎‎‏‎"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‏‏‏‎‏‏‏‎‎‏‏‏‏‏‎‎‏‎‎‎‏‏‏‎‏‎‏‏‏‏‏‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‏‏‏‏‏‏‏‏‎This will reset all Wi‑Fi &amp; Bluetooth settings. You can’t undo this action.‎‏‎‎‏‎"</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‎‏‎‎‏‏‎‏‏‎‏‎‏‎‏‎‎‏‏‎‎‏‏‎‎‏‏‎‎‎‏‎‎‏‎‏‎‏‎‏‎‎‏‎‎‏‏‎‏‏‏‎‏‏‏‎Reset‎‏‎‎‏‎"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‎‎‏‎‎‏‏‎‏‏‎‎‏‏‏‏‎‎‏‏‏‏‎‏‏‏‎‏‏‏‎‎‏‏‎‏‎‏‎‎‎‏‎‏‎‏‎‎‎‏‏‏‎‏‎Bluetooth &amp; Wi‑Fi have been reset‎‏‎‎‏‎"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‎‎‎‏‏‎‏‎‏‎‏‎‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‏‎‏‎‏‎‎‎‎‎‎‏‏‏‎‏‏‏‎‎‏‏‏‏‎‎‏‎Erase‎‏‎‎‏‎"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‎‏‏‎‏‏‎‎‎‎‏‏‎‏‏‏‎‏‏‎‏‏‎‎‏‏‏‎‏‏‎‎‏‎‏‏‎‏‏‏‎‎‎‎‏‎‎‏‎‏‎‎‎‏‎‎Erase eSIMs‎‏‎‎‏‎"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‏‏‎‏‎‎‏‏‏‎‎‏‏‏‎‏‎‏‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‏‎‎‎‎‏‎‏‎‎‎‏‏‎‏‏‏‎‏‏‎‏‏‎This won’t cancel any mobile service plans. To download replacement SIMs, contact your carrier.‎‏‎‎‏‎"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‏‎‏‏‏‎‏‏‎‎‏‎‎‏‎‎‏‎‎‏‏‎‏‏‏‎‎‎‎‎‏‎‏‏‎‏‏‏‏‏‎‏‎‏‏‏‎Reset settings‎‏‎‎‏‎"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‎‎‏‏‏‎‎‏‏‏‎‏‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‎‏‎‏‏‏‏‎‎‎‏‏‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎Also use pattern to unlock this device‎‏‎‎‏‎"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‎‎‏‎‎‏‎‏‎‏‏‏‎‎‎‎‏‎‎‎‎‏‎‎‏‎‏‏‏‎‎‏‎‎‎‎‎‎‎‎‎‏‏‏‎‏‎‏‏‎‏‎‎‏‎‎Also use PIN to unlock this device‎‏‎‎‏‎"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‏‎‏‎‏‏‏‎‎‏‏‎‎‏‏‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‎‎‎‎‏‏‏‎‎‎‎‏‏‎‎‏‏‏‎‎‏‎‎Also use password to unlock this device‎‏‎‎‏‎"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‎‎‏‏‏‎‏‎‎‏‎‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‎‎‎‏‏‏‏‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‎‏‏‎‏‎‎Verify pattern‎‏‎‎‏‎"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‏‏‎‎‎‎‎‏‎‏‏‎‎‏‏‏‎‎‏‎‏‏‏‎‏‎‎‎‎‎‏‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‏‎Verify PIN‎‏‎‎‏‎"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‏‏‏‎‎‎‏‎‏‏‏‏‏‎‎‎Verify password‎‏‎‎‏‎"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‎‏‏‏‏‎‏‎‎‎‏‎‏‏‎‏‏‎‏‎‎‏‏‏‎‎‎‎‏‏‎‏‏‎‎‎‏‎‎‏‏‏‎‏‏‏‏‏‎‏‏‎‎‏‎Use your device pattern to continue‎‏‎‎‏‎"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‎‏‎‎‎‏‎‏‎‎‎‏‏‏‏‎‎‏‏‎‏‎‏‏‏‏‎‏‏‏‎‏‎‎‎‎‏‏‎‏‎‏‏‏‎‏‎‏‎‎‏‏‏‏‎Enter your device PIN to continue‎‏‎‎‏‎"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‏‏‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‎‏‎‎‏‎‏‏‎‎‎‏‎‏‏‎‏‎‏‏‏‏‎‎‎‎‏‎Enter your device password to continue‎‏‎‎‏‎"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‎‎‎‎‏‎‏‏‏‏‏‎‎‎‎‎‏‏‏‏‏‏‎‎‎‏‏‎‏‎‎‎‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‏‏‎‎‎‎Wrong PIN‎‏‎‎‏‎"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‎‎‎‎‏‎‏‎‎‏‎‏‏‏‎‏‏‏‎‎‎‏‏‏‏‎‎‏‏‏‏‎‏‎‎‏‏‎‎‎‏‏‏‏‏‎‎‏‎‏‏‏‎‏‏‏‎Wrong password‎‏‎‎‏‎"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‏‎‏‎‎‎‎‎‏‎‏‎‎‎‎‎‎‏‏‏‏‎‏‏‏‏‏‎‎‏‏‎‏‏‎‏‏‏‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎Wrong pattern‎‏‎‎‏‎"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‎‎‏‎‏‎‏‏‏‎‏‎‏‎‎‎‏‏‏‎‎‎‏‎‎‎‏‎‏‎‎‏‎‏‎‏‎‎‏‎‎‎‎‏‎‎‏‎‎‎‏‎‎View by apps‎‏‎‎‏‎"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‏‎‎‎‏‎‎‎‎‎‏‎‎‏‏‏‎‏‎‎‏‏‏‎‎‏‏‎‎‎‎‏‏‏‎‎‏‏‏‎‎‎‏‏‎‎‎‎‏‏‏‎‏‎View by systems‎‏‎‎‏‎"</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">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‏‎‎‎‏‎‏‏‎‏‏‎‏‎‎‏‏‏‎‎‏‏‏‎‏‎‎‏‏‏‏‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‎‏‎‎‏‎‏‎‎‏‎Due to quality inspections before shipping, the cycle count may not be zero on first use‎‏‎‎‏‎"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‏‏‏‏‏‎‎‏‏‏‏‎‎‎‏‏‏‎‏‎‏‏‏‏‎‏‏‏‏‎‎‏‏‏‎‏‎‏‎‎‏‎‏‎‎‏‎‎‎‏‎‎‎‏‎‎‎Process Stats‎‏‎‎‏‎"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‏‎‎‎‎‎‏‏‎‎‎‎‎‏‎‎‎‏‏‎‎‏‏‎‏‎‎‏‎‏‏‎‏‏‎‏‎‎‎‎‏‏‎‎‏‏‏‏‏‎‏‏‎‏‏‎Geeky stats about running processes‎‏‎‎‏‎"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‎‏‎‎‏‎‏‎‏‎‏‎‎‎‏‎‎‏‏‎‎‏‏‎‎‏‎‏‏‎‏‏‎‎‎‎‎‎‎‏‎‎‎‎‏‎‎‏‎‏‎‏‎‎Memory use‎‏‎‎‏‎"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‎‎‎‏‎‎‎‎‎‏‎‏‎‏‏‏‏‎‎‏‎‎‎‏‏‏‎‎‏‎‏‏‎‏‏‏‎‎‎‎‎‏‏‎‎‏‎‎‎‎‏‏‏‎‎‎‎Delete guest activity?‎‏‎‎‏‎"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‏‎‏‎‎‎‏‎‎‎‏‏‏‎‎‎‎‏‏‎‎‏‏‏‏‎‏‎‏‎‎‎‎‏‎‎‎‎‏‎‎‏‎‏‏‏‎‏‎‏‏‎Apps and data from this guest session will be deleted now, and all future guest activity will be deleted each time you exit guest mode‎‏‎‎‏‎"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‏‏‎‏‎‎‎‎‏‏‏‎‏‏‎‏‎‎‎‏‎‏‎‎‏‎‎‏‎‎‎‏‎‏‎‏‎‎‎‏‎‎‏‏‏‎‎‏‏‎‎‎‏‎delete, guest, activity, remove, data, visitor, erase‎‏‎‎‏‎"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‎‎‎‎‏‏‎‎‏‎‎‎‏‏‏‎‏‏‎‏‏‎‎‏‎‏‏‎‏‎‏‏‎‏‏‏‏‎‎‏‎‎‎‎‎‏‎‎‏‏‏‏‎Allow guest to use phone‎‏‎‎‏‎"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‏‏‏‏‎‏‎‏‏‏‏‎‎‏‏‏‎‎‎‏‎‏‎‏‎‏‎‎‏‎‎‎‎‏‏‏‏‎‎Allow guest to make phone calls‎‏‎‎‏‎"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‏‏‏‎‎‏‎‏‎‎‎‏‎‏‎‏‎‏‏‎‎‏‏‏‏‏‎‎‏‎‎‏‏‎‏‎‏‎‎‏‏‎‎‏‎‏‎‎‎‎‏‎‏‏‏‎‎Call history will be shared with guest user‎‏‎‎‏‎"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‎‏‏‎‎‎‎‎‏‎‏‎‏‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‎‎‎‎‏‏‎‎‎‏‏‎‎‎Turn on phone calls &amp; SMS‎‏‎‎‏‎"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‏‏‎‏‏‎‏‎‏‎‎‏‎‏‎‎‎‏‎‎‏‏‏‏‎‏‏‎‏‎‏‎‏‏‏‎‏‎‏‎‎‏‏‎‏‎‎‎‏‎‏‎‏‎‎Make this user an admin‎‏‎‎‏‎"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‏‎‎‏‏‏‏‎‏‎‏‎‏‎‎‏‎‏‎‎‏‏‏‎‏‏‏‏‎‎‎‎‎‏‏‏‎‏‏‏‎‏‏‎‎‎‎‏‏‏‏‎‎‎‎‎network, mobile network state, service state, signal strength, mobile network type, roaming, iccid, eid‎‏‎‎‏‎"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‏‏‎‏‎‎‎‏‎‏‎‎‎‎‏‎‎‏‏‎‏‎‎‎‏‎‏‎‎‏‏‎‏‏‎‏‏‎‏‏‏‎‎‎‎‎‏‎‏‎‎‏‎eid‎‏‎‎‏‎"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‏‎‎‎‏‏‎‏‏‏‎‏‎‏‎‏‎‎‎‏‎‎‏‏‏‏‏‎‏‎‏‏‎‏‎‎‎‏‏‏‏‏‎‎‏‏‏‎‏‏‏‏‎‏‎‎‎serial number, hardware version‎‏‎‎‏‎"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‎‎‎‏‎‎‏‎‎‏‎‎‏‎‎‏‏‎‏‎‎‏‎‏‎‏‏‏‏‎‎‎‏‎‎‏‎‎‎‏‎‎‏‎‎‏‏‏‎‎‏‏‏‎‎‏‎battery info, manufacture date, cycle count, first use‎‏‎‎‏‎"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‏‎‎‏‏‏‏‎‏‎‎‎‎‎‎‏‎‎‏‎‏‎‎‎‎‏‎‎‏‏‏‏‏‎‏‏‎‎‎‎‎‎‏‏‏‏‎‎‎‏‏‏‏‏‏‎‎android security patch level, baseband version, kernel version‎‏‎‎‏‎"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‏‏‎‏‎‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‏‎‎‏‏‎‎‎‎‎‎‎‏‎‏‎‎‎‏‏‏‏‎‏‎‏‎‎‎‏‏‏‎‎theme, light, dark, mode, light sensitivity, photophobia, make darker, darken, dark mode, migraine‎‏‎‎‏‎"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‎‎‎‎‎‎‎‏‏‏‎‎‏‎‏‎‎‏‏‎‎‎‏‎‏‎‎‏‏‎‏‏‎‎‏‏‎‏‎‎‎‎‎‏‎‎‏‏‎‏‏‎‎‏‎dark theme‎‏‎‎‏‎"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‎‏‎‏‎‎‏‏‏‏‎‎‎‎‎‎‎‎‏‏‎‏‏‏‏‎‎‎‎‎‎‏‏‏‏‏‎‎‎‏‎‏‎‎‎‎‏‏‏‎‎‎‎Device default‎‏‎‎‏‎"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‏‎‏‎‎‏‏‎‏‎‏‎‏‏‎‏‏‏‏‎‎‏‎‎‏‎‎‎‏‎‎‎‎‏‏‏‏‏‎‎‎‏‏‎‏‎‏‏‏‎‎‎‎‎‎Failed to apply overlay‎‏‎‎‏‎"</string>
     <string name="special_access" msgid="1767980727423395147">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‏‎‎‎‏‎‎‏‎‎‏‎‎‎‎‏‎‎‎‏‏‎‏‎‏‎‏‏‏‎‏‏‏‏‎‎‏‏‏‎‏‏‏‎‎‏‎‏‎‏‎‎‏‎‏‏‎Special app access‎‏‎‎‏‎"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‏‎‎‏‏‏‎‎‏‏‎‏‎‏‎‎‏‏‏‎‎‎‎‎‏‎‎‎‎‎‏‎‏‎‏‎‎‏‎‏‎‎‏‏‎‎‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎<xliff:g id="COUNT">%d</xliff:g>‎‏‎‎‏‏‏‎ apps can use unrestricted data‎‏‎‎‏‎</item>
-      <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‏‎‎‏‏‏‎‎‏‏‎‏‎‏‎‎‏‏‏‎‎‎‎‎‏‎‎‎‎‎‏‎‏‎‏‎‎‏‎‏‎‎‏‏‎‎‏‏‏‏‏‏‏‎1 app can use unrestricted data‎‏‎‎‏‎</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‏‏‎‏‏‎‎‎‎‎‏‏‏‎‎‏‏‎‎‏‏‎‎‎‎‎‎‎‏‎‎‎‎‏‏‏‏‎‏‎‎‏‎‏‎‎‎‏‏‎‎‎‎‏‏‎‎See more‎‏‎‎‏‎"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‎‏‎‏‏‎‏‏‏‏‎‎‏‏‎‏‏‏‎‏‎‏‎‏‎‎‏‎‎‎‏‎‎‏‏‏‏‏‏‏‏‏‎Long background tasks‎‏‎‎‏‎"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‏‎‎‏‎‏‎‎‎‎‎‎‎‏‏‎‏‎‏‏‏‎‏‏‎‎‏‏‎‎‎‏‎‏‎‏‏‏‎‎‎‎‎‎‎‏‏‎‏‎‏‏‏‏‏‏‎Allow long-running background tasks‎‏‎‎‏‎"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‎‎‎‎‎‏‎‎‏‎‏‏‎‎‎‏‏‏‎‎‎‎‎‎‏‏‎‏‏‏‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‎‏‎‎‏‎Toggle app compatibility changes‎‏‎‎‏‎"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‏‎‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‏‏‏‏‏‎‎‎‎‏‎‏‏‎‎‎‎‏‏‏‎‎‎‏‎‎‎‏‏‏‎‎‎‎Default enabled changes‎‏‎‎‏‎"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‎‏‎‏‏‎‏‎‎‎‎‏‎‏‏‏‏‏‏‎‎‏‎‎‎‏‏‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‎‎‎‏‎‎‎‎‏‎‎Default disabled changes‎‏‎‎‏‎"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‎‎‏‎‎‎‎‎‏‎‏‎‏‏‏‏‎‎‎‏‎‏‏‎‎‏‎‎‏‎‎‎‏‎‎‏‏‎‏‏‎‎‏‎‏‏‎‎‎‎‎‏‎‎No apps available‎‏‎‎‏‎"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‎‏‎‎‎‎‏‎‎‎‏‏‏‏‏‏‎‎‎‏‏‏‏‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‎‏‎‎‏‏‏‎‎‎‏‎‎‎App compatibility changes can only be modified for debuggable apps. Install a debuggable app and try again.‎‏‎‎‏‎"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‏‎‎‎‏‏‏‏‎‎‏‎‎‎‏‎‎‏‏‎‏‏‏‏‎‏‏‎‏‎‎‎‏‎‏‏‎‎‏‎‎‏‎‎‎‏‏‎‏‏‎‎‎‎Depends on another setting‎‏‎‎‏‎"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‏‎‎‏‏‎‏‎‏‏‎‏‏‎‎‎‏‎‎‏‎‎‎‏‏‏‎‎‏‎‏‎‏‏‏‎‎‏‏‏‏‏‏‎‏‏‏‎Account‎‏‎‎‏‎"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‏‎‏‎‎‏‏‏‎‎‎‎‎‏‎‎‏‏‏‏‏‎‏‎‎‏‏‏‏‏‏‎‎‏‎‏‎‏‎‏‏‎‎‏‏‏‏‎‎‎‏‏‎Disable child process restrictions‎‏‎‎‏‎"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‎‎‎‎‎‎‎‎‏‏‏‎‎‎‏‏‏‎‏‎‎‏‎‏‎‏‏‎‏‎‎‏‏‎‏‏‎‎‏‎‎‏‏‏‏‎‏‎‏‏‎‎‏‎Disable restrictions on the system resource usage of the app child processes‎‏‎‎‏‎"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‎‏‏‏‎‏‏‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‏‎‏‏‏‎‎‎‎‏‏‎‏‏‎‎‏‏‏‏‏‎‎‏‎‎‏‎‏‏‎Force enable Notes role‎‏‎‎‏‎"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‏‏‏‎‎‏‏‎‎‏‏‎‏‏‎‏‎‎‏‏‎‏‎‏‎‏‏‏‏‎‏‏‏‎‎‎‏‏‏‏‎‎‎‏‎‏‏‏‎‎‏‏‏‎‎‏‎Enable note-taking system integrations via the Notes role. If the Notes role is already enabled, does nothing.‎‏‎‎‏‎"</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‎‎‎‏‎‎‏‎‏‏‏‎‎‏‏‎‎‎‎‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‏‏‏‎‎‎‎‏‏‎‏‎‏‎‎‎‏‎Enable note-taking system integrations via the Notes role. If the Notes role is already enabled, does nothing. Requires reboot.‎‏‎‎‏‎"</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‎‏‏‏‏‏‎‏‎‎‎‏‎‏‏‎‎‏‎‏‎‎‏‎‏‏‎‏‎‏‏‎‏‎‏‏‏‎‎‏‎‎‎‏‏‎‎‎Broadcast‎‏‎‎‏‎"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‎‎‏‏‎‏‏‏‏‎‎‎‎‎‎‎‏‎‎‏‏‎‏‎‏‎‏‎‎‎‎‎‏‎‎‏‎‏‏‏‎‏‎‎‏‏‏‏‎‏‎‏‏‎‏‎Broadcast ‎‏‎‎‏‏‎<xliff:g id="CURRENTAPP">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‏‎‎‏‎‎‏‏‎‏‏‏‎‏‎‏‏‏‎‏‏‎‎‎‏‎‎‏‏‎‏‏‏‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‎‏‏‎‏‏‎Listen to broadcasts that are playing near you‎‏‎‎‏‎"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index e061cb4..e23f50d 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Se activó el Bluetooth"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Ver todos"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Pluma stylus"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"App de notas predeterminada"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Presionar el botón de la pluma stylus"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (perfil de trabajo)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Escribir en campos de texto"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorar todas las pulsaciones del botón de la pluma stylus"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Pluma stylus"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatura"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Primer día de la semana"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Preferencias de números"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Usar la configuración predeterminada de la app"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Usar la configuración predeterminada"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Domingo"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Versión de kernel"</string>
     <string name="build_number" msgid="9009733242117579826">"Número de compilación"</string>
     <string name="module_version" msgid="1787518340082046658">"Actualización del sistema de Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Información sobre la batería"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"No disponible"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Almacenamiento"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Almacenamiento y caché"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Dirección de Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Número de serie"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Tiempo de actividad"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Fecha de fabricación"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Fecha de primer uso"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Conteo de ciclos"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"No disponible"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Calculando…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Cambiar nombre"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Activar"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Esta acción restablecerá la configuración de Bluetooth y de Wi-Fi. No podrás deshacer esta acción."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Restablecer"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Se restablecieron el Bluetooth y el Wi-Fi"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Borrar"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Borrar eSIMs"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Esta acción no cancelará ningún plan de servicio móvil. Para descargar tarjetas SIM de reemplazo, comunícate con tu proveedor."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Restablecer configuración"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Desbloquear este dispositivo con el patrón"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Desbloquear este dispositivo con el PIN"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Desbloquear este dispositivo con contraseña"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Verificar patrón"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Verificar PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Verificar contraseña"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Para continuar, usa el patrón del dispositivo"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Para continuar, ingresa el PIN del dispositivo"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Para continuar, ingresa la contraseña del dispositivo"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"PIN incorrecto"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Contraseña incorrecta"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Patrón incorrecto"</string>
@@ -2030,7 +2041,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">"Desactivada"</string>
+    <string name="accessibility_summary_shortcut_disabled" msgid="564005462092499068">"Combinación 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>
@@ -2259,7 +2270,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 la 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 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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Ver por apps"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Ver por sistemas"</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">"Debido a la calidad de las inspecciones antes del envío, es posible que la cantidad de ciclos no sea igual a cero en el primer uso"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Estadísticas de procesos"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Estadísticas para geeks sobre procesos activos"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Uso de memoria"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"¿Borrar la actividad de invitado?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Las apps y los datos de esta sesión de invitado se borrarán ahora, y toda la actividad futura correspondiente se borrará cada vez que salgas del modo de invitado."</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"borrar, invitado, actividad, quitar, datos, visitante, eliminar"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Permite que el invitado use el teléfono"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Invitado puede realizar llamadas telef."</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Se compartirá el historial de llamadas con el usuario invitado"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Activar llamadas telefónicas y SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Convertir a este usuario en administrador"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"red, estado de la red móvil, estado del servicio, potencia de la señal, tipo de red móvil, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"número de serie, versión de hardware"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"información de la batería, fecha de fabricación, conteo de ciclos, primer uso"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"nivel de parche de seguridad de android, versión de banda base, versión de kernel"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, claro, oscuro, modo, sensibilidad a la luz, fotofobia, oscurecer, modo oscuro, migraña"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"tema oscuro"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Opción predeterminada del dispositivo"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Error al aplicar superposición"</string>
     <string name="special_access" msgid="1767980727423395147">"Acceso especial de apps"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apps pueden usar datos ilimitados</item>
-      <item quantity="one">1 app puede usar datos ilimitados</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Ver más"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Tareas largas en segundo plano"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Permitir tareas largas en segundo plano"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Activa o desactiva los cambios de compatibilidad de la app"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Cambios habilitados de manera predeterminada"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Cambios inhabilitados de manera predeterminada"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"No hay apps disponibles"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Solo se pueden implementar cambios de compatibilidad para las apps depurables. Instala una app depurable y vuelve a intentarlo."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Depende de otra opción de configuración"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Cuenta"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Inhabilita restricciones de procesos secundarios"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Inhabilita las restricciones del uso de recursos del sistema para los procesos secundarios de la app."</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Fuerza el rol Notas"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Permite integraciones del sistema para tomar notas con el rol Notas. Si este rol ya está habilitado, no tiene ningún efecto."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Permite integraciones del sistema para tomar notas con el rol Notas. Si este rol ya está habilitado, no tiene ningún efecto. Requiere reiniciar el dispositivo."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Transmisión"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Transmitir <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Escucha las transmisiones que se están reproduciendo cerca de ti"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index d752a4f..4a1d217 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth activado"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Ver todo"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Lápiz óptico"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Aplicación de notas predeterminada"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Pulsar botón trasero"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (perfil de trabajo)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Escribir en campos de texto"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorar todas las pulsaciones del botón del lápiz óptico"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Lápiz óptico"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatura"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Primer día de la semana"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Preferencias de números"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Usar la configuración predeterminada de la app"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Usar predeterminada"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Domingo"</string>
@@ -899,10 +900,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 dispositivos"</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_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 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_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>
@@ -912,7 +913,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 aún más rápidas. Compatible con pocos dispositivos."</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_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>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Versión del kernel"</string>
     <string name="build_number" msgid="9009733242117579826">"Número de compilación"</string>
     <string name="module_version" msgid="1787518340082046658">"Actualización del sistema de Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Información de la batería"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"No disponible"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Almacenamiento"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Almacenamiento y caché"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Dirección de Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Número de serie"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Tiempo de actividad"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Fecha de fabricación"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Fecha del primer uso"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Número de ciclos"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"No disponible"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Calculando…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Cambiar nombre"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Montar"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Se restablecerán todos los ajustes de Wi-Fi y Bluetooth. No podrás deshacer esta acción."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Restablecer"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"El Bluetooth y el Wi-Fi se han restablecido"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Borrar"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Borrar eSIMs"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"No se cancelará ningún plan de servicios móviles. Para descargar una tarjeta SIM de sustitución, ponte en contacto con tu operador."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Restablecer ajustes"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Usar el patrón también para desbloquear"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Usar el PIN también para desbloquear"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Usar la contraseña también para desbloquear"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Verifica el patrón"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Verifica el PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Verifica la contraseña"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Utiliza el patrón del dispositivo para continuar"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Introduce el PIN del dispositivo para continuar"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Introduce la contraseña del dispositivo para continuar"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"PIN incorrecto"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Contraseña incorrecta"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Patrón incorrecto"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Ver por aplicaciones"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Ver por sistemas"</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">"Debido a las inspecciones de calidad realizadas antes del envío, puede que el recuento de ciclos no sea cero en el primer uso"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Estadísticas de procesos"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Estadísticas técnicas sobre procesos en ejecución"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Uso de memoria"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"¿Eliminar actividad de invitado?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Se eliminarán las aplicaciones y datos de esta sesión de invitado ahora, y toda la actividad futura correspondiente se borrará cada vez que salgas del modo Invitado"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"eliminar, invitado, actividad, retirar, datos, visitante, borrar"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Permitir que el invitado use el teléfono"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Permitir que el invitado haga llamadas"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"El historial de llamadas se compartirá con el usuario invitado"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Activar llamadas y SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Convertir a este usuario en administrador"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"red, estado de la red móvil, estado del servicio, intensidad de la señal, tipo de red móvil, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"número de serie, versión de hardware"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"información de la batería, fecha de fabricación, número de ciclos, primer uso"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"nivel del parche de seguridad de android, versión de banda base, versión de kernel"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, claro, oscuro, modo, sensibilidad a la luz, fotofobia, hacer más oscuro, oscurecer, modo Oscuro, migraña"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"tema oscuro"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Opción predeterminada del dispositivo"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"No se ha podido crear la superposición"</string>
     <string name="special_access" msgid="1767980727423395147">"Acceso especial de aplicaciones"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplicaciones pueden utilizar datos sin restricción</item>
-      <item quantity="one">1 aplicación puede utilizar datos sin restricción</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Ver más"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Tareas extensas en segundo plano"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Permitir tareas de larga duración en segundo plano"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Activa o desactiva los cambios de compatibilidad de aplicaciones"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Cambios habilitados de manera predeterminada"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Cambios inhabilitados de manera predeterminada"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Sin apps disponibles"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Los cambios en la compatibilidad de las aplicaciones solo se pueden modificar en aplicaciones depurables; instala una aplicación de este tipo e inténtalo de nuevo."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Depende de otra opción"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Cuenta"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Inhabilitar restricciones de procesos secundarios"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Inhabilita las restricciones del uso de recursos del sistema de los procesos secundarios de la aplicación"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Forzar habilitación del rol Notas"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Habilita las integraciones del sistema para toma de notas por medio del rol Notas. Si el rol Notas ya está habilitado, no hace nada."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Habilita las integraciones del sistema para toma de notas por medio del rol de notas. Si el rol de notas ya está habilitado, no hace nada. Requiere reiniciar el dispositivo."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Emisión"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Emitir <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Escucha emisiones que estén cerca de ti"</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 63f3b8c..5cb6caf 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth on sisse lülitatud"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Kuva kõik"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Elektronpliiats"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Märkmete tegemise vaikerakendus"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Taganupu vajutus"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (tööprofiil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Kirjutamine tekstiväljadele"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Elektronpliiatsi kõigi nupuvajutuste eiramine"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Elektronpliiats"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatuur"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Nädala esimene päev"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Numbrite eelistused"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Kasuta rakenduse vaikeseadet"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Kasuta vaikerakendust"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Pühapäev"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Tuuma versioon"</string>
     <string name="build_number" msgid="9009733242117579826">"Järgunumber"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play süsteemivärskendus"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Akuteave"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Pole saadaval"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Mäluruum"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Salvestusruum ja vahemälu"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetoothi aadress"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Seerianumber"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Talitlusaeg"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Tootmiskuupäev"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Esmakordse kasutamise kuupäev"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Tsüklite arv"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Pole saadaval"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Arvutamine ..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Nimeta ümber"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Ühendamine"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"See lähtestab kõik WiFi ja Bluetoothi seaded. Seda toimingut ei saa tagasi võtta."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Lähtesta"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth ja WiFi on lähtestatud"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Kustuta"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM-ide kustutamine"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"See ei tühista mobiilsideteenuse pakette. Asendus-SIM-ide allalaadimiseks võtke ühendust operaatoriga."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Lähtesta seaded"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Kasuta mustrit ka selle seadme avamiseks"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Kasuta PIN-koodi ka selle seadme avamiseks"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Kasuta parooli ka selle seadme avamiseks"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Mustri kinnitamine"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"PIN-koodi kinnitamine"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Parooli kinnitamine"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Jätkamiseks kasutage seadme mustrit"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Jätkamiseks sisestage seadme PIN-kood"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Jätkamiseks sisestage seadme parool"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Vale PIN-kood"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Vale parool"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Vale muster"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Kuva rakenduste kaupa"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Kuva süsteemide kaupa"</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">"Enne saatmist tehtud kvaliteedikontrolli tõttu ei pruugi tsüklite arv esmakordsel kasutamisel olla null"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Protsessi statistika"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Tehnilised üksikasjad protsesside käitamise kohta"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Mälu kasutamine"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Kas kustutada külalise tegevus?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Selle külastajaseansi rakendused ja andmed kustutatakse kohe ning kõik tulevased külastajate tegevused kustutatakse külalisrežiimist väljumisel."</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"kustuta, kustutamine, külaline, tegevus, tegevuse, eemalda, eemaldamine, kõrvalda, külalise"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Luba külalisel telefoni kasutada"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Luba külalistel helistada"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Külalisest kasutajaga jagatakse kõneajalugu"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Lülita telefonikõned ja SMS-id sisse"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Määra see kasutaja administraatoriks"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"võrk, mobiilsidevõrgu olek, teenuse olek, signaali tugevus, mobiilsidevõrgu tüüp, rändlus, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"seerianumber, riistvaraversioon"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"aku teave, tootmiskuupäev, tsüklite arv, esmakordne kasutamine"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"androidi turvapaiga tase, põhiribaversioon, tuuma versioon"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"teema, hele, tume, režiim, valgustundlikkus, fotofoobia, tumedamaks muutmine, tumendamine, tume režiim, migreen"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"tume teema"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Seadme vaikeseade"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Ülekatet ei õnnestunud rakendada"</string>
     <string name="special_access" msgid="1767980727423395147">"Rakenduse erijuurdepääs"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> rakendusel on piiranguteta juurdepääs andmesidele</item>
-      <item quantity="one">1 rakendusel on piiranguteta juurdepääs andmesidele</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Kuva rohkem"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Pikaajalised taustaülesanded"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Luba pikaajalised taustaülesanded"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Rakenduse ühilduvuse muudatuste lüliti"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Vaikimisi lubatud rakenduste muudatused"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Vaikimisi keelatud rakenduste muudatused"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Rakendusi pole"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Rakenduse ühilduvuse muudatusi saab muuta silutavate rakenduste puhul. Installige silutav rakendus ja proovige uuesti."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Oleneb teisest seadest"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Konto"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Keela alamprotsesside piirangud"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Keelake rakenduste alamprotsesside puhul süsteemiressursside kasutuse piirangud"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Märkmete rolli sundlubamine"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Lubage märkmete rolli kaudu märkmete tegemise süsteemi integratsioonid. Kui märkmete roll on juba lubatud, ei tehta midagi."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Lubage märkmete rolli kaudu märkmete tegemise süsteemi integratsioonid. Kui märkmete roll on juba lubatud, ei tehta midagi. Nõuab taaskäivitamist."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Ülekanne"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Rakenduse <xliff:g id="CURRENTAPP">%1$s</xliff:g> ülekandmine"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Kuulake ülekandeid, mida teie läheduses esitatakse"</string>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 89122969..6bec960 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Aktibatu da Bluetootha"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Ikusi guztiak"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Arkatza"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Oharren aplikazio lehenetsia"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Muturreko botoia sakatzean"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (laneko profila)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Idatzi testu-eremuetan"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Egin ez ikusi arkatzarekin sakatzen diren botoi guztiei"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Arkatza"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Tenperatura"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Asteko lehen eguna"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Zenbaki-hobespenak"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Erabili aplikazioaren hobespen lehenetsiak"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Erabili hobespen lehenetsia"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Igandea"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Kernel bertsioa"</string>
     <string name="build_number" msgid="9009733242117579826">"Konpilazio-zenbakia"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play-ren sistemaren eguneratzea"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Bateriari buruzko informazioa"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Ez dago erabilgarri"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Memoria"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Memoria eta cachea"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth bidez konektatzeko helbidea"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serie-zenbakia"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Berrabiarazi ondoren abian izandako denbora"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Fabrikatze-data"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Lehen erabileraren data"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Ziklo kopurua"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Ez dago erabilgarri"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Kalkulatzen…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Aldatu izena"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Instalatu"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Wifiaren eta Bluetootharen ezarpen guztiak berrezarriko dira. Ezin da desegin ekintza."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Berrezarri"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Berrezarri dira Bluetootha eta wifia"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Ezabatu eduki guztia"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Ezabatu eSIMetako eduki guztia"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Ez da utziko bertan behera mugikorretarako zerbitzu-planik. Ordezko SIMak deskargatzeko, jarri operadorearekin harremanetan."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Berrezarri ezarpenak"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Erabili eredua ere gailua desblokeatzeko"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Erabili PINa ere gailua desblokeatzeko"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Erabili pasahitza ere gailua desblokeatzeko"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Egiaztatu eredua"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Egiaztatu PINa"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Egiaztatu pasahitza"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Aurrera egiteko, marraztu gailuaren eredua"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Aurrera egiteko, idatzi gailuaren PINa"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Aurrera egiteko, idatzi gailuaren pasahitza"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"PINa ez da zuzena"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Pasahitza ez da zuzena"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Eredua ez da zuzena"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Ikusi aplikazioaren arabera"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Ikusi sistemaren arabera"</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">"Bidali aurretik egin beharreko kalitate-ikuskapenak direla eta, baliteke ziklo kopurua zero ez izatea lehen erabileran"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Prozesu-estatistikak"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Exekutatzen ari diren prozesuei buruzko estatistika zehatzak"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Memoriaren erabilera"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Gonbidatuaren jarduerak ezabatu nahi dituzu?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Gonbidatuentzako saio honetako aplikazio eta datuak orain ezabatuko dira; bestalde, etorkizuneko gonbidatuen jarduera guztiak gonbidatu modutik irteten zaren bakoitzean ezabatuko dira"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"ezabatu, gonbidatu, jarduera, kendu, datuak, bisitari"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Eman telefonoa erabiltzeko baimena gonbidatuari"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Utzi telefono-deiak egiten gonbidatuari"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Deien historia erabiltzaile gonbidatuarekin partekatuko da"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Aktibatu telefono-deiak eta SMSak"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Egin erabiltzaile hau administratzaile"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"sarea, sare mugikorraren egoera, zerbitzuaren egoera, seinalearen indarra, sare mugikor mota, ibiltaritza, iccid-a, eid-a"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid-a"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"serie-zenbakia, hardware-bertsioa"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"bateriari buruzko informazioa, fabrikatze-data, ziklo kopurua, lehen erabilera"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"android-en segurtasunaren adabaki-maila, oinarri-bandaren bertsioa, kernel bertsioa"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"gaia, argia, iluna, modua, argiarekiko sentikortasuna, fotofobia, ilundu, modu iluna, migraina"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"gai iluna"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Gailuaren balio lehenetsiak"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Ezin izan da aplikatu gainjartzea"</string>
     <string name="special_access" msgid="1767980727423395147">"Aplikazio-baimen bereziak"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplikaziok dute datuak mugarik gabe erabiltzeko aukera</item>
-      <item quantity="one">1 aplikaziok du datuak mugarik gabe erabiltzeko aukera</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Ikusi gehiago"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Atzeko planoko zeregin luzeak"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Eman atzeko planoko zeregin luzeak exekutatzeko baimena"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Aktibatu/Desaktibatu aplikazioaren bateragarritasun-aldaketak"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Gaitutako aldaketa lehenetsiak"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Desgaitutako aldaketa lehenetsiak"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Ez dago aplikaziorik erabilgarri"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Aratz daitezkeen aplikazioetan soilik egin daitezke bateragarritasun-aldaketak. Instalatu araz daitekeen aplikazio bat eta saiatu berriro."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Beste ezarpen baten araberakoa da"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Kontua"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Desgaitu haurraren prozesamenduarekin lotutako murriztapenak"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Desgaitu murriztapenak haurrak prozesatzen duen aplikazioari dagokion sistema-baliabideen erabileran"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Behartu Oharrak funtzioa gaitzera"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Gaitu sistemaren oharrak idazteko integrazioak Oharrak izeneko funtzioarekin. Oharrak funtzioa gaituta badago, ez da ezer aldatuko."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Gaitu sistemaren oharrak idazteko integrazioak Oharrak izeneko funtzioarekin. Oharrak funtzioa gaituta badago, ez da ezer aldatuko. Gailua berrabiarazi behar da."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Igorpena"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Igorri <xliff:g id="CURRENTAPP">%1$s</xliff:g> aplikazioaren audioa"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Entzun zure inguruan igortzen ari diren edukia"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 923d165..e296651 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"بلوتوث روشن شد"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"دیدن همه"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"قلم"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"برنامه پیش‌فرض یادداشت‌ها"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"فشار دادن دکمه قلم"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (نمایه کاری)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"دما"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"اولین روز هفته"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"اولویت‌های اعداد"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"استفاده از پیش‌فرض برنامه"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"استفاده از اولویت پیش‌فرض"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"‏سلسیوس (‎°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"‏فارنهایت (‎°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"یکشنبه"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"نسخهٔ اصلی"</string>
     <string name="build_number" msgid="9009733242117579826">"شمارهٔ ساخت"</string>
     <string name="module_version" msgid="1787518340082046658">"‏به‌روزرسانی سیستم Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"اطلاعات باتری"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"موجود نیست"</string>
     <string name="storage_settings" msgid="7472188817781592677">"حافظه"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"فضای ذخیره‌سازی و حافظه پنهان"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"آدرس بلوتوث"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"شمارهٔ سریال"</string>
     <string name="status_up_time" msgid="1274778533719495438">"زمان فعالیت"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"تاریخ تولید"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"تاریخ اولین استفاده"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"تعداد چرخه‌ها"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"دردسترس نیست"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"در حال محاسبه..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"تغییر نام دادن"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"قرار دادن"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"‏با این کار، همه تنظیمات Wi-Fi و بلوتوث بازنشانی خواهد شد. این کنش واگرد نمی‌شود."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"بازنشانی"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"‏بلوتوث و Wi‑Fi بازنشانی شدند"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"پاک‌سازی"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"پاک کردن سیم‌کارت داخلی"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"با این کار، هیچ‌یک از طرح‌های سرویس تلفن همراه لغو نمی‌شود. برای بارگیری سیم‌کارت‌های جایگزین، با شرکت مخابراتی‌تان تماس بگیرید."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"بازنشانی تنظیمات"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"از الگو برای قفل‌گشایی این دستگاه نیز استفاده شود"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"از پین برای قفل‌گشایی این دستگاه نیز استفاده شود"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"از گذرواژه برای قفل‌گشایی این دستگاه نیز استفاده شود"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"تأیید الگو"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"تأیید پین"</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">"برای ادامه دادن، پین دستگاه را وارد کنید"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"برای ادامه دادن، گذرواژه دستگاه را وارد کنید"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"پین اشتباه است"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"گذرواژه اشتباه"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"الگوی اشتباه"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"مشاهده براساس برنامه"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"بازدید براساس سیستم"</string>
     <string name="battery_usage_less_than_percent" msgid="5873099028895001082">"کمتراز <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="battery_cycle_count_footer" msgid="3642121059800373545">"به‌دلیل بررسی کیفیت پیش‌از ارسال، ممکن است عدد دور در اولین استفاده صفر نباشد"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"آمار فرآیند"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"آمار دقیق برای فرآیندهای در حال اجرا"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"استفاده از حافظه"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"فعالیت مهمان حذف شود؟"</string>
     <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="8300355036005240911">"اجازه دادن به مهمان برای استفاده از تلفن"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"اجازه دادن به مهمان برای گرفتن تماس تلفنی"</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>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"‏شبکه، وضعیت شبکه تلفن همراه، وضعیت سرویس، شدت سیگنال، نوع شبکه تلفن همراه، فراگردی، iccid و eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"‏سند شناسایی جاسازی‌شده (EID)"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"شماره سریال، نسخه سخت‌افزار"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"اطلاعات باتری، تاریخ تولید، تعداد چرخه، اولین استفاده"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"‏سطح وصله امنیتی android، نسخه باند پایه، نسخه اصلی"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"زمینه، روشن، تاریک، حالت، حساسیت به نور، نورهراسی، تاریک‌تر کردن، تاریک کردن، حالت تاریک، میگرن"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"زمینه تیره"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"پیش‌فرض دستگاه"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"همپوشانی اعمال نشد"</string>
     <string name="special_access" msgid="1767980727423395147">"دسترسی ویژه برنامه‌ها"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> برنامه می‌تواند از داده نامحدود استفاده کند</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> برنامه می‌تواند از داده نامحدود استفاده کند</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"مشاهده محتوای بیشتر"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"کارهای طولانی در پس‌زمینه"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"مجاز کردن کارهای طولانی‌مدت در پس‌زمینه"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"روشن/خاموش کردن تغییرات سازگاری برنامه"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"تغییرات فعال پیش‌فرض"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"تغییرات غیرفعال پیش‌فرض"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"هیچ برنامه‌ای دردسترس نیست"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"تغییرات سازگاری برنامه را فقط برای برنامه‌های قابل اشکال‌زدایی می‌توان تغییر داد. برنامه قابل اشکال‌زدایی را نصب کنید و دوباره امتحان کنید."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"به تنظیم دیگری بستگی دارد"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"حساب"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"غیرفعال کردن محدودیت‌های فرایندهای مربوط به کودک"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"غیرفعال کردن محدودیت‌های استفاده فرایندهای مربوط به کودکِ برنامه از منابع سیستم"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"فعال کردن اجباری نقش «یادداشت»"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"فعال کردن ادغام‌های سیستم یادداشت‌برداری ازطریق نقش «یادداشت». اگر نقش «یادداشت» ازقبل فعال شده باشد، کاری انجام نمی‌شود."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"فعال کردن ادغام‌های سیستم یادداشت‌برداری ازطریق نقش «یادداشت». اگر نقش «یادداشت» ازقبل فعال شده باشد، کاری انجام نمی‌شود. به بازراه‌اندازی نیاز دارد."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"همه‌فرستی"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"همه‌فرستی <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"به همه‌فرستی‌هایی که اطراف شما درحال پخش هستند گوش دهید"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 0bc6900..5d883f1 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth käytössä"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Näytä kaikki"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Näyttökynä"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Oletusmuistiinpanosovellus"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Näyttökynäpainikkeen painallus"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (työprofiili)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Kirjoittaminen tekstikenttiin"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ohita kaikki näyttökynäpainikkeen painallukset"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Näyttökynä"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Lämpötila"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Viikon ensimmäinen päivä"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Numeroasetukset"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Käytä sovelluksen oletusvaihtoehtoa"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Käytä oletusta"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Sunnuntai"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Kernel-versio"</string>
     <string name="build_number" msgid="9009733242117579826">"Ohjelmistoversion numero"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play ‑järjestelmäpäivitys"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Akun tiedot"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Ei käytettävissä"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Tallennustila"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Tallennustila ja välimuisti"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth-osoite"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Sarjanumero"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Käynnissäoloaika"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Valmistuspäivä"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Ensimmäinen käyttöpäivä"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Syklien määrä"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Ei saatavilla"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Lasketaan…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Nimeä uudelleen"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Ota käyttöön"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Tämä nollaa kaikki Wi-Fi- ja Bluetooth-asetukset. Toimintoa ei voi kumota."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Nollaa"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth ja Wi-Fi on nollattu"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Tyhjennä"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIMien poistaminen"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Tämä ei peru liittymäsopimustasi. Jos haluat ladata korvaavia SIM-kortteja, ota yhteyttä operaattoriin."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Nollaa asetukset"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Käytä myös kuviota laitteen avaamiseen"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Käytä myös PIN-koodia laitteen avaamiseen"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Käytä myös salasanaa laitteen avaamiseen"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Vahvista kuvio"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Vahvista PIN-koodi"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Vahvista salasana"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Jatka piirtämällä kuvio"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Jatka lisäämällä laitteesi PIN-koodi"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Jatka lisäämällä laitteesi salasana"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Väärä PIN-koodi"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Väärä salasana"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Väärä kuvio"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Näytä sovellusten mukaan"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Näytä järjestelmien mukaan"</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">"Ennen lähetystä tehtyjen laaduntarkastusten vuoksi kierrosluku ei välttämättä ole nolla ensimmäisellä käyttökerralla."</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Käsittelytiedot"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Käsittelyn tarkat tiedot"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Muistin käyttö"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Poistetaanko vierastoiminta?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Tämän vierailija-käyttökerran sovellukset ja data poistetaan nyt. Kaikki tuleva vierastoiminta poistetaan aina, kun poistut vierailija-käyttökerrasta."</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"poista, vieras, toiminta, data, kävijä, tyhjennä"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Salli vieraalle puhelimen käyttö"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Salli vieraan soittaa puheluita"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Soittohistoria jaetaan tälle käyttäjälle"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Ota puhelut ja tekstiviestit käyttöön"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Tee tästä käyttäjästä järjestelmänvalvoja"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"verkko, mobiiliverkon tila, yhteyden tila, signaalin voimakkuus, mobiiliverkon tyyppi, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"sarjanumero, laitteistoversio"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"akun tiedot, valmistuspäivä, syklien määrä, ensimmäinen käyttökerta"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"android-tietoturvakorjauksen taso, baseband-versio, kernel-versio"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"teema, valo, tumma, tila, valonarkuus, fotofobia, tee tummemmaksi, tummenna, tumma tila, migreeni"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"tumma teema"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Laitteen oletusasetus"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Peittokuvan piirto epäonnistui"</string>
     <string name="special_access" msgid="1767980727423395147">"Erityisluvat"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> sovelluksen datankäyttöä ei rajoiteta</item>
-      <item quantity="one">1 sovelluksen datankäyttöä ei rajoiteta</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Katso lisää"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Pitkät taustatehtävät"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Salli pitkäkestoiset tehtävät taustalla"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Sovellusten yhteensopivuuden muutokset päälle/pois"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Oletusarvoisesti käyttöön otettujen muutokset"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Oletusarvoisesti käytöstä poistettujen muutokset"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Ei sovelluksia"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Sovelluksen yhteensopivuusmuutoksia voi tehdä vain virheenkorjausta tukevissa sovelluksissa. Asenna virheenkorjausta tukeva sovellus ja yritä uudelleen."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Toinen asetus vaikuttaa siihen."</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Tili"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Poista käytöstä alatason prosessirajoitukset"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Poista käytöstä rajoitukset, jotka liittyvät järjestelmäresurssin käyttöön sovelluksen alatason prosesseissa"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Pakota Muistiinpanot-rooli käyttöön"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Ota käyttöön muistiinpanojärjestelmän integraatioita Muistiinpanot-roolin avulla. Jos Muistiinpanot-rooli on jo käytössä, tämä ei vaikuta mitenkään."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Ota käyttöön muistiinpanojärjestelmän integraatioita Muistiinpanot-roolin avulla. Jos Muistiinpanot-rooli on jo käytössä, tämä ei vaikuta mitenkään. Vaatii uudelleenkäynnistystä."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Lähetä"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Lähetä <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Kuuntele lähellä olevia lähetyksiä"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 0e1fab6..ae59af7 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth activé"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Tout afficher"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stylet"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Application de prise de notes par défaut"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Appui du bouton supérieur"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (profil professionnel)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Écrire dans les champs de texte"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorer tous les appuis d\'un stylet sur les boutons"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylet"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Température"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Premier jour de la semaine"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Préférences relatives aux chiffres"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Utiliser la valeur par défaut de l\'application"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Utiliser la valeur par défaut"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Dimanche"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Version du noyau"</string>
     <string name="build_number" msgid="9009733242117579826">"Numéro de version"</string>
     <string name="module_version" msgid="1787518340082046658">"Mise à jour du système Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Informations sur la pile"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Non disponible"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Stockage"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Stockage et mise en cache"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Adresse Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Numéro de série"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Durée d\'activité"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Date de fabrication"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Date de la première utilisation"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Nombre de cycles"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Non accessible"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Calcul en cours"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Renommer"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Monter"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Tous les paramètres Wi-Fi et Bluetooth seront réinitialisés. Vous ne pouvez pas annuler cette action."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Réinitialiser"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Le Bluetooth et le Wi-Fi ont été réinitialisés"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Effacer"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Effacer les cartes eSIM"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Cela n\'annulera aucun forfait de services cellulaires. Pour télécharger une carte SIM de remplacement, communiquez avec votre fournisseur de services."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Réinitialiser les paramètres"</string>
@@ -1458,6 +1463,18 @@
     <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_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>
@@ -2326,6 +2343,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Afficher par application"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Afficher par système"</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">"En raison des contrôles de qualité effectués avant l\'expédition, le nombre de cycles peut ne pas être égal à zéro lors de la première utilisation"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Statistiques des processus"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Statistiques détaillées sur les processus en cours d\'exécution"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Mémoire utilisée"</string>
@@ -2703,7 +2721,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Supprimer l\'activité d\'invité?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Les applications et les données de cette session d\'invité seront supprimées maintenant, et toutes les activités d\'invité futures seront supprimées chaque fois que vous quitterez le mode Invité"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"supprimer, invité, activité, retirer, données, visiteur, effacer"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Autoriser l\'invité à utiliser le téléphone"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Permettre à l\'invité de passer des appels téléphoniques"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"L\'historique des appels sera partagé avec l\'utilisateur invité"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Activer appels téléphoniques et textos"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Définir cet utilisateur comme administrateur"</string>
@@ -2929,6 +2947,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"réseau, état du réseau cellulaire, état du service, puissance du signal, type de réseau cellulaire, itinérance, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"numéro de série, version matérielle"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"informations sur la pile, date de fabrication, nombre de cycles, première utilisation"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"niveau du correctif de sécurité android, version de la bande de base, version du noyau"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"thème, luminosité, sombre, mode, sensibilité à la lumière, photophobie, assombrir, rendre sombre, mode sombre, migraine"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"thème sombre"</string>
@@ -3855,10 +3874,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Valeurs par défaut de l\'appareil"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Impossible d\'appliquer la superposition"</string>
     <string name="special_access" msgid="1767980727423395147">"Accès spécial des applications"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> application peut utiliser les données sans restriction</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> applications peuvent utiliser les données sans restriction</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"En voir plus"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Longues tâches en arrière-plan"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Autoriser les longues tâches en arrière-plan"</string>
@@ -4146,7 +4161,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Basculez les changements de compatibilité des applications"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Changements activés par défaut"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Changements désactivés par défaut"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Aucune application"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Les modifications de compatibilité des applications peuvent uniquement être modifiées pour les applications débogables. Installez une application débogable, puis réessayez."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Dépend d\'un autre paramètre"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Compte"</string>
@@ -4664,7 +4678,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Désactiver les restrict. pour les processus enfant"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Désactivez les restrictions sur l\'utilisation des ressources système pour les processus d\'application relatifs aux profils pour enfants"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Forcer l\'activation de la fonction Notes"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Activez les intégrations de systèmes de prise de notes par le biais de la fonction Notes. Si la fonction Notes est déjà activée, aucune action n\'est nécessaire."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Activez les intégrations de systèmes de prise de notes par le biais de la fonction Notes. Si la fonction Notes est déjà activée, aucune action n\'est nécessaire. Nécessite un redémarrage."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Diffusion"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Diffuser <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Écoutez les diffusions en cours à proximité"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 88feadc..cf0e2b8 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth activé"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Tout afficher"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stylet"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Appli de prise de notes par défaut"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Appui sur le bouton du stylet"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Profil professionnel)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Écrire dans les champs de texte"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorer toutes les pressions sur les boutons du stylet"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylet"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Température"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Premier jour de la semaine"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Préférences liées aux chiffres"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Utiliser le paramètre par défaut de l\'appli"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Utiliser l\'option par défaut"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Dimanche"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Version de noyau"</string>
     <string name="build_number" msgid="9009733242117579826">"Numéro de build"</string>
     <string name="module_version" msgid="1787518340082046658">"Mise à jour du système Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Informations sur la batterie"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Non disponible"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Stockage"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Espace de stockage et cache"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Adresse Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Numéro de série"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Durée d\'activité"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Date de fabrication"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Date de première utilisation"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Nombre de cycles"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Non disponible"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Calcul en cours"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Renommer"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Installer"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Tous les paramètres Wi‑Fi et Bluetooth seront réinitialisés. Cette action est irréversible."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Réinitialiser"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Le Bluetooth et le Wi‑Fi ont été réinitialisés"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Effacer"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Effacer les eSIM"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Cela n\'entraînera la résiliation d\'aucun forfait mobile. Pour télécharger des SIM de remplacement, contactez votre opérateur."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Réinitialiser les paramètres"</string>
@@ -1302,7 +1307,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 fonction Économiseur de 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 sauvegarde des 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>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Utiliser aussi schéma pour déverrouiller appareil"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Utiliser aussi le code pour déverrouiller"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Utiliser aussi mot de passe pour déverrouiller appareil"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Valider le schéma"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Valider le code"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Valider le mot de passe"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Utilisez le schéma de l\'appareil pour continuer."</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Saisissez le code de l\'appareil pour continuer."</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Saisissez le mot de passe de l\'appareil pour continuer."</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Code d\'accès incorrect."</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Mot de passe incorrect."</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Schéma incorrect"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Afficher par : applis"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Afficher par : systèmes"</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">"En raison du contrôle qualité avant livraison, il est possible que le nombre de cycles ne soit pas nul à la première utilisation"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Statistiques relatives aux processus"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Statistiques détaillées relatives aux processus en cours d\'exécution"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Utilisation de la mémoire"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Supprimer l\'activité ?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Les applis et données de cette session Invité seront immédiatement supprimées, et toute l\'activité des futures sessions sera supprimée à chaque fois que vous quitterez le mode Invité"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"supprimer, invité, activité, enlever, données, visiteur, effacer"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Autoriser les invités à téléphoner"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Autoriser l\'invité à passer des appels"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"L\'historique des appels sera partagé avec l\'utilisateur invité"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Activer les appels téléphoniques et les SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Définir cet utilisateur comme administrateur"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"réseau, état du réseau mobile, état du service, force du signal, type de réseau mobile, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"numéro de série, version logicielle"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"infos sur la batterie, date de fabrication, nombre de cycles, première utilisation"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"mise à jour du correctif de sécurité Android, version de bande de base, version de noyau"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"thème, luminosité, mode sombre, sensibilité à la lumière, photophobie, assombrir, plus sombre, mode sombre, migraine"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"thème sombre"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Par défaut"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Échec de l\'application de la superposition"</string>
     <string name="special_access" msgid="1767980727423395147">"Accès spéciaux des applis"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> application peut utiliser les données sans restrictions</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> applications peuvent utiliser les données sans restrictions</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"En savoir plus"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Tâches longues en arrière-plan"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Autoriser les tâches longues en arrière-plan"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Activer/Désactiver les changements de compatibilité des applications"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Modifications activées par défaut"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Modifications désactivées par défaut"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Aucune appli dispo"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Vous ne pouvez modifier la compatibilité des applications que si celles-ci sont débogables. Installez une application débogable, puis réessayez."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Dépend d\'un autre paramètre"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Compte"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Désactiver les limites pour les processus enfant"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Désactiver les limites d\'utilisation des ressources système pour les processus enfant des applis"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Forcer l\'activation du rôle \"Notes\""</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Active les intégrations de systèmes de prise de notes via le rôle \"Notes\". N\'a aucun effet si ce rôle est déjà activé."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Active les intégrations de systèmes de prise de notes via le rôle \"Notes\". N\'a aucun effet si ce rôle est déjà activé. Un redémarrage est nécessaire."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Diffuser"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Diffuser <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Écoutez les contenus diffusés à proximité"</string>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 08916e0..3ebf47c 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"O Bluetooth está activado"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Ver todo"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Lapis óptico"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Aplicación de notas predeterminada"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Presión do botón do lapis óptico"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (perfil de traballo)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Escribir en campos de texto"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorar todas as presións de botóns do lapis óptico"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Lapis óptico"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatura"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Primeiro día da semana"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Preferencias de números"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Usar configuración predeterminada da aplicación"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Usa a opción predeterminada"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Domingo"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Versión de kernel"</string>
     <string name="build_number" msgid="9009733242117579826">"Número de compilación"</string>
     <string name="module_version" msgid="1787518340082046658">"Actualización do sistema de Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Información sobre a batería"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Non dispoñible"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Almacenamento"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Almacenamento e memoria caché"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Enderezo Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Número de serie"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Tempo activo"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Data de fabricación"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Data do primeiro uso"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Número de ciclos"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Non dispoñible"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Calculando..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Cambiar nome"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Inserir"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Restableceranse todas as opcións de configuración da wifi e do Bluetooth. Non se poderá desfacer esta acción."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Restablecer"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Restablecéronse o Bluetooth e a wifi"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Borrar"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Borrar eSIM"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Non se cancelará ningún dos plans de servizos móbiles que teñas. Para descargar tarxetas SIM de substitución, ponte en contacto co teu operador."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Restablecer configuración"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Usar tamén padrón para desbloquear"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Usar tamén PIN para desbloquear"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Usar tamén contrasinal para desbloquear"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Verifica o padrón"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Verifica o PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Verifica o contrasinal"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Utiliza o padrón do dispositivo para continuar"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Escribe o PIN do dispositivo para continuar"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Escribe o contrasinal do dispositivo para continuar"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"PIN incorrecto"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Contrasinal incorrecto"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Padrón incorrecto"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Ver por aplicacións"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Ver por sistemas"</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">"Pode que, cando vaias usar a batería por primeira vez, o reconto de ciclos non sexa cero, o cal se debe ás inspeccións de calidade previas ao envío"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Estatísticas de procesos"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Estatísticas frikis sobre procesos en execución"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Uso da memoria"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Eliminar actividade do convidado?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"As aplicacións e os datos desta sesión de convidado eliminaranse agora, e toda actividade de convidados futura eliminarase cada vez que se saia do modo de convidado"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"eliminar, convidado, actividade, quitar, datos, visitante, borrar"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Permitir ao convidado usar o teléfono"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Permitir que o convidado faga chamadas"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"O historial de chamadas compartirase co usuario convidado"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Activar chamadas telefónicas e SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Converter este usuario en administrador"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"rede, estado da rede de telefonía móbil, estado do servizo, intensidade do sinal, tipo de rede de telefonía móbil, itinerancia, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"número de serie, versión do hardware"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"información da batería, data de fabricación, número de ciclos, primeiro uso"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"nivel do parche de seguranza de android, versión de banda base, versión de kernel"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, claro, escuro, modo, sensibilidade á luz, fotofobia, escurecer, ensombrecer, modo escuro, xaqueca"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"tema escuro"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Configuración predeterminada do dispositivo"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Produciuse un erro ao aplicar a superposición"</string>
     <string name="special_access" msgid="1767980727423395147">"Acceso especial das aplicacións"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplicacións poden usar datos sen restricións</item>
-      <item quantity="one">1 aplicación pode usar datos sen restricións</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Ver máis"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Tarefas longas (segundo plano)"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Permitir tarefas longas en segundo plano"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Activa/desactiva os cambios de compatibilidade das aplicacións"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Cambios activados de modo predeterminado"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Cambios desactivados de modo predeterminado"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Sen apps dispoñibles"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Os cambios na compatibilidade das aplicacións só se poden modificar para aplicacións que se poden depurar. Instala unha aplicación deste tipo e téntao de novo."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Depende doutra opción de configuración"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Conta"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Desactivar as restricións de procesos secundarios"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Desactiva as restricións no uso de recursos do sistema por parte dos procesos secundarios da aplicación"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Forzar a activación da función de notas"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Activa as integracións do sistema para a toma de notas a través da función de notas. Se esta función xa está activada, non se leva a cabo ningunha acción."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Activa as integracións do sistema para a toma de notas a través da función de notas. Se esta función xa está activada, non se levará a cabo ningunha acción. Será necesario reiniciar o dispositivo."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Difusión"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Emitir <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Escoita difusións que se estean reproducindo preto de ti"</string>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 2ef107b..edb4618 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"બ્લૂટૂથ ચાલુ કર્યું"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"બધા ડિવાઇસ જુઓ"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"સ્ટાઇલસ"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"ડિફૉલ્ટ નોંધ ઍપ"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"ટેઇલ બટન દબાવો"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (ઑફિસની પ્રોફાઇલ)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"તાપમાન"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"અઠવાડિયાનો પહેલો દિવસ"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"નંબરની પસંદગીઓ"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"ઍપ ડિફૉલ્ટનો ઉપયોગ કરો"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"ડિફૉલ્ટનો ઉપયોગ કરો"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"સેલ્સિયસ (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"ફૅરન્હાઇટ (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"રવિવાર"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"કર્નલ વર્ઝન"</string>
     <string name="build_number" msgid="9009733242117579826">"બિલ્ડ નંબર"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play સિસ્ટમ અપડેટ"</string>
+    <string name="battery_info" msgid="7873528123969546728">"બૅટરી માહિતી"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"ઉપલબ્ધ નથી"</string>
     <string name="storage_settings" msgid="7472188817781592677">"સ્ટોરેજ"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"સ્ટોરેજ અને કૅશ મેમરી"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"બ્લૂટૂથ ઍડ્રેસ"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"અનુક્રમ નંબર"</string>
     <string name="status_up_time" msgid="1274778533719495438">"ચાલુ થયાનો સમય"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"નિર્માણની તારીખ"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"પહેલી વાર ઉપયોગ કર્યાની તારીખ"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"ચક્રની સંખ્યા"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"ઉપલબ્ધ નથી"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"ગણતરી કરી રહ્યું છે..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"નામ બદલો"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"માઉન્ટ કરો"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"આનાથી વાઇ-ફાઇ અને બ્લૂટૂથના બધા સેટિગ રીસેટ થશે. તમે આ ક્રિયા માટે કરેલો છેલ્લો ફેરફાર રદ કરી શકશો નહીં."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"રીસેટ કરો"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"બ્લૂટૂથ અને વાઇ-ફાઇ રીસેટ કર્યું છે"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"કાઢી નાખો"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM કાઢી નાખો"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"આનાથી કોઈપણ મોબાઇલ સેવા પ્લાન રદ થશે નહીં. બદલીના સિમ કાર્ડ ડાઉનલોડ કરવા માટે, તમારા મોબાઇલ ઑપરેટરનો સંપર્ક કરો."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"સેટિંગ રીસેટ કરો"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"ડિવાઇસને અનલૉક કરવા પૅટર્નનો પણ ઉપયોગ કરો"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"ડિવાઇસને અનલૉક કરવા પિનનો પણ ઉપયોગ કરો"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"ડિવાઇસને અનલૉક કરવા પાસવર્ડનો પણ ઉપયોગ કરો"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"પૅટર્નની ચકાસણી કરો"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"પિનની ચકાસણી કરો"</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">"ચાલુ રાખવા માટે તમારા ડિવાઇસનો પિન દાખલ કરો"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"ચાલુ રાખવા માટે તમારા ડિવાઇસનો પાસવર્ડ દાખલ કરો"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"ખોટો પિન"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"ખોટો પાસવર્ડ"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"ખોટી પૅટર્ન"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"ઍપ દ્વારા જુઓ"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"સિસ્ટમ દ્વારા જુઓ"</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">"રવાના કરતા પહેલાં કરેલી ક્વૉલિટી માટેની તપાસના કારણે પહેલી વાર ઉપયોગ વખતે ચક્રની સંખ્યા શૂન્ય ન હોય એમ બને"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"પ્રક્રિયા આંકડા"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"ચાલુ પ્રક્રિયાઓ વિશેનાં અવ્યવસ્થિત આંકડાઓ"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"મેમરીનો ઉપયોગ"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"શું અતિથિની પ્રવૃત્તિ ડિલીટ કરીએ?"</string>
     <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="8300355036005240911">"અતિથિને ફોનનો ઉપયોગ કરવાની મંજૂરી આપો"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"અતિથિને ફોન કૉલ કરવાની મંજૂરી આપો"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"કૉલ ઇતિહાસ અતિથિ વપરાશકર્તા સાથે શેર કરવામાં આવશે"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"ફોન કૉલ અને SMS ચાલુ કરો"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"આ વપરાશકર્તાને ઍડમિન બનાવો"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"નેટવર્ક, મોબાઇલ નેટવર્કની સ્થિતિ, સેવાની સ્થિતિ, સિગ્નલની પ્રબળતા, મોબાઇલ નેટવર્કનો પ્રકાર, રોમિંગ, ICCID, EID"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"અનુક્રમ નંબર, હાર્ડવેર વર્ઝન"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"બૅટરી માહિતી, નિર્માણની તારીખ, ચક્રની સંખ્યા, પહેલી વાર ઉપયોગ"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"Android સુરક્ષા પૅચ સ્તર, બેઝબૅન્ડ વર્ઝન, કર્નેલ વર્ઝન"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"થીમ, લાઇટ, ઘેરો મોડ, પ્રકાશની સંવેદિતા, ફોટોફોબિયા, વધુ ઘેરી કરો, ઘેરી કરો, ઘેરો મોડ, આધાશીશી"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"ઘેરી થીમ"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"ડિવાઇસ ડિફૉલ્ટ"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"ઓવરલે લાગુ કરવામાં નિષ્ફળ થયાં"</string>
     <string name="special_access" msgid="1767980727423395147">"વિશેષ ઍપનો ઍક્સેસ"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ઍપ અપ્રતિબંધિત ડેટાનો ઉપયોગ કરી શકે છે</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ઍપ અપ્રતિબંધિત ડેટાનો ઉપયોગ કરી શકે છે</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"વધુ જુઓ"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"બૅકગ્રાઉન્ડમાં લાંબા કાર્યો"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"બૅકગ્રાઉન્ડમાં લાંબો સમય ચાલતા કાર્યોને મંજૂરી આપો"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ઍપ સુસંગતતાના ફેરફારો ટૉગલ કરો"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"ડિફૉલ્ટ રીતે ચાલુ કરેલા ફેરફારો"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"ડિફૉલ્ટ રીતે બંધ કરેલા ફેરફારો"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"કોઈ ઍપ ઉપલબ્ધ નથી"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"ફક્ત ડિબગ કરી શકાય તેવી ઍપ માટે જ ઍપની સુસંગતતામાંના ફેરફારોમાં બદલાવ કરી શકાય છે. ડિબગ કરી શકાય તેવી ઍપ ઇન્સ્ટૉલ કરો અને ફરી પ્રયાસ કરો."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"અન્ય સેટિંગ પર આધાર રાખે છે"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"એકાઉન્ટ"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"બાળક દ્વારા પ્રક્રિયા પરના પ્રતિબંધો બંધ કરો"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"બાળક જે ઍપ પર પ્રક્રિયા કરે છે તેના દ્વારા સિસ્ટમના સંસાધનના ઉપયોગ પરના પ્રતિબંધોને બંધ કરો"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"નોંધ લેવાની ઇકોસિસ્ટમ ફરજિયાત રીતે ચાલુ કરો"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"નોંધ લેવાની ઇકોસિસ્ટમ મારફતે નોંધ લેવાની એકીકરણ પ્રક્રિયા ચાલુ કરો. જો નોંધ લેવાની ઇકોસિસ્ટમ પહેલેથી ચાલુ કરવામાં આવી હોય, તો કોઈ પગલું લેવામાં આવશે નહીં."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"નોંધ લેવાની ઇકોસિસ્ટમ મારફતે નોંધ લેવાની એકીકરણ પ્રક્રિયા ચાલુ કરો. જો નોંધ લેવાની ઇકોસિસ્ટમ પહેલેથી ચાલુ કરવામાં આવી હોય, તો કોઈ પગલું લેવામાં આવશે નહીં. રીબૂટ કરવાની જરૂર છે."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"બ્રોડકાસ્ટ"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> બ્રોડકાસ્ટ કરો"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"તમારી નજીક ચલાવવામાં આવી રહેલા બ્રોડકાસ્ટ સાંભળો"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 4e78854..bb4a297 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"ब्लूटूथ चालू किया गया"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"सभी देखें"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"स्टाइलस"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"नोट लेने की सुविधा देने वाला डिफ़ॉल्ट ऐप्लिकेशन"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"स्टाइलस बटन को दबाएं"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (वर्क प्रोफ़ाइल)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"तापमान"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"हफ़्ते का पहला दिन"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"नंबर की प्राथमिकताएं"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"ऐप्लिकेशन की डिफ़ॉल्ट सेटिंग का इस्तेमाल करें"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"डिफ़ॉल्ट सेटिंग का इस्तेमाल करें"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"सेल्सियस (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"फ़ैरनहाइट (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"रविवार"</string>
@@ -904,7 +905,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>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Kernel वर्शन"</string>
     <string name="build_number" msgid="9009733242117579826">"बिल्‍ड नंबर"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play का सिस्टम अपडेट"</string>
+    <string name="battery_info" msgid="7873528123969546728">"बैटरी की जानकारी"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"उपलब्ध नहीं"</string>
     <string name="storage_settings" msgid="7472188817781592677">"स्टोरेज"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"स्टोरेज और कैश"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"ब्लूटूथ पता"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"सीरियल नंबर"</string>
     <string name="status_up_time" msgid="1274778533719495438">"चालू रहने का समय"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"बनाए जाने की तारीख"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"पहली बार इस्तेमाल किए जाने की तारीख"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"बैटरी कितनी बार पूरी इस्तेमाल की गई"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"उपलब्ध नहीं है"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"गिनती हो रही है..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"नाम बदलें"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"माउंट करें"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"इससे वाई-फ़ाई और ब्लूटूथ की सभी सेटिंग रीसेट हो जाएंगी. इस कार्रवाई को पहले जैसा नहीं किया जा सकता."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"रीसेट करें"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ब्लूटूथ और वाई-फ़ाई को रीसेट कर दिया गया है"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"हमेशा के लिए मिटाएं"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"ई-सिम का डेटा हमेशा के लिए मिटाएं"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"इससे मोबाइल सेवा का कोई भी प्लान रद्द नहीं होगा. दूसरे सिम डाउनलोड करने के लिए, मोबाइल और इंटरनेट सेवा देने वाली कंपनी से संपर्क करें."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"सेटिंग रीसेट करें"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"पैटर्न की मदद से, इस डिवाइस को अनलॉक करें"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"पिन की मदद से, इस डिवाइस को अनलॉक करें"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"पासवर्ड की मदद से, इस डिवाइस को अनलॉक करें"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"पैटर्न की पुष्टि करें"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"पिन की पुष्टि करें"</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">"जारी रखने के लिए अपने डिवाइस का पिन डालें"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"जारी रखने के लिए अपने डिवाइस का पासवर्ड डालें"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"गलत पिन"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"गलत पासवर्ड"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"गलत पैटर्न डाला गया है"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"ऐप्लिकेशन के हिसाब से देखें"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"सिस्टम के हिसाब से देखें"</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">"शिपिंग से पहले होने वाली क्वालिटी की जांच की वजह से, पहली बार इस्तेमाल करने पर बैटरी के चार्ज होने की साइकल की वैल्यू शून्य नहीं हो सकती"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"प्रोसेस के आंकड़े"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"चल रही प्रक्रिया के बारे में आकंड़े"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"मेमोरी उपयोग"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"मेहमान मोड की गतिविधि को मिटाना है?"</string>
     <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="8300355036005240911">"मेहमान को फ़ोन से कॉल करने दें"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"मेहमान को फ़ोन कॉल करने की अनुमति दें"</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>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"नेटवर्क, मोबाइल नेटवर्क किस राज्य का है, सेवा किस राज्य में ली जा रही है, सिग्नल की क्वालिटी, मोबाइल नेटवर्क टाइप, रोमिंग, आईसीसीआईडी, ईआईडी"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"ईआईडी"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"सीरियल नंबर, हार्डवेयर वर्शन"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"बैटरी की जानकारी, बनाए जाने की तारीख, बैटरी कितनी बार पूरी इस्तेमाल की गई, और पहली बार इस्तेमाल किए जाने की तारीख"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"Android सुरक्षा पैच लेवल, मोबाइल रेडियो (बेसबैंड वर्शन), kernel वर्शन"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"थीम, हल्का रंग, गहरा रंग, मोड, लाइट सेंसिटिविटी, फ़ोटोफ़ोबिया, रंग गहरा करना, गहरा रंग करना, गहरे रंग वाला मोड, माइग्रेन"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"गहरे रंग वाली थीम"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"डिवाइस की डिफ़ॉल्ट सेटिंग"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"ओवरले लागू नहीं किया जा सका"</string>
     <string name="special_access" msgid="1767980727423395147">"ऐप्लिकेशन के लिए खास ऐक्सेस"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ऐप्लिकेशन पाबंदी के बिना डेटा का इस्तेमाल कर सकता है</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ऐप्लिकेशन पाबंदी के बिना डेटा का इस्तेमाल कर सकते हैं</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"और देखें"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"लंबे बैकग्राउंड टास्क"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"लंबे बैकग्राउंड टास्क करने की अनुमति दें"</string>
@@ -4023,7 +4032,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>
@@ -4043,7 +4052,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>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"काम करने के लिए ऐप्लिकेशन में किए गए बदलावों को टॉगल करें"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"डिफ़ॉल्ट रूप से चालू किए गए बदलाव"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"डिफ़ॉल्ट रूप से बंद किए गए बदलाव"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"डीबग करने लायक कोई ऐप्लिकेशन उपलब्ध नहीं है"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"ऐप्लिकेशन के साथ काम करने के लिए किए जाने वाले बदलाव, सिर्फ़ डीबग करने लायक ऐप्लिकेशन में किए जा सकते हैं. डीबग करने लायक किसी ऐप्लिकेशन को इंस्टॉल करें और फिर से कोशिश करें."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"यह किसी दूसरी सेटिंग पर निर्भर है"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"खाता"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"चाइल्ड प्रोसेस पर लगी पाबंदियां बंद करें"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"ऐप्लिकेशन में किसी प्रोसेस की वजह से चालू हुई दूसरी प्रोसेस के लिए, सिस्टम के संसाधन के इस्तेमाल पर लगी पाबंदियां बंद करें"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"नोट्स रोल की सुविधा हर हाल में चालू करें"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"नोट्स रोल की सुविधा का इस्तेमाल करके, नोट लेने के सिस्टम के इंटिग्रेशन चालू करें. अगर नोट्स रोल की सुविधा पहले से ही चालू है, तो कुछ और करने की ज़रूरत नहीं है."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Notes रोल (सुविधाओं का संग्रह) का इस्तेमाल करके, नोट बनाने के सिस्टम इंटिग्रेशन को चालू करें. अगर Notes रोल की सुविधा पहले से ही चालू है, तो कुछ और करने की ज़रूरत नहीं है. हालांकि, डिवाइस को फिर से चालू करना होगा."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"ब्रॉडकास्ट"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> पर ब्रॉडकास्ट करें"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"अपने आस-पास चल रहे ब्रॉडकास्ट को सुनें"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index eba416f..806084b 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth je uključen"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Prikaži sve"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Pisaljka"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Zadana aplikacija za bilješke"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Pritisak na stražnji gumb"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (poslovni profil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Pisanje u tekstualnim poljima"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Zanemari sve pritiske pisaljke na gumb"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Pisaljka"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatura"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Prvi dan u tjednu"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Postavke brojeva"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Koristi zadanu vrijednost aplikacije"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Koristi zadano"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celzij (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Nedjelja"</string>
@@ -276,7 +277,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 s postavljanjem"</string>
+    <string name="security_settings_face_enroll_education_accessibility_dialog_positive" msgid="3148077647572203458">"Nastavi postavljanje"</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>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Verzija jezgre"</string>
     <string name="build_number" msgid="9009733242117579826">"Broj međuverzije"</string>
     <string name="module_version" msgid="1787518340082046658">"Ažuriranje sustava s Google Playa"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Informacije o bateriji"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Nije dostupno"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Pohrana"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Pohrana i predmemorija"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth adresa"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serijski broj"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Vrijeme aktivnosti"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Datum proizvodnje"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Datum prve upotrebe"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Broj ciklusa"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Nedostupno"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Izračun u tijeku..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Preimenuj"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Učitaj"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Time će se poništiti sve postavke Wi‑Fija i Bluetootha. Ta se radnja ne može poništiti."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Poništi"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth i Wi‑Fi su poništeni"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Izbriši"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Brisanje eSIM-ova"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Time se neće poništiti ugovori o mobilnim uslugama. Za preuzimanje zamjenskih SIM-ova obratite se mobilnom operateru."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Poništi postavke"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Koristite i uzorak za otključavanje uređaja"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Koristite i PIN za otključavanje uređaja"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Koristite i zaporke za otključavanje uređaja"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Potvrdite uzorak"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Potvrdite PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Potvrdite zaporku"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Unesite uzorak uređaja da biste nastavili"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Unesite PIN uređaja da biste nastavili"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Unesite zaporku uređaja da biste nastavili"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Pogrešan PIN"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Pogrešna zaporka"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Pogrešan uzorak"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Pregled po aplikacijama"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Pregled po sustavima"</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">"Zbog pregleda kvalitete prije otpreme, broj ciklusa kod prve upotrebe možda neće biti nula"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Statistički podaci o procesima"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Detaljni statistički podaci o trenutačnim procesima"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Upotreba memorije"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Izbrisati aktivnost gosta?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Aplikacije i podaci iz ove gostujuće sesije izbrisat će se odmah, a sve buduće aktivnosti gostujuće sesije izbrisat će se svaki put kad napustite način rada za goste."</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"izbrisati, gost, aktivnost, ukloniti, podaci, posjetitelj, ukloniti"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Dopusti gostu upotrebu telefona"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Dopustite gostima upućivanje poziva"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Povijest poziva dijelit će se s gostom"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Uključi telefonske pozive i SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Dodijeli ovom korisniku status administratora"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"mreža, stanje mobilne mreže, stanje usluge, jačina signala, vrsta mobilne mreže, roaming, ICCID, EID"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"serijski broj, verzija hardvera"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"informacije o bateriji, datum proizvodnje, broj ciklusa, prva upotreba"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"razina Androidove sigurnosne zakrpe, verzija osnovnog frekvencijskog pojasa, verzija jezgre"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, svijetlo, tamno, način, osjetljivost na svjetlo, fotofobija, učiniti tamnijim, zatamniti, tamni način rada, migrena"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"tamna tema"</string>
@@ -3855,11 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Zadana postavka uređaja"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Primjena preklapanja nije uspjela"</string>
     <string name="special_access" msgid="1767980727423395147">"Poseban pristup za aplikacije"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> aplikacija može upotrebljavati neograničene podatke</item>
-      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> aplikacije mogu upotrebljavati neograničene podatke</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplikacija može upotrebljavati neograničene podatke</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Prikaži više"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Dugački zadaci u pozadini"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Dopusti dugotrajne zadatke u pozadini"</string>
@@ -4147,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Prebacivanje promjena kompatibilnosti aplikacije"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Zadane omogućene promjene"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Zadane onemogućene promjene"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Nema aplikacija"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Promjene kompatibilnosti aplikacija moguće su samo za aplikacije s mogućnošću otklanjanja pogrešaka. Instalirajte aplikaciju s mogućnošću otklanjanja pogrešaka i pokušajte ponovo."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Ovisi o drugoj postavci"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Račun"</string>
@@ -4666,7 +4673,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Onemogući ograničenja za podređene postupke"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Onemogućite ograničenja upotrebe resursa sustava za podređene postupke aplikacija"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Prisilno omogući ulogu Bilješke"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Omogućite integracije sustava za bilježenje u okviru uloge Bilješke. Ako je uloga Bilješke već omogućena, ništa se neće dogoditi."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Omogućite integracije sustava bilježenja putem uloge Bilješke. Ako je uloga Bilješke već omogućena, ne trebate ništa. Potrebno je ponovno pokretanje."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Emitiranje"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Emitiranje aplikacije <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Slušajte emitiranja koja se reproduciraju u blizini"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 1662d69..eebf908 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth bekapcsolva"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Az összes megtekintése"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Érintőceruza"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Alapértelmezett jegyzetkészítési alkalmazás"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Az érintőceruza végén lévő gomb megnyomása"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (munkaprofil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Írás a szövegmezőkben"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Az érintőceruza összes gombnyomásának figyelmen kívül hagyása"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Érintőceruza"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Hőmérséklet"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"A hét első napja"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Számbeállítások"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Az appok alapértelmezett beállításának használata"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Alapértelmezett használata"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Vasárnap"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Kernel verziója"</string>
     <string name="build_number" msgid="9009733242117579826">"Buildszám"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play-rendszerfrissítés"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Akkumulátoradatok"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Nem érhető el"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Tárhely"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Tárhely és gyorsítótár"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth-cím"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Sorozatszám"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Futásidő"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Gyártási dátum"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Első használat dátuma"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Ciklusok száma"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Nem áll rendelkezésre"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Számítás..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Átnevezés"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Csatlakoztatás"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"A művelettel az összes Wi‑Fi- és Bluetooth-beállítást visszaállítja. Ez a művelet nem vonható vissza."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Alaphelyzet"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"A Bluetooth és a Wi‑Fi visszaállítása megtörtént"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Törlés"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"e-SIM-ek törlése"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Ezzel nem szűnik meg egyetlen mobil-előfizetési csomag sem. Csere-SIM letöltése érdekében forduljon szolgáltatójához."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Beállítások visszaállítása"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Használhat mintát is az eszköz feloldására"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Használhat PIN-kódot is az eszközfeloldásra"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Használhat jelszót is az eszköz feloldására"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Minta ellenőrzése"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"PIN-kód ellenőrzése"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Jelszó ellenőrzése"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"A folytatáshoz használja eszköze feloldó mintáját"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"A folytatáshoz írja be eszköze PIN-kódját"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"A folytatáshoz írja be eszköze jelszavát"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Helytelen PIN-kód"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Helytelen jelszó"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Helytelen minta"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Megtekintés alkalmazások szerint"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Megtekintés rendszerek szerint"</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">"A szállítás előtti minőség-ellenőrzések miatt előfordulhat, hogy a ciklusszám nem nulla lesz az első használatkor"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Folyamatstatisztikák"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"A futó folyamatok statisztikái"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Memóriahasználat"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Törli a vendégtevékenységeket?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Az ebből a vendégmunkamenetből származó alkalmazások és adatok azonnal törlődnek, és az összes jövőbeli, vendég módban végzett tevékenység törlődik minden olyan alkalomkor, amikor kilép a vendég módból"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"törlés, vendég, tevékenység, eltávolítás, adatok, látogató, kitörlés"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"A vendég használhatja a telefont"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Telefonhívások engedélyezése vendégeknek"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"A rendszer megosztja a híváslistát ezzel a vendég felhasználóval."</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Hívások és SMS-ek engedélyezése"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"A felhasználó beállítása adminisztrátorként"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"hálózat, mobilhálózat állapota, szolgáltatás állapota, jelerősség, mobilhálózat típusa, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"sorozatszám, hardververzió"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"akkumulátoradatok, gyártási dátum, ciklusok száma, első használat"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"androidos biztonsági javítókészlet szintje, alapsáv verziója, kernel verziója"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"téma, fény, sötét, mód, fényérzékenység, fotofóbia, sötétítés, elsötétítés, sötét mód, fejfájás"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"sötét téma"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Alapértelmezett"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Nem sikerült alkalmazni a fedvényt"</string>
     <string name="special_access" msgid="1767980727423395147">"Különleges alkalmazás-hozzáférés"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> alkalmazás rendelkezik korlátlan adathozzáféréssel</item>
-      <item quantity="one">1 alkalmazás rendelkezik korlátlan adathozzáféréssel</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Továbbiak megjelenítése"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Hosszan futó háttérfeladatok"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"A háttérben hosszan futó feladatok engedélyezése"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Az alkalmazás kompatibilitási változtatásainak be- és kikapcsolása"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Alapértelmezett engedélyezett változtatások"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Alapértelmezett letiltott változtatások"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Nem található app"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Az alkalmazáskompatibilitás csak a hibaelhárításra alkalmas alkalmazásoknál módosítható. Telepítsen hibaelhárításra alkalmas alkalmazást, és próbálja újra."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Másik beállítástól függ"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Fiók"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Alárendelt folyamatok korlátozásánk kikapcsolása"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"A rendszererőforrások alárendelt alkalmazásfolyamatok általi használatát érintő korlátozások kikapcsolása"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Jegyzetek szerepkör engedélyezésének kényszerítése"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Engedélyezi a jegyzetelési rendszerintegrációkat a Jegyzetek szerepkörrel. Ha a Jegyzetek szerepkör már engedélyezve van, akkor nem végez műveletet."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Engedélyezi a jegyzetelési rendszerintegrációkat a Jegyzetek szerepkörrel. Ha a Jegyzetek szerepkör már engedélyezve van, akkor nem végez műveletet. Újraindítás szükséges hozzá."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Közvetítés"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> közvetítése"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Az Ön közelében sugárzott közvetítések meghallgatása"</string>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 7c86dee..fea4d26 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth-ը միացված է"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Տեսնել բոլորը"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Ստիլուս"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Նշումների կանխադրված հավելված"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Ստիլուսի կոճակի սեղմում"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (աշխատանքային պրոֆիլ)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Ջերմաստիճան"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Շաբաթվա առաջին օրը"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Թվերի կարգավորումներ"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Օգտագործել հավելվածի կանխադրված պարամետրը"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Օգտագործել կանխադրվածը"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Ցելսիուս (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Ֆարենհայտ (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Կիրակի"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Միջուկի տարբերակը"</string>
     <string name="build_number" msgid="9009733242117579826">"Կառուցման համարը"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play-ի համակարգային թարմացում"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Տեղեկություններ մարտկոցի մասին"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Անհասանելի է"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Տարածք"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Հիշողություն և քեշ"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth հասցե"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Հերթական համարը"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Աշխատած ժամանակը"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Արտադրման ամսաթիվը"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Առաջին օգտագործման ամսաթիվը"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Շրջափուլերի թիվը"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Հասանելի չէ"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Հաշվարկում…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Վերանվանել"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Միացնել"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Bluetooth-ի և Wi‑Fi-ի բոլոր կարգավորումները կզրոյացվեն։ Այս գործողությունը չեք կարող հետարկել։"</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Զրոյացնել"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth-ի և Wi‑Fi-ի կարգավորումները զրոյացվել են"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Ջնջել"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Ջնջել eSIM քարտերը"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Բջջային կապի սակագնային պլանները չեն չեղարկվի։ Նոր SIM քարտ ներբեռնելու համար դիմեք ձեր օպերատորին։"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Զրոյացնել կարգավորումները"</string>
@@ -1458,6 +1463,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>
+    <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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Հավելվածներ"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Համակարգեր"</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">"Առաքումից առաջ որակի ստուգումների պատճառով լիցքավորման շրջափուլերի թիվը կարող է չլինել զրո առաջին օգտագործման ժամանակ"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Գործընթացի վիճակագրություն"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Ընթացիկ գործընթացների տեխնիկական վիճակագրություն"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Օգտագործվող հիշողություն"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Ջնջե՞լ հյուրի պատմությունը"</string>
     <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="8300355036005240911">"Թույլատրել հյուրին օգտվել հեռախոսից"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Թույլատրել հյուրին զանգեր կատարել"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Զանգերի պատմությունը հասանելի կլինի հյուրին"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Միացնել զանգերն ու SMS-ները"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Դարձնել այս օգտատիրոջը ադմինիստրատոր"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"ցանց, բջջային ցանցի կարգավիճակ, բջջային ցանցի հասանելիություն, ազդանշանի հզորություն, բջջային ցանցի տեսակ, ռոումինգ, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"սերիական համար, սարքակազմի տարբերակ"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"տեղեկություններ մարտկոցի մասին, արտադրման ամսաթիվ, շրջափուլերի թիվ, առաջին օգտագործում"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"Android-ի խոցելիության շտկման մակարդակ, Baseband-ի տարբերակ, միջուկի տարբերակ"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"թեմա, բաց, մուգ, ռեժիմ, լուսազգայունություն, լուսավախություն, մգեցնել, մգեցում, մուգ ռեժիմ, միգրեն"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"մուգ թեմա"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Կանխադրված տարբերակ"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Չհաջողվեց կիրառել վրադրում"</string>
     <string name="special_access" msgid="1767980727423395147">"Հատուկ հասանելիություն"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> հավելված կարող է անսահմանափակ տվյալներ օգտագործել</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> հավելված կարող է անսահմանափակ տվյալներ օգտագործել</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Տեսնել ավելին"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Երկարատև ֆոնային առաջադրանքներ"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Թույլատրել երկարատև ֆոնային առաջադրանքները"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Թաքցնել/ցուցադրել հավելվածների համատեղելիության փոփոխությունները"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Ըստ կանխադրման միացված փոփոխություններ"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Ըստ կանխադրման անջատված փոփոխություններ"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Հավելվածներ չկան"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Համատեղելիության փոփոխություններ հնարավոր է կատարել միայն վրիպազերծելի հավելվածներում։ Տեղադրեք վրիպազերծելի հավելված և նորից փորձեք։"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Այս կարգավորումը կախված է այլ պարամետրերից"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Հաշիվ"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Անջատել ենթագործընթացների սահմանափակումները"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Անջատել համակարգի ռեսուրսների օգտագործման սահմանափակումները հավելվածի ենթագործընթացների համար"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"«Նշումներ» դերի հարկադրաբար միացում"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Միացնել գրառումներ կատարելու համակարգի ինտեգրումը «Նշումներ» դերի միջոցով։ Եթե «Նշումներ» դերն արդեն միացված է, ոչինչ անել պետք չէ։"</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Միացրեք գրառումներ կատարելու համակարգի ինտեգրումը «Նշումներ» դերի միջոցով։ Եթե «Նշումներ» դերն արդեն միացված է, ոչինչ անելու անհրաժեշտություն չկա։ Անհրաժեշտ է վերագործարկել սարքը։"</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Հեռարձակում"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Հեռարձակել <xliff:g id="CURRENTAPP">%1$s</xliff:g> հավելվածը"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Լսեք հեռարձակումներ, որոնք նվագարկվում են ձեր մոտակայքում"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 8917bae..733514f 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth diaktifkan"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Lihat semua"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stilus"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Aplikasi catatan default"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Tombol stilus ditekan"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Profil kerja)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Menulis di kolom teks"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Abaikan semua penekanan tombol dengan stilus"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stilus"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Suhu"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Hari pertama dalam seminggu"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Preferensi angka"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Gunakan default aplikasi"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Gunakan default"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Minggu"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Versi kernel"</string>
     <string name="build_number" msgid="9009733242117579826">"Nomor build"</string>
     <string name="module_version" msgid="1787518340082046658">"Update sistem Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Informasi baterai"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Tidak tersedia"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Penyimpanan"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Penyimpanan &amp; cache"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Alamat bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Nomor seri"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Waktu aktif"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Tanggal perakitan"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Tanggal penggunaan pertama"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Jumlah siklus"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Tidak tersedia"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Menghitung..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Ganti nama"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Pasang"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Tindakan ini akan mereset semua setelan Wi‑Fi &amp; Bluetooth. Anda tidak dapat mengurungkan tindakan ini."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Reset"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth &amp; Wi‑Fi telah direset"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Hapus"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Hapus eSIM"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Tindakan ini tidak akan membatalkan paket layanan seluler apa pun. Untuk mendownload SIM pengganti, hubungi operator Anda."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Reset setelan"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Juga gunakan pola untuk membuka kunci perangkat ini"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Juga gunakan PIN untuk membuka kunci perangkat ini"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Juga gunakan sandi untuk membuka kunci perangkat ini"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Verifikasi pola"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Verifikasi PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Verifikasi sandi"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Gunakan pola perangkat untuk melanjutkan"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Masukkan PIN perangkat untuk melanjutkan"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Masukkan sandi perangkat untuk melanjutkan"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"PIN Salah"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Sandi salah"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Pola salah"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Lihat menurut aplikasi"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Lihat menurut sistem"</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">"Karena inspeksi kualitas sebelum pengiriman, jumlah siklus mungkin bukan nol saat penggunaan pertama"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Statistik Proses"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Statistik teknis tentang proses yang berjalan"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Penggunaan memori"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Hapus aktivitas tamu?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Aplikasi dan data dari sesi tamu ini akan dihapus sekarang, dan semua aktivitas tamu mendatang akan dihapus setiap kali Anda keluar dari mode tamu"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"hapus, tamu, aktivitas, buang, data, pengunjung"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Izinkan tamu menggunakan ponsel"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Izinkan tamu melakukan panggilan telepon"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Histori panggilan akan dibagikan kepada pengguna tamu"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Aktifkan panggilan telepon &amp; SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Jadikan pengguna ini sebagai admin"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"jaringan, status jaringan seluler, status layanan, kekuatan sinyal, jenis jaringan seluler, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"nomor seri, versi hardware"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"info baterai, tanggal perakitan, jumlah siklus, penggunaan pertama"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"level patch keamanan android, versi pita basis, versi kernel"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, terang, gelap, mode, sensitivitas cahaya, fotofobia, buat lebih gelap, gelapkan, mode gelap, migrain"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"tema gelap"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Default perangkat"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Gagal menerapkan overlay"</string>
     <string name="special_access" msgid="1767980727423395147">"Akses aplikasi khusus"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplikasi dapat menggunakan data tanpa dibatasi</item>
-      <item quantity="one">1 aplikasi dapat menggunakan data tanpa dibatasi</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Lihat lainnya"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Tugas latar belakang lama"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Izinkan tugas latar belakang yang berjalan lama"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Ubah setelan kompatibilitas aplikasi"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Perubahan aktif default"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Perubahan nonaktif default"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Aplikasi tidak tersedia"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Perubahan kompatibilitas aplikasi hanya dapat diubah untuk aplikasi yang dapat di-debug. Instal aplikasi yang dapat di-debug dan coba lagi."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Bergantung pada setelan lain"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Akun"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Nonaktifkan batasan proses turunan"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Nonaktifkan batasan penggunaan resource sistem pada proses turunan aplikasi"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Aktifkan paksa peran Catatan"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Aktifkan integrasi sistem pembuatan catatan melalui peran Catatan. Jika peran Catatan telah diaktifkan, setelan ini tidak melakukan apa pun."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Aktifkan integrasi sistem pembuatan catatan melalui peran Catatan. Jika peran Catatan telah diaktifkan, setelan ini tidak melakukan apa pun. Memerlukan reboot."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Siaran"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Siarkan <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Dengarkan siaran yang diputar di dekat Anda"</string>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 5da5664..f22c32a 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Kveikt á Bluetooth"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Sjá allt"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Penni"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Sjálfgefið glósuforrit"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Ýtt á pennahnapp"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (vinnusnið)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Skrifa í textareiti"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Hunsa þegar ýtt er á pennahnapp"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Penni"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Hitastig"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Fyrsti dagur vikunnar"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Kjörstillingar númera"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Nota sjálfgefnar stillingar forrits"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Nota sjálfgefið"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsíus (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Sunnudagur"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Kjarnaútgáfa"</string>
     <string name="build_number" msgid="9009733242117579826">"Útgáfunúmer smíðar"</string>
     <string name="module_version" msgid="1787518340082046658">"Kerfisuppfærsla Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Upplýsingar um rafhlöðu"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Ekki tiltækt"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Geymsla"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Geymslurými og skyndiminni"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth-vistfang"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Raðnúmer"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Uppitími"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Framleiðsludagur"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Dagsetning fyrstu notkunar"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Fjöldi endurhleðslna"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Ekki tiltækt"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Reiknar út…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Endurnefna"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Tengja"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Þetta endurstillir allar stillingar Wi‑Fi og Bluetooth. Ekki er hægt að afturkalla þessa aðgerð."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Endurstilla"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth og Wi‑Fi hafa verið endurstillt"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Hreinsa"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Eyða eSIM-kortum"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Þetta segir ekki upp neinni áskrift hjá símafyrirtæki. Til að sækja ný SIM-kort þarftu að hafa samband við símafyrirtækið þitt."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Endurstilla"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Nota líka mynstur til að opna þetta tæki"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Nota líka PIN-númer til að opna þetta tæki"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Nota líka aðgangsorð til að opna þetta tæki"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Staðfestu mynstrið"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Staðfestu PIN-númerið"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Staðfestu aðgangsorðið"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Teiknaðu mynstur tækisins til að halda áfram"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Sláðu inn PIN-númer tækisins til að halda áfram"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Sláðu inn aðgangsorðið tækisins til að halda áfram"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Rangt PIN-númer"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Rangt aðgangsorð"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Rangt mynstur"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Skoða eftir forritum"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Skoða eftir kerfum"</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">"Vegna gæðaskoðana fyrir afhendingu er ekki víst að hleðslulotufjöldinn sé núll við fyrstu notkun"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Tölfræði vinnsluferla"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Nördaleg tölfræði um opin vinnsluferli"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Minnisnotkun"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Eyða aðgerðum úr gestalotu?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Forritum og gögnum úr þessari gestalotu verður eytt núna og öllum aðgerðum úr síðari gestalotum verður eytt í hvert skipti sem gestastillingu er lokað"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"eyða, gestur, virkni, fjarlægja, gögn, gestur, eyða"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Leyfa gestasímtöl"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Leyfa gestum að hringja símtöl"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Símtalaferli verður deilt með gestanotanda"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Kveikja á símtölum og SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Gera þennan notanda að stjórnanda"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"símkerfi, netkerfi, staða farsímakerfis, staða þjónustu, sendistyrkur, tegund farsímakerfis, reiki, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"raðnúmer, vélbúnaðarútgáfa"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"upplýsingar um rafhlöðu, framleiðsludagur, fjöldi endurhleðslna, fyrsta notkun"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"stig Android öryggisplásturs, grunnbandsútgáfa, kjarnaútgáfa"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"þema, ljóst, dökkt, stilling, ljósnæmi, ljósfælni, dekkja, myrkva, dökk stilling, mígreni"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"dökkt þema"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Sjálfgefin stilling tækis"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Ekki tókst að nota yfirlögn"</string>
     <string name="special_access" msgid="1767980727423395147">"Sérstakur forritaaðgangur"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> forrit getur notað ótakmörkuð gögn</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> forrit geta notað ótakmörkuð gögn</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Sjá meira"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Löng bakgrunnsverk"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Leyfa langvarandi bakgrunnsverk"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Víxla samhæfisbreytingum forrits"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Sjálfgefnar virkar breytingar"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Sjálfgefnar óvirkar breytingar"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Engin forrit í boði"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Aðeins er hægt að gera breytingar á samhæfi forrita fyrir forrit sem hægt er að villuleita. Settu upp forrit sem hægt er að villuleita og reyndu aftur."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Hún er háð annarri stillingu"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Reikningur"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Slökkva á takmörkunum á undirvinnslu forrits"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Slökkva á takmörkunum á notkun undirvinnslu forrits á gögnum kerfisins"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Þvinga virkjun hlutverksins „Glósur“"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Virkja samþættingu glósukerfa í gegnum hlutverkið „Glósur“. Ef hlutverkið „Glósur“ er þegar virkt gerist ekkert."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Virkja samþættingu glósukerfa í gegnum hlutverkið „Glósur“. Ef hlutverkið „Glósur“ er þegar virkt gerist ekkert. Krefst endurræsingar."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Senda út"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Senda út <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Hlustaðu á útsendingar sem eru í gangi í nágrenni við þig"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 9048059..5a68f58 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth attivato"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Mostra tutti"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stilo"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"App per le note predefinita"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Pressione del pulsante dello stilo"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Profilo di lavoro)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Scrivi nei campi di testo"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignora tutti i pulsanti premuti con lo stilo"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stilo"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatura"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Primo giorno della settimana"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Preferenze per i numeri"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Usa valore predefinito dell\'app"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Usa impostazione predefinita"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Domenica"</string>
@@ -914,7 +915,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 modifichi 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 si cambia 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>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Versione kernel"</string>
     <string name="build_number" msgid="9009733242117579826">"Numero build"</string>
     <string name="module_version" msgid="1787518340082046658">"Aggiornamento di sistema Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Informazioni batteria"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Non disponibile"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Spazio di archiviazione"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Spazio di archiviazione e cache"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Indirizzo Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Numero di serie"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Tempo di attività"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Data di produzione"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Data del primo utilizzo"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Conteggio dei cicli"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Non disponibile"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Calcolo…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Rinomina"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Monta"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Ripristinerà tutte le impostazioni Bluetooth e Wi-Fi. L\'operazione non può essere annullata."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Reimposta"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth e Wi-Fi sono stati reimpostati"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Resetta"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Resetta eSIM"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Gli eventuali piani tariffari non verranno annullati. Per scaricare SIM sostitutive, contatta il tuo operatore."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Reimposta"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Usa sequenza per sbloccare dispositivo"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Usa PIN per sbloccare dispositivo"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Usa password per sbloccare dispositivo"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Verifica sequenza"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Verifica PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Verifica password"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Per continuare devi inserire la sequenza del dispositivo"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Per continuare devi inserire il PIN del dispositivo"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Per continuare devi inserire la password del dispositivo"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"PIN errato"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Password errata"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Sequenza errata"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Visualizza per app"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Visualizza per sistemi"</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">"A causa dei controlli di qualità prima della spedizione, il conteggio dei cicli potrebbe non essere pari a zero al primo utilizzo"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Statistiche sui processi"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Statistiche tecniche sui processi in esecuzione"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Memoria usata"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Vuoi eliminare l\'attività Ospite?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Le app e i dati di questa sessione Ospite verranno eliminati subito e ogni volta che uscirai dalla modalità Ospite verrà eliminata tutta l\'attività Ospite"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"eliminare, ospite, attività, rimuovere, dati, visitatore, cancellare"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Consenti all\'ospite di usare il telefono"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Consenti all\'ospite di fare telefonate"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"La cronologia chiamate verrà condivisa con l\'utente ospite"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Attiva chiamate e SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Imposta questo utente come amministratore"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"rete, stato rete mobile, stato servizio, intensità segnale, tipo di rete mobile, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"numero di serie, versione hardware"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"informazioni sulla batteria, data di produzione, conteggio dei cicli, primo utilizzo"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"livello patch di sicurezza android, versione banda di base, versione kernel"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, chiaro, buio, modalità, sensibilità alla luce, fotofobia, scurire, oscuramento, modalità Buio, emicrania"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"tema scuro"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Predefinito in base al dispositivo"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Applicazione dell\'overlay non riuscita"</string>
     <string name="special_access" msgid="1767980727423395147">"Accesso speciale per le app"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> app possono usare dati senza limitazioni</item>
-      <item quantity="one">1 app può usare dati senza limitazioni</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Altro"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Attività in background lunghe"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Consenti attività in background lunghe"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Attiva/disattiva le modifiche di compatibilità delle app"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Modifiche attivate per impostazione predefinita"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Modifiche disattivate per impostazione predefinita"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Nessuna app disponibile"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Le modifiche alla compatibilità delle app possono essere cambiate solo per le app di cui è possibile eseguire il debug. Installa un\'app di cui è possibile eseguire il debug e riprova."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Dipende da un\'altra impostazione"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Account"</string>
@@ -4662,9 +4670,9 @@
     <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 figlio 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 secondari delle app"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Forza attivazione del ruolo Note"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Attiva le integrazioni di sistema per la creazione di note tramite il ruolo Note. Se il ruolo Note è già attivo, non succederà nulla."</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>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Trasmetti l\'app <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Ascolta le trasmissioni in riproduzione nelle vicinanze"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 8f78e6d..a0bca5d 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"‏Bluetooth הופעל"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"הצגת כל המכשירים"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"סטיילוס"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"אפליקציית הפתקים שמוגדרת כברירת מחדל"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"לחיצה על הלחצן האחורי"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (פרופיל העבודה)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"טמפרטורה"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"היום הראשון של השבוע"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"העדפות שקשורות למספרים"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"שימוש בברירת המחדל של האפליקציה"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"שימוש בברירת המחדל"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"‏צלזיוס (‎°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"‏פרנהייט (‎°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"ראשון"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"גרסת ליבה"</string>
     <string name="build_number" msgid="9009733242117579826">"‏מספר Build"</string>
     <string name="module_version" msgid="1787518340082046658">"‏עדכון מערכת של Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"מידע על הסוללה"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"לא זמין"</string>
     <string name="storage_settings" msgid="7472188817781592677">"אחסון"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"אחסון ומטמון"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"‏כתובת Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"מספר סידורי"</string>
     <string name="status_up_time" msgid="1274778533719495438">"זמן פעולה"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"תאריך הייצור"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"תאריך השימוש הראשון"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"מספר מחזורי הטעינה"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"לא זמין"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"החישוב מתבצע…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"שינוי שם"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"טעינה"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"‏הפעולה הזו תאפס את כל ההגדרות של חיבורי Wi‑Fi ו-Bluetooth. לא ניתן לבטל את הפעולה הזו."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"איפוס"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"‏חיבורי Bluetooth ו-Wi‑Fi אופסו"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"מחיקה"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"‏מחיקה של כרטיסי ה-eSIM"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"‏הפעולה הזו לא תבטל אף חבילת גלישה. כדי להוריד כרטיסי SIM חלופיים, יש לפנות לספק חבילת הסלולר."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"איפוס הגדרות"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"שימוש בקו ביטול הנעילה גם במכשיר הזה"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"שימוש בקוד אימות גם לביטול הנעילה במכשיר הזה"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"שימוש בסיסמה גם לביטול הנעילה במכשיר הזה"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"אימות של קו ביטול הנעילה"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"אימות של קוד הגישה"</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">"צריך להזין את קוד הגישה של המכשיר כדי להמשיך"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"צריך להזין את סיסמת המכשיר כדי להמשיך"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"קוד גישה שגוי"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"סיסמה שגויה"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"קו ביטול נעילה שגוי"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"הצגה לפי אפליקציות"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"הצגה לפי מערכות"</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">"בגלל בדיקות איכות שנערכות לפני המשלוח, מספר מחזורי הטעינה עשוי שלא להיות אפס בשימוש הראשון"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"סטטיסטיקה של תהליך"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"סטטיסטיקה של מומחי מחשבים על התהליכים הפועלים"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"זיכרון בשימוש"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"למחוק את הפעילות במצב אורח?"</string>
     <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="8300355036005240911">"לאפשר לאורח להשתמש בטלפון?"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"מתן אפשרות לאורחים לבצע שיחות"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"היסטוריית השיחות תשותף עם המשתמש האורח"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"‏הפעלת שיחות טלפון ו-SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"הגדרת המשתמש הזה כאדמין"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"‏רשת, מצב הרשת הסלולרית, מצב השירות, עוצמת האות, סוג הרשת הסלולרית, נדידה, ICCID,‏ EID"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"‎EID ‎"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"מספר סידורי, גרסת חומרה"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"מידע על הסוללה, תאריך הייצור, מספר המחזורים, השימוש הראשון"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"‏רמת תיקון האבטחה ב-Android, גרסת פס בסיס, גרסת ליבה"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"עיצוב, בהיר, כהה, מצב, רגישות לאור, פוטופוביה, שינוי לגוון כהה יותר, גוון כהה יותר, מצב כהה, מיגרנה"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"עיצוב כהה"</string>
@@ -3855,11 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"ברירת המחדל של המכשיר"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"נכשלה החלה של שכבת-על"</string>
     <string name="special_access" msgid="1767980727423395147">"גישה מיוחדת"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> אפליקציות יכולות להשתמש בנתונים בלתי מוגבלים</item>
-      <item quantity="two"><xliff:g id="COUNT">%d</xliff:g> אפליקציות יכולות להשתמש בנתונים בלתי מוגבלים</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> אפליקציות יכולות להשתמש בנתונים בלתי מוגבלים</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"תכונות נוספות"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"משימות ארוכות ברקע"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"ההגדרה הזו מאפשרת להריץ משימות ארוכות ברקע"</string>
@@ -4147,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"החלפת המצב של שינויים בתאימות של אפליקציות"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"השינויים מופעלים כברירת מחדל"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"השינויים מושבתים כברירת מחדל"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"אין אפליקציות זמינות"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"ניתן לבצע שינויים בתאימות האפליקציה רק עבור אפליקציות שניתנות לניפוי באגים. יש להתקין אפליקציה שניתנת לניפוי באגים ולנסות שוב."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"תלויה בהגדרה אחרת"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"חשבון"</string>
@@ -4666,7 +4673,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"השבתת ההגבלות על תהליכי הצאצא"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"השבתת הגבלות השימוש במשאבי המערכת של תהליכי הצאצא של האפליקציה"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"אילוץ הפעלה של פונקציית ההערות"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"הפעלת שילובי מערכת של כתיבת הערות דרך הפונקציה \'הערות\'. אם פונקציית ההערות כבר מופעלת, לא יקרה דבר."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"הפעלת שילובי מערכת של כתיבת הערות דרך הפונקציה \'הערות\'. אם פונקציית ההערות כבר מופעלת, שום דבר לא יקרה. נדרשת הפעלה מחדש."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"שידור"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"שידור תוכן מאפליקציית <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"האזנה לפודקאסטים שמושמעים בסביבה שלך"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 878e62b..f5f6307 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth を ON にしました"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"すべて表示"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"タッチペン"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"デフォルトのメモアプリ"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"テールボタンを押す"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g>（仕事用プロファイル）"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"温度"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"週最初の曜日"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Numbers の設定"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"アプリのデフォルトを使用する"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"デフォルトを使用"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"摂氏（°C）"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"華氏（°F）"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"日曜日"</string>
@@ -899,24 +900,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>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"カーネル バージョン"</string>
     <string name="build_number" msgid="9009733242117579826">"ビルド番号"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play システム アップデート"</string>
+    <string name="battery_info" msgid="7873528123969546728">"バッテリー情報"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"該当なし"</string>
     <string name="storage_settings" msgid="7472188817781592677">"ストレージ"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"ストレージとキャッシュ"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth アドレス"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"シリアル番号"</string>
     <string name="status_up_time" msgid="1274778533719495438">"稼働時間"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"製造日"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"初回使用日"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"サイクル回数"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"使用不可"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"計算中..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"名前を変更"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"マウント"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"すべての Wi-Fi と Bluetooth の設定をリセットします。この操作を元に戻すことはできません。"</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"リセット"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth と Wi-Fi をリセットしました"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"消去"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM を消去"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"この操作でモバイルのサービスプランが解約されることはありません。別の eSIM をダウンロードするには、携帯通信会社にお問い合わせください。"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"設定をリセット"</string>
@@ -1458,6 +1463,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>
+    <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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"アプリ別に表示"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"システム別に表示"</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">"出荷前の品質検査により、初回使用時にサイクル回数がゼロになっていない場合があります"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"プロセスの統計情報"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"プロセスの実行に関する独自の統計情報"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"メモリ使用"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"ゲストのアクティビティを削除しますか？"</string>
     <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="8300355036005240911">"スマートフォンの利用をゲストに許可する"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"ゲストに通話を許可する"</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>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"ネットワーク, モバイル ネットワークの状態, サービスの状態, 電波強度, モバイル ネットワークの種類, ローミング, ICCID, EID"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"シリアル番号, ハードウェア バージョン"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"バッテリー情報, 製造日, サイクル回数, 初回使用"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"Android セキュリティ パッチ レベル, ベースバンド バージョン, カーネル バージョン"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"テーマ, ライト, ダーク, モード, 光 過敏, 羞明, 切り替え 暗く, 暗くする, ダーク モード, 頭痛"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"ダークモード"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"デバイスのデフォルト"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"オーバーレイを適用できませんでした"</string>
     <string name="special_access" msgid="1767980727423395147">"特別なアプリアクセス"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> 個のアプリがモバイルデータを無制限に使用可能</item>
-      <item quantity="one">1 個のアプリがモバイルデータを無制限に使用可能</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"詳細"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"長いバックグラウンド タスク"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"長時間実行のバックグラウンド タスクを許可"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"「アプリの互換性の変更」を切り替えます"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"デフォルトで有効な変更"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"デフォルトで無効な変更"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"利用できるアプリはありません"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"アプリの互換性の変更は、デバッグ可能アプリでのみ行えます。デバッグ可能アプリをインストールしてから、もう一度お試しください。"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"別の設定に依存しています"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"アカウント"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"子プロセスの制限を無効にする"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"アプリの子プロセスのシステム リソース使用量に関する制限を無効にします"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"メモのロールを強制的に有効にする"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"メモのロールを通じてメモ作成システムの統合を行えるようにします。メモのロールがすでに有効の場合、処理は行われません。"</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"メモのロールを通じてメモ作成システムの統合を行えるようにします。メモのロールがすでに有効の場合、処理は行われません。再起動が必要です。"</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"ブロードキャスト"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> をブロードキャスト"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"近くで再生されているブロードキャストを聴きます"</string>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index f00b911..fd2c347 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth ჩაირთო"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"ყველას ნახვა"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"სტილუსი"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"ჩანიშვნების ნაგულისხმევი აპი"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"კუდის ღილაკზე დაჭერა"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (სამსახურის პროფილი)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"ტემპერატურა"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"კვირის პირველი დღე"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"ნომრების უპირატესობები"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"გამოიყენე აპის ნაგულისხმევი პარამეტრები"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"ნაგულისხმევის გამოყენება"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"ცელსიუსი (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"ფარენჰაიტი (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"კვირა"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"kernel-ის ვერსია"</string>
     <string name="build_number" msgid="9009733242117579826">"ანაწყობის ნომერი"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play სისტემის განახლება"</string>
+    <string name="battery_info" msgid="7873528123969546728">"ინფორმაცია ბატარეის შესახებ"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"მიუწვდომელი"</string>
     <string name="storage_settings" msgid="7472188817781592677">"მეხსიერება"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"მეხსიერება და ქეში"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth მისამართი"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"სერიული ნომერი"</string>
     <string name="status_up_time" msgid="1274778533719495438">"მუშაობის დრო"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"წარმოების თარიღი"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"პირველი გამოყენების თარიღი"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"ციკლების რაოდენობა"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"მიუწვდომელია"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"გამოთვლა…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"გადარქმევა"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"მიერთება"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"ამის შედეგად გადაიტვირთება Wi‑Fi-ისა და Bluetooth-ის ყველა პარამეტრი. ამ მოქმედებას ვერ გააუქმებთ."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"გადაყენება"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth და Wi‑Fi გადატვირთულია"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"ამოშლა"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM-ების ამოშლა"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"ეს არ გააუქმებს მობილური სერვისის მოქმედ გეგმებს. ჩამნაცვლებელი SIM-ების ჩამოსატვირთად დაუკავშირდით თქვენს ოპერატორს."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"პარამეტრების ჩამოყრა"</string>
@@ -1458,6 +1463,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>
+    <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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"აპების მიხედვით ნახვა"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"სისტემების მიხედვით ნახვა"</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">"მიწოდებამდე ხარისხის შემოწმების გამო, შესაძლოა, ციკლის მაჩვენებელი არ იყოს ნული პირველად გამოყენებისას"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"პროცესის სტატისტიკა"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"მიმდინარე პროცესების შემაჯამებელი სტატისტიკა"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"გამოყენებული მეხსიერება"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"გსურთ სტუმრის აქტივობის წაშლა?"</string>
     <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="8300355036005240911">"სტუმრისთვის ტელეფონის გამოყენების ნების დართვა"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"დართეთ ნება სტუმარს ტელეფონით დასარეკად"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"საუბრის ისტორია გაზიარდება სტუმარ მომხმარებელთან."</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"სატელ. ზარების და SMS-ის ჩართვა"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"დაინიშნოს ეს მომხმარებელი ადმინისტრატორად"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"ქსელი, მობილური ქსელის მდგომარეობა, სერვისის მდგომარეობა, სიგნალის სიძლიერე, მობილური ქსელის ტიპი, როუმინგი, ICCID, EID"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"სერიული ნომერი, აპარატურის ვერსია"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"ბატარეის ინფორმაცია, წარმოების თარიღი, ციკლების რაოდენობა, პირველი გამოყენება"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"Android-ის უსაფრთხოების ჩასწორების დონე, baseband-ის ვერსია, kernel-ის ვერსია"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"თემა, განათება, მუქი რეჟიმი, მგრძნობელობა სინათლის მიმართ, ფოტოფობია, გამუქება, ჩაბნელება, მუქი რეჟიმი, შაკიკი"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"მუქი თემა"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"მოწყობილობის ნაგულისხმევი"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"გადაფარვის მისადაგება ვერ მოხერხდა"</string>
     <string name="special_access" msgid="1767980727423395147">"აპების სპეციალური წვდომა"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other">მონაცემთა შეუზღუდავად გამოყენება <xliff:g id="COUNT">%d</xliff:g> აპს შეუძლია</item>
-      <item quantity="one">მონაცემთა შეუზღუდავად გამოყენება 1 აპს შეუძლია</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"მეტის ნახვა"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"ხანგრძლივი ფონური პროცესები"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"ხანგრძლივი ფონური პროცესების ნების დართვა"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"აპის თავსებადობის ცვლილებების გადართვა"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"ნაგულისხმევი ჩართული ცვლილებები"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"ნაგულისხმევი გათიშული ცვლილებები"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"ხელმისაწვდომი აპები არ არის"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"აპის თავსებადობის ცვლილებები მხოლოდ გამართვადი აპლიკაციებისთვის შეიძლება განხორციელდეს დააინსტალირეთ გამართვადი აპი და ხელახლა ცადეთ."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"დამოკიდებულია სხვა პარამეტრზე"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"ანგარიში"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"ქვე პროცესის შეზღუდვის გამორთვა"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"გამორთეთ შეზღუდვები აპის ქვე დამუშავების სისტემის რესურსების გამოყენების შესახებ"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"ჩანიშვნების როლის იძულებით ჩართვა"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"ჩართეთ ჩანიშვნის სისტემის ინტეგრაციები შენიშვნების როლიდან. თუ ჩანიშვნების როლი უკვე ჩართულია, არაფერს მოიმოქმედებს."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"ჩართეთ ჩანიშვნების შექმნის სისტემის ინტეგრაციები ჩანიშვნების როლიდან. თუ ჩანიშვნების როლი უკვე ჩართულია, არაფერს მოიმოქმედებს. საჭიროებს გადატვირთვას."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"ტრანსლაცია"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g>-ის ტრანსლაცია"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"მოუსმინეთ ტრანსლაციებს თქვენთან ახლოს"</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index a459942..3bc4d1c 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth қосылды"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Барлығын көру"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Стилус"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Әдепкі ескертпелер қолданбасы"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Стилус түймесін басу"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (жұмыс профилі)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Температура"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Аптаның бірінші күні"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Сан параметрлері"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Қолданбаның әдепкі параметрлерін пайдалану"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Әдепкісінше пайдалану"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Цельсий (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Фаренгейт (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Жексенбі"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Ядро нұсқасы"</string>
     <string name="build_number" msgid="9009733242117579826">"Құрама нөмірі"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play арқылы жүйені жаңарту"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Батарея ақпараты"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Қолжетімсіз"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Жад"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Жад және кэш"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth мекенжайы"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Сериялық нөмірі"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Қосылғаннан бергі жұмыс уақыты"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Жасалған уақыты"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Алғаш пайдаланылған уақыты"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Цикл саны"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Жоқ"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Есептеуде…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Атын өзгерту"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"контентті картадан жүктеу"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Барлық Wi‑Fi мен Bluetooth параметрі бастапқы қалпына келеді. Бұл әрекет кері қайтарылмайды."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Бастапқы қалпына келтіру"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth пен Wi‑Fi қайта орнатылды."</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Өшіру"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM карталарын тазарту"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Бұл әрекет тарифтік жоспарлардың күшін жоймайды. Жаңа SIM карталарын жүктеп алу үшін операторға хабарласыңыз."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Параметрлерді бастапқы күйге қайтару"</string>
@@ -1458,6 +1463,18 @@
     <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_invalid_pin" msgid="7530854476819820600">"Қате PIN"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Қате құпия сөз"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Қате өрнек"</string>
@@ -2326,6 +2343,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Қолданбалар бойынша көру"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Жүйелер бойынша көру"</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">"Жөнелту алдында сапа тексерістері орындалатындықтан, алғаш пайдалану кезінде цикл саны нөлге тең болмауы мүмкін."</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Үрдіс статистикалары"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Қосылған үрдістерге қатысты статистикалар"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Жад қолдану"</string>
@@ -2703,7 +2721,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Қонақ әрекетін жою керек пе?"</string>
     <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="8300355036005240911">"Қонаққа телефонды пайдалануға рұқсат ету"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Қонаққа қоңырау шалуға рұқсат беру"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Қоңыраулар тарихы осы қонақ пайдаланушыға көрсетіледі."</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Телефон қоңырауларын және SMS қосу"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Осы пайдаланушыны әкімші ету"</string>
@@ -2929,6 +2947,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"желі, мобильдік желі күйі, қызмет күйі, сигнал күші, мобильдік желі түрі, роуминг, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"сериялық нөмір, жабдық нұсқасы"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"батарея ақпараты, жасалған уақыты, цикл саны, алғаш пайдаланылған уақыты"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"android қауіпсіздік түзетуінің деңгейі, тікелей тарату нұсқасы, ядро нұсқасы"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"тақырып, жарық, қараңғы, режим, жарықсезгіштік, фотофобия, қараңғылау, қараңғы ету, қараңғы режим, бас сақинасы ауруы"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"қараңғы режим"</string>
@@ -3855,10 +3874,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Құрылғының әдепкі параметрі"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Қабаттастыру мүмкін болмады."</string>
     <string name="special_access" msgid="1767980727423395147">"Арнайы рұқсат"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> қолданба деректерді шексіз пайдалана алады</item>
-      <item quantity="one">1 қолданба деректерді шексіз пайдалана алады</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Толығырақ"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Ұзақ фондық тапсырмалар"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Ұзақ фондық тапсырмаларды орындауға рұқсат беру"</string>
@@ -4146,7 +4161,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Қолданбалардың үйлесімділігін реттеудегі өзгерісті көрсету"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Қосылған әдепкі өзгерістер"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Өшірілген әдепкі өзгерістер"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Қолданба жоқ"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Үйлесімділік параметрлері түзетілетін қолданбаларда ғана реттеледі. Түзетілетін қолданбаларды орнатып, әрекетті қайталап көріңіз."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Басқа параметрге тәуелді"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Аккаунт"</string>
@@ -4664,7 +4678,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Туынды процеске қатысты шектеулерді өшіру"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Қолданбаның туынды процестерінің жүйе ресурсын пайдалануына қатысты шектеулерді өшіру"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"\"Ескертпелер\" жинағын мәжбүрлі түрде қосу"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"\"Ескертпелер\" жинағы арқылы ескертпе жасау жүйесін қосады. \"Ескертпелер\" жинағы қосулы болса, ештеңе істемейді."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"\"Ескертпелер\" жинағы арқылы ескертпе жасау жүйесін қосады. \"Ескертпелер\" жинағы қосулы болса, ештеңе істемейді. Қайта жүктеу қажет."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Тарату"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> қолданбасын тарату"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Маңайыңызда таратылып жатқан медиамазмұндарды тыңдауға болады."</string>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index 0b655ad..db60a74 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"បាន​បើក​ប៊្លូធូស"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"មើលទាំងអស់"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"ប៊ិក"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"កម្មវិធីកំណត់ចំណាំលំនាំដើម"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"ការចុចប៊ូតុងកន្ទុយ"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (កម្រងព័ត៌មានការងារ)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"សីតុណ្ហភាព"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"ថ្ងៃដំបូងនៃសប្ដាហ៍"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"ចំណូលចិត្តលេខ"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"ប្រើលំនាំដើមកម្មវិធី"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"ប្រើលំនាំដើម"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"អង្សាសេ (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"អង្សាហ្វារិនហៃ (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"អាទិត្យ"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"កំណែ​ខឺណែល"</string>
     <string name="build_number" msgid="9009733242117579826">"លេខ​កំណែបង្កើត"</string>
     <string name="module_version" msgid="1787518340082046658">"បច្ចុប្បន្នភាព​ប្រព័ន្ធ Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"ព័ត៌មាន​ថ្ម"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"មិនមាន"</string>
     <string name="storage_settings" msgid="7472188817781592677">"ទំហំ​ផ្ទុក"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"ទំហំផ្ទុក និងឃ្លាំងបម្រុង"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"អាសយដ្ឋាន​ប៊្លូធូស"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"លេខ​ស៊េរី"</string>
     <string name="status_up_time" msgid="1274778533719495438">"រយៈ​ពេល​បើក"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"កាលបរិច្ឆេទផលិត"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"កាលបរិច្ឆេទនៃការប្រើដំបូង"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"ចំនួនវដ្ដ"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"មិនមានទេ"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"កំពុង​គណនា..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"ប្ដូរឈ្មោះ"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"ភ្ជាប់"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"បែបនេះនឹងកំណត់ការកំណត់ Wi‑Fi និងប៊្លូធូសទាំងអស់ឡើងវិញ។ អ្នកមិន​អាចត្រឡប់​សកម្មភាពនេះ​វិញបានទេ។"</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"កំណត់​ឡើងវិញ"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ប៊្លូធូស និង Wi-Fi ត្រូវបានកំណត់ឡើងវិញ"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"លុប"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"លុប eSIM"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"សកម្មភាពនេះ​នឹងមិនបោះបង់​គម្រោង​សេវាទូរសព្ទចល័ត​ណាមួយឡើយ។ ដើម្បី​ទាញយក​ស៊ីមជំនួស សូម​ទាក់ទង​ក្រុមហ៊ុន​សេវាទូរសព្ទរបស់​អ្នក។"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"កំណត់ការកំណត់ឡើងវិញ"</string>
@@ -1458,6 +1463,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>
+    <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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"មើលតាមកម្មវិធី"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"មើលតាមប្រព័ន្ធ"</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">"ដោយសារមានការត្រួតពិនិត្យមុនពេលដឹកជញ្ជូន ចំនួនវដ្តប្រហែលមិនស្មើសូន្យនៅពេលប្រើលើកដំបូងទេ"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"ស្ថិតិ​​ដំណើរការ"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"ស្ថិតិ Geeky អំពី​ដំណើរការ​"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"ការ​ប្រើ​​អង្គ​ចងចាំ​"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"លុបសកម្មភាពភ្ញៀវឬ?"</string>
     <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="8300355036005240911">"អនុញ្ញាត​ឱ្យ​ភ្ញៀវ​ប្រើ​ទូរសព្ទ"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"អនុញ្ញាតឱ្យភ្ញៀវហៅទូរសព្ទ"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"ប្រវត្តិហៅទូរសព្ទ​នឹង​ត្រូវ​បាន​ចែករំលែក​ជា​មួយ​អ្នក​ប្រើ​ជា​ភ្ញៀវ"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"បើកការហៅទូរសព្ទ និងសារ SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"ផ្ដល់សិទ្ធិជាអ្នកគ្រប់គ្រងឱ្យអ្នកប្រើប្រាស់នេះ"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"បណ្ដាញ, ស្ថានភាពបណ្ដាញ​ទូរសព្ទ​ចល័ត, ស្ថានភាពសេវាកម្ម, កម្លាំងសញ្ញា, ប្រភេទបណ្ដាញ​ទូរសព្ទ​ចល័ត, រ៉ូមីង, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"លេខស៊េរី កំណែផ្នែក​រឹង"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"ព័ត៌មានថ្ម កាលបរិច្ឆេទផលិត ចំនួនវដ្ត ការប្រើដំបូង"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"កម្រិតផេឆសុវត្ថិភាព android, កំណែ​មូលដ្ឋាន, កំណែ​ខឺណែល"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"រចនាប័ទ្ម ពន្លឺ ងងឹត មុខងារ កម្រិតពន្លឺ ប្រតិកម្មនឹងពន្លឺ ធ្វើឱ្យកាន់តែងងឹត ធ្វើឱ្យងងឹត មុខងារងងឹត ឈឺក្បាលប្រកាំង"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"ទម្រង់រចនាងងឹត"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"លំនាំដើម​របស់ឧបករណ៍"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"មិនអាចប្រើ​ការដាក់​ត្រួតគ្នា​បានទេ"</string>
     <string name="special_access" msgid="1767980727423395147">"ការចូលប្រើប្រាស់កម្មវិធីពិសេស"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other">កម្មវិធី <xliff:g id="COUNT">%d</xliff:g> អាច​ប្រើ​ទិន្នន័យដែលគ្មានការដាក់កំហិត</item>
-      <item quantity="one">កម្មវិធី 1 អាច​ប្រើ​ទិន្នន័យដែលគ្មានការដាក់កំហិត</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"មើលច្រើនទៀត"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"កិច្ចការនៅផ្ទៃខាងក្រោយដែលប្រើពេលយូរ"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"អនុញ្ញាតកិច្ចការនៅផ្ទៃខាងក្រោយដែលដំណើរការដោយប្រើពេលយូរ"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"បិទ/បើក​ការផ្លាស់ប្ដូរ​ភាពត្រូវគ្នា​នៃ​កម្មវិធី"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"ការផ្លាស់ប្ដូរ​ដែលបានបើក​តាម​លំនាំដើម"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"ការផ្លាស់ប្ដូរ​ដែលបានបិទ​តាម​លំនាំដើម"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"មិនមាន​កម្មវិធីទេ"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"ការផ្លាស់ប្ដូរ​ភាពត្រូវគ្នា​នៃ​កម្មវិធី​អាចត្រូវបាន​កែប្រែសម្រាប់​តែកម្មវិធី​ដែលអាចជួសជុល​បានប៉ុណ្ណោះ។ ដំឡើង​កម្មវិធី​ដែលអាចជួសជុលបាន រួចព្យាយាមម្ដងទៀត។"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"ផ្អែក​លើ​ការកំណត់​ផ្សេង​ទៀត"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"គណនី"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"បិទការដាក់កំហិតលើដំណើរការសម្រាប់កុមារ"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"បិទការ​ដាក់​កំហិតលើការប្រើប្រាស់ធនធានប្រព័ន្ធសម្រាប់ដំណើរការកម្មវិធីសម្រាប់កុមារ"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"បង្ខំឱ្យបើកតួនាទីកំណត់ចំណាំ"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"បើកការរួមបញ្ចូលប្រព័ន្ធកត់ចំណាំតាមរយៈតួនាទីកំណត់ចំណាំ។ ប្រសិនបើតួនាទីកំណត់ចំណាំត្រូវបានបើករួចហើយ សូមកុំធ្វើអ្វីទាំងអស់។"</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"បើកការរួមបញ្ចូលប្រព័ន្ធកត់ចំណាំតាមរយៈតួនាទីកំណត់ចំណាំ។ ប្រសិនបើតួនាទីកំណត់ចំណាំត្រូវបានបើករួចហើយ សូមកុំធ្វើអ្វីទាំងអស់។ តម្រូវឱ្យ​ចាប់ផ្ដើមឡើងវិញ។"</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"ការ​ផ្សាយ"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"ការផ្សាយ <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"ស្ដាប់ការផ្សាយដែលកំពុងចាក់នៅជិតអ្នក"</string>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 5f15f8c..1dbf4d5 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -119,11 +119,12 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"ಬ್ಲೂಟೂತ್ ಆನ್ ಮಾಡಲಾಗಿದೆ"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"ಎಲ್ಲವನ್ನೂ ನೋಡಿ"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"ಸ್ಟೈಲಸ್"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"ಡೀಫಾಲ್ಟ್ ಟಿಪ್ಪಣಿಗಳು ಆ್ಯಪ್"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"ಟೈಲ್ ಬಟನ್ ಒತ್ತಿರಿ"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್‌)"</string>
     <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">"ದಿನಾಂಕ ಮತ್ತು ಸಮಯ"</string>
+    <string name="date_and_time" msgid="1788358029823431692">"ದಿನಾಂಕ &amp; ಸಮಯ"</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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"ತಾಪಮಾನ"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"ವಾರದ ಮೊದಲ ದಿನ"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"ಸಂಖ್ಯೆಗಳ ಆದ್ಯತೆಗಳು"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"ಆ್ಯಪ್ ಡೀಫಾಲ್ಟ್ ಬಳಸಿ"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"ಡೀಫಾಲ್ಟ್ ಬಳಸಿ"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"ಸೆಲ್ಸಿಯಸ್ (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"ಫ್ಯಾರನ್‌ಹೀಟ್ (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"ಭಾನುವಾರ"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"ಕೆರ್ನಲ್ ಆವೃತ್ತಿ"</string>
     <string name="build_number" msgid="9009733242117579826">"ಬಿಲ್ಡ್ ಸಂಖ್ಯೆ"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play ಸಿಸ್ಟಂ ಅಪ್‌ಡೇಟ್"</string>
+    <string name="battery_info" msgid="7873528123969546728">"ಬ್ಯಾಟರಿ ಮಾಹಿತಿ"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"ಲಭ್ಯವಿಲ್ಲ"</string>
     <string name="storage_settings" msgid="7472188817781592677">"ಸಂಗ್ರಹಣೆ"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"ಸಂಗ್ರಹಣೆ ಮತ್ತು ಕ್ಯಾಷ್"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"ಬ್ಲೂಟೂತ್‌‌ ವಿಳಾಸ"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"ಕ್ರಮ ಸಂಖ್ಯೆ"</string>
     <string name="status_up_time" msgid="1274778533719495438">"ಕಾರ್ಯನಿರತ ಸಮಯ"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"ಉತ್ಪಾದನಾ ದಿನಾಂಕ"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"ಮೊದಲು ಬಳಸಿದ ದಿನಾಂಕ"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"ಸೈಕಲ್ ಎಣಿಕೆ"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"ಲಭ್ಯವಿಲ್ಲ"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"ಎಣಿಕೆ ಮಾಡಲಾಗುತ್ತಿದೆ..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"ಮರುಹೆಸರಿಸಿ"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"ಅಳವಡಿಸಿ"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"ಇದು ಎಲ್ಲಾ ವೈ-ಫೈ ಮತ್ತು ಬ್ಲೂಟೂತ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ರೀಸೆಟ್ ಮಾಡುತ್ತದೆ. ನೀವು ಈ ಕ್ರಿಯೆಯನ್ನು ರದ್ದುಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"ರೀಸೆಟ್ ಮಾಡಿ"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ಬ್ಲೂಟೂತ್ ಮತ್ತು ವೈ-ಫೈ ಅನ್ನು ರೀಸೆಟ್ ಮಾಡಲಾಗಿದೆ"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"ಅಳಿಸಿ"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM ಗಳನ್ನು ಅಳಿಸಿಹಾಕಿ"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"ಇದು ಯಾವುದೇ ಮೊಬೈಲ್ ಸೇವಾ ಪ್ಲಾನ್‌ಗಳನ್ನು ರದ್ದುಗೊಳಿಸುವುದಿಲ್ಲ. ಬದಲಾಯಿಸಿದ SIM ಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿಕೊಳ್ಳಲು, ನಿಮ್ಮ ವಾಹಕವನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಮರುಹೊಂದಿಸಿ"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"ಈ ಸಾಧನವನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಲು ಪ್ಯಾಟರ್ನ್ ಬಳಸಿ"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"ಈ ಸಾಧನವನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಲು ಪಿನ್ ಸಹ ಬಳಸಿ"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"ಈ ಸಾಧನವನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಲು ಪಾಸ್‌ವರ್ಡ್ ಬಳಸಿ"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"ಪ್ಯಾಟರ್ನ್‌ ಪರಿಶೀಲಿಸಿ"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"ಪಿನ್‌ ಪರಿಶೀಲಿಸಿ"</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">"ಮುಂದುವರಿಸಲು ನಿಮ್ಮ ಸಾಧನದ ಪಿನ್‌ ನಮೂದಿಸಿ"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"ಮುಂದುವರಿಸಲು ನಿಮ್ಮ ಸಾಧನದ ಪಾಸ್‌ವರ್ಡ್‌ ನಮೂದಿಸಿ"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"ತಪ್ಪಾದ ಪಿನ್‌"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"ತಪ್ಪು ಪಾಸ್‌ವರ್ಡ್‌"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"ಪ್ಯಾಟರ್ನ್ ತಪ್ಪಾಗಿದೆ"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"ಆ್ಯಪ್‌ಗಳ ಮೂಲಕ ವೀಕ್ಷಿಸಿ"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"ಸಿಸ್ಟಮ್‌ಗಳ ಮೂಲಕ ವೀಕ್ಷಿಸಿ"</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">"ಶಿಪ್ಪಿಂಗ್‌ಗೆ ಮೊದಲು ಗುಣಮಟ್ಟದ ತಪಾಸಣೆಗಳ ಕಾರಣದಿಂದಾಗಿ, ಮೊದಲ ಬಳಕೆಯಲ್ಲಿ ಆವರ್ತನದ ಎಣಿಕೆ ಶೂನ್ಯವಾಗಿರಬಹುದು"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"ಪ್ರಕ್ರಿಯೆಯ ಅಂಕಿಅಂಶಗಳು"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"ಚಾಲನೆಯಲ್ಲಿರುವ ಪ್ರಕ್ರಿಯೆಗಳ ಕುರಿತು Geeky ಅಂಕಿಅಂಶಗಳು"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"ಸ್ಮರಣೆ ಬಳಕೆ"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"ಅಥಿತಿ ಚಟುವಟಿಕೆಯನ್ನು ಅಳಿಸಬೇಕೆ?"</string>
     <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="8300355036005240911">"ಫೋನ್ ಬಳಸಲು ಅತಿಥಿಗೆ ಅವಕಾಶ ನೀಡಿ"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"ಫೋನ್ ಕರೆಗಳನ್ನು ಮಾಡಲು ಅತಿಥಿಗೆ ಅನುಮತಿಸಿ"</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>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"ನೆಟ್‌ವರ್ಕ್, ಮೊಬೈಲ್ ನೆಟ್‌ವರ್ಕ್ ಸ್ಥಿತಿ, ಸೇವಾ ಸ್ಥಿತಿ, ಸಿಗ್ನಲ್ ಸಾಮರ್ಥ್ಯ, ಮೊಬೈಲ್ ನೆಟ್‌ವರ್ಕ್ ಪ್ರಕಾರ, ರೋಮಿಂಗ್, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"ಕ್ರಮ ಸಂಖ್ಯೆ, ಹಾರ್ಡ್‌ವೇರ್ ಆವೃತ್ತಿ"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"ಬ್ಯಾಟರಿ ಮಾಹಿತಿ, ಉತ್ಪಾದನಾ ದಿನಾಂಕ, ಸೈಕಲ್ ಎಣಿಕೆ, ಮೊದಲ ಬಳಕೆ"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"android ಭದ್ರತೆ ಪ್ಯಾಚ್ ಮಟ್ಟ, ಬೇಸ್‌ಬ್ಯಾಂಡ್ ಆವೃತ್ತಿ, ಕೆರ್ನಲ್ ಆವೃತ್ತಿ"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"ಥೀಮ್, ಲೈಟ್, ಗಾಢ, ಮೋಡ್, ಬೆಳಕಿನ ಸೂಕ್ಷ್ಮತೆ, ಫೋಟೊಫೋಬಿಯಾ, ಗಾಢವಾಗಿಸಿ, ಗಾಢವಾಗಿಸಿ, ಡಾರ್ಕ್ ಮೋಡ್, ಮೈಗ್ರೇನ್"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"ಗಾಢವಾದ ಥೀಮ್"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"ಸಾಧನದ ಡೀಫಾಲ್ಟ್"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"ಓವರ್‌ಲೇ ಅನ್ನು ಅನ್ವಯಿಸಲು ವಿಫಲವಾಗಿದೆ"</string>
     <string name="special_access" msgid="1767980727423395147">"ವಿಶೇಷ ಆ್ಯಪ್ ಆ್ಯಕ್ಸೆಸ್"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ಅಪ್ಲಿಕೇಶನ್‌ಗಳು, ಅನಿರ್ಬಂಧಿತ ಡೇಟಾ ಬಳಸಬಹುದು</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ಅಪ್ಲಿಕೇಶನ್‌ಗಳು, ಅನಿರ್ಬಂಧಿತ ಡೇಟಾ ಬಳಸಬಹುದು</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"ಇನ್ನಷ್ಟು ನೋಡಿ"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"ದೀರ್ಘ ಹಿನ್ನೆಲೆ ಕಾರ್ಯಗಳು"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"ದೀರ್ಘಕಾಲ ರನ್ ಆಗುವ ಹಿನ್ನೆಲೆ ಕಾರ್ಯಗಳನ್ನು ಅನುಮತಿಸಿ"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ಆ್ಯಪ್ ಹೊಂದಾಣಿಕೆ ಬದಲಾವಣೆಗಳನ್ನು ಟಾಗಲ್ ಮಾಡಿ"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"ಸಕ್ರಿಯಗೊಳಿಸಲಾದ ಬದಲಾವಣೆಗಳ ಡೀಫಾಲ್ಟ್"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾದ ಬದಲಾವಣೆಗಳ ಡೀಫಾಲ್ಟ್"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"ಯಾವುದೇ ಆ್ಯಪ್‌ಗಳು ಲಭ್ಯವಿಲ್ಲ"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"ಆ್ಯಪ್ ಹೊಂದಾಣಿಕೆ ಬದಲಾವಣೆಗಳನ್ನು, ಡೀಬಗ್ ಮಾಡಬಹುದಾದ ಆ್ಯಪ್‌ಗಳಲ್ಲಿ ಮಾತ್ರ ಮಾರ್ಪಡಿಸಬಹುದು. ಡೀಬಗ್ ಮಾಡಬಹುದಾದ ಆ್ಯಪ್ ಅನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"ಇನ್ನೊಂದು ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"ಖಾತೆ"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"ಮಕ್ಕಳ ಪ್ರಕ್ರಿಯೆಯ ನಿರ್ಬಂಧಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"ಮಕ್ಕಳು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಿದ ಆ್ಯಪ್‌ನ ಸಿಸ್ಟಂ ಮಾಹಿತಿಯ ಮೂಲದ ಬಳಕೆಯ ಮೇಲಿನ ನಿರ್ಬಂಧಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"ಟಿಪ್ಪಣಿಗಳ ಪಾತ್ರವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಒತ್ತಾಯಿಸಿ"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"ಟಿಪ್ಪಣಿಗಳ ಪಾತ್ರವನ್ನು ಬಳಸಿಕೊಂಡು ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಟಿಪ್ಪಣಿ-ತೆಗೆದುಕೊಳ್ಳುವ ಸಂಯೋಜನೆಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ. ಟಿಪ್ಪಣಿಗಳ ಪಾತ್ರವನ್ನು ಈಗಾಗಲೇ ಸಕ್ರಿಯಗೊಳಿಸಿದ್ದರೆ, ಏನನ್ನೂ ಮಾಡುವುದಿಲ್ಲ."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"ಟಿಪ್ಪಣಿಗಳ ರೋಲ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಟಿಪ್ಪಣಿ-ತೆಗೆದುಕೊಳ್ಳುವ ಸಿಸ್ಟಮ್ ಸಂಯೋಜನೆಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ. ಟಿಪ್ಪಣಿಗಳ ರೋಲ್ ಅನ್ನು ಈಗಾಗಲೇ ಸಕ್ರಿಯಗೊಳಿಸಿದ್ದರೆ, ಏನನ್ನೂ ಮಾಡುವುದಿಲ್ಲ. ರೀಬೂಟ್ ಮಾಡುವ ಅಗತ್ಯವಿದೆ."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"ಪ್ರಸಾರ"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> ಅನ್ನು ಪ್ರಸಾರ ಮಾಡಿ"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"ನಿಮ್ಮ ಹತ್ತಿರ ಪ್ಲೇ ಆಗುತ್ತಿರುವ ಪ್ರಸಾರಗಳನ್ನು ಆಲಿಸಿ"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index e7a0c31..c579601 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"블루투스가 사용 설정됨"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"전체 보기"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"스타일러스"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"기본 메모 앱"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"테일 버튼 누르기"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g>(직장 프로필)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"온도"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"일주일 중 첫날"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"숫자 환경설정"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"앱 기본값 사용"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"기본값 사용"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"섭씨(°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"화씨(°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"일요일"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"커널 버전"</string>
     <string name="build_number" msgid="9009733242117579826">"빌드 번호"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play 시스템 업데이트"</string>
+    <string name="battery_info" msgid="7873528123969546728">"배터리 정보"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"표시할 수 없음"</string>
     <string name="storage_settings" msgid="7472188817781592677">"저장용량"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"저장용량 및 캐시"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"블루투스 주소"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"일련번호"</string>
     <string name="status_up_time" msgid="1274778533719495438">"가동 시간"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"제조일자"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"최초 사용일"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"사이클 수"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"사용 불가"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"계산 중..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"이름 바꾸기"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"마운트"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Wi-Fi 및 블루투스 설정이 초기화됩니다. 이 작업은 실행취소할 수 없습니다."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"초기화"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"블루투스 및 Wi-Fi가 초기화됨"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"삭제"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"e-SIM 삭제"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"SIM을 삭제해도 모바일 서비스 요금제는 취소되지 않습니다. 교체 SIM을 다운로드하려면 이동통신사에 문의하세요."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"설정 초기화"</string>
@@ -1458,6 +1463,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>
+    <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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"앱별로 보기"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"시스템별로 보기"</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">"발송 전 품질 검사로 인해 처음 사용 시 사이클 수가 0이 아닐 수 있습니다."</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"프로세스 통계"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"프로세스 실행에 관한 통계"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"메모리 사용량"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"게스트 활동을 삭제하시겠습니까?"</string>
     <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="8300355036005240911">"게스트가 전화를 사용하도록 허용"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"게스트가 전화를 걸 수 있도록 허용"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"통화 기록이 이 게스트 사용자와 공유됩니다."</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"통화 및 SMS 기능 사용"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"이 사용자에게 관리자 권한 부여"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"네트워크, 모바일 네트워크 상태, 서비스 상태, 신호 강도, 모바일 네트워크 유형, 로밍, ICCID, EID"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"일련번호, 하드웨어 버전"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"배터리 정보, 제조일자, 사이클 수, 최초 사용"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"Android 보안 패치 수준, 베이스밴드 버전, 커널 버전"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"테마, 밝기, 어두운 모드, 광과민성, 광선공포증, 밝기 낮추기, 어둡게, 어두운 모드, 편두통"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"어두운 테마"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"기기 기본값"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"오버레이 적용 실패"</string>
     <string name="special_access" msgid="1767980727423395147">"특수 앱 액세스"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other">앱 <xliff:g id="COUNT">%d</xliff:g>개에서 무제한 데이터 사용 가능</item>
-      <item quantity="one">앱 1개에서 무제한 데이터 사용 가능</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"더보기"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"오래 걸리는 백그라운드 작업"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"오래 걸리는 백그라운드 작업 허용"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"앱 호환성 변경사항 전환"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"기본적으로 사용 설정된 앱의 변경사항"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"기본적으로 사용 중지된 앱의 변경사항"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"사용 가능한 앱 없음"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"디버그 가능한 앱의 경우에만 앱 호환성 변경사항을 수정할 수 있습니다. 디버그 가능한 앱을 설치하고 다시 시도해 보세요."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"다른 설정을 변경해야 함"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"계정"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"하위 프로세스 제한 사용 중지"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"앱 하위 프로세스의 시스템 리소스 사용에 대한 제한을 사용 중지하세요."</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"메모 역할 강제 사용 설정"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"메모 역할을 통해 메모 작성 시스템 통합을 사용 설정합니다. 메모 역할이 이미 사용 설정되어 있다면 아무 작업도 하지 않습니다."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"메모 역할을 통해 메모 작성 시스템 통합을 사용 설정합니다. 메모 역할이 이미 사용 설정되어 있다면 아무 작업도 하지 않습니다. 재부팅이 필요합니다."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"방송"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> 방송"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"근처에서 재생 중인 방송을 듣습니다."</string>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 3ed5319..528eb80 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth күйгүзүлдү"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Баарын көрүү"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Стилус"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Кыска жазуулар үчүн демейки колдонмо"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Стилус баскычын басуу"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Жумуш профили)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Температура"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Аптанын биринчи күнү"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Сан параметрлери"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Колдонмонун демейки параметрлерин колдонуу"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Демейкини колдонуу"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Цельсий (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Фаренгейт (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Жекшемби"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Өзөктүн версиясы"</string>
     <string name="build_number" msgid="9009733242117579826">"Курама номери"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play тутуму качан жаңырган"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Батарея жөнүндө маалымат"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Жеткиликтүү эмес"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Сактагыч"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Сактагыч жана кеш"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth дареги"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Сериялык номери"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Түзмөк күйгүзүлгөндөн берки убакыт"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Өндүрүлгөн күнү"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Биринчи жолу колдонулган күнү"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Циклдердин саны"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Жеткиликсиз"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Эсептелүүдө…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Аталышын өзгөртүү"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Кошуу"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Ушуну менен бардык Wi‑Fi жана Bluetooth параметрлери баштапкы абалга келтирилет. Бул аракетти артка кайтара албайсыз."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Баштапкы абалга келтирүү"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth жана Wi‑Fi баштапкы абалга келтирилди"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Тазалоо"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM-карталарын өчүрүү"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Тарифтик пландарыңыз өзгөрбөйт. Башка SIM-карталарды жүктөп алуу үчүн байланыш операторуна кайрылыңыз."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Параметрлерди кайра коюу"</string>
@@ -1458,6 +1463,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>
+    <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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Колдонмолор боюнча иргөө"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Системалар боюнча иргөө"</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">"Жөнөтүүдөн мурун талап кылынган сапат боюнча текшерүүлөрдөн улам батареянын циклдеринин саны биринчи колдонууда нөлгө барабар болбошу мүмкүн"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Процесстин статистикасы"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Иштеп жаткан процесстердин өзгөчө статистикасы"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Эс системанын пайдаланылышы"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Коноктун аракеттери өчүрүлсүнбү?"</string>
     <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="8300355036005240911">"Конокко телефондон чалууга уруксат берүү"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Конокко телефон чалууга уруксат берүү"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Конок режиминдеги колдонуучу чалуулар таржымалын көрө алат"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Чалуулар менен SMS иштетүү"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Бул колдонуучуну админ кылуу"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"тармак, мобилдик тармактын абалы, кызматтын абалы, сигналдын күчү, мобилдик тармактын түрү, роуминг, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"сериялык номер, аппараттык камсыздоонун версиясы"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"батарея жөнүндө маалымат, өндүрүлгөн күнү, циклдердин саны, биринчи жолу колдонулган күнү"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"android коопсуздугун жаңыртуу деңгээли, байланыш модулунун версиясы, өзөктүн версиясы"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"тема, жарык, караңгы, режим, жарыкты сезгичтик, фотофобия, караңгылатуу, караңгы тема, баш ооруу"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"караңгы тема"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Түзмөктүн демейки параметри"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Үстүнө коюлган жок"</string>
     <string name="special_access" msgid="1767980727423395147">"Атайын мүмкүнчүлүк"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> колдонмо маалыматтарды чектөөсүз өткөрө алат</item>
-      <item quantity="one">1 колдонмо маалыматтарды чектөөсүз өткөрө алат</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Дагы көрүү"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Фондогу узак тапшырмалар"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Узак тапшырмаларды фондо аткарууга уруксат берүү"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Колдонмонун шайкештигине киргизилген өзртүүлөрдү өчүрүү/күйгүзүү"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Демейки күйгүзүлгөн өзгөртүүлөр"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Демейки өчүрүлгөн өзгөртүүлөр"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Колдонмолор жок"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Шайкештик параметрлерин мүчүлүштүктөрүн оңдоого мүмкүн болгон колдонмолор үчүн гана өзгөртүүгө болот. Ушундай колдонмо орнотуп туруп, кайталап көрүңүз."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Башка жөндөөгө көз каранды"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Аккаунт"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Колдонмонун экинчи нускасындагы чектөөлөрдү өчүрүү"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Колдонмонун экинчи нускасын колдонуу үчүн системанын ресурстарындагы чектөөлөрдү өчүрүңүз"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Эскертмелердеги ролду мажбурлап иштетүү"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Эскертмелердеги роль аркылуу интеграцияланган эскертмелерди алууну иштетиңиз. Эгер Эскертмелердеги роль мурунтан эле иштетилген болсо, эч нерсе кылуунун кереги жок."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Эскертмелердин ролу аркылуу интеграцияланган эскертмелерди алууну иштетиңиз. Эгер Эскертмелердин ролу мурунтан эле иштетилген болсо, эч нерсе кылуунун кереги жок. Өчүрүп-күйгүзүү талап кылынат."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Кабарлоо"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> колдонмосунда кабарлоо"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Жакын жерде угузулган кабарларды угуңуз"</string>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 858d579..9d0ca48 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"ເປີດ Bluetooth ແລ້ວ"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"ເບິ່ງທັງໝົດ"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"ປາກກາ"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"ແອັບຈົດບັນທຶກເລີ່ມຕົ້ນ"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"ມີການກົດປຸ່ມຄ້າງ"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"ອຸນຫະພູມ"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"ມື້ທຳອິດຂອງອາທິດ"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"ການຕັ້ງຄ່າຕົວເລກ"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"ໃຊ້ຄ່າເລີ່ມຕົ້ນຂອງແອັບ"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"ໃຊ້ຄ່າເລີ່ມຕົ້ນ"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"ເຊວຊຽສ (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"ຟາເຣນຮາຍ (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"ວັນອາທິດ"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"ເວີຊັນຂອງເຄີນເນວ"</string>
     <string name="build_number" msgid="9009733242117579826">"ໝາຍເລກ Build"</string>
     <string name="module_version" msgid="1787518340082046658">"ການອັບເດດລະບົບ Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"ຂໍ້ມູນແບັດເຕີຣີ"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"ຍັງບໍ່ສາມາດໃຊ້ໄດ້"</string>
     <string name="storage_settings" msgid="7472188817781592677">"ພື້ນທີ່ຈັດເກັບຂໍ້ມູນ"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"ບ່ອນຈັດເກັບຂໍ້ມູນ ແລະ ແຄສ"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"ທີ່ຢູ່ Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"ໝາຍເລກຊີຣຽວ"</string>
     <string name="status_up_time" msgid="1274778533719495438">"ເວລາເປີດນຳໃຊ້"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"ວັນທີທີ່ຜະລິດ"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"ວັນທີທີ່ນຳໃຊ້ເທື່ອທຳອິດ"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"ຈຳນວນຮອບ"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"ບໍ່ພ້ອມໃຫ້ນຳໃຊ້"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"ກຳລັງຄຳນວນ..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"ປ່ຽນຊື່"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"ຕໍ່​ໃສ່"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"ການດຳເນີນການນີ້ຈະຣີເຊັດການຕັ້ງຄ່າ Wi-Fi ແລະ Bluetooth ທັງໝົດ. ໂດຍທ່ານຈະບໍ່ສາມາດຍົກເລີກຄຳສັ່ງນີ້ໄດ້."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"ຣີເຊັດ"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ຣີເຊັດ Bluetooth ແລະ Wi-Fi ແລ້ວ"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"ລຶບ"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"ລຶບ eSIM"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"ນີ້ຈະບໍ່ເປັນການຍົກເລີກແພັກເກດບໍລິການມືຖືໃດໆ. ເພື່ອດາວໂຫຼດຊິມທົດແທນ, ໃຫ້ຕິດຕໍ່ຫາຜູ້ໃຫ້ບໍລິການຂອງທ່ານ."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"ຣີ​ເຊັດການຕັ້ງຄ່າ"</string>
@@ -1458,6 +1463,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>
+    <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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"ເບິ່ງຕາມແອັບ"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"ເບິ່ງຕາມລະບົບ"</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">"ເນື່ອງຈາກມີການກວດສອບຄຸນນະພາບກ່ອນຈັດສົ່ງ, ຈຳນວນຮອບຈຶ່ງອາດບໍ່ເປັນສູນເມື່ອນຳໃຊ້ເທື່ອທຳອິດ"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"ສະຖິຕິໂປຣເຊສ"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"ສະຖານະ Geeky ກ່ຽວກັບໂປຣເຊສທີ່ກຳລັງເຮັດວຽກຢູ່"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"ໜ່ວຍຄວາມຈຳທີ່ໃຊ້"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"ລຶບການເຄື່ອນໄຫວແຂກບໍ?"</string>
     <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="8300355036005240911">"ອະນຸຍາດໃຫ້ແຂກໃຊ້ໂທລະສັບໄດ້"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"ອະນຸຍາດໃຫ້ແຂກໂທອອກໄດ້"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"ປະ​ຫວັດ​ການ​ໂທ​ຈະ​ຖືກ​ແບ່ງ​ປັນ​ໃຫ້​ກັບ​ຜູ້ໃຊ້ແຂກ"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"ເປີດ​ໂທ​ລະ​ສັບ ແລະ SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"ຕັ້ງໃຫ້ຜູ້ໃຊ້ຄົນນີ້ເປັນຜູ້ເບິ່ງແຍງລະບົບ"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"ເຄືອຂ່າຍ, ສະຖານະເຄືອຂ່າຍມືຖື, ສະຖານະບໍລິການ, ຄວາມແຮງຂອງສັນຍານ, ປະເພດເຄືອຂ່າຍມືຖື, ໂຣມມິງ, ICCID, EID"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"ໝາຍເລກຊີຣຽວ, ເວີຊັນຮາດແວ"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"ຂໍ້ມູນແບັດເຕີຣີ, ວັນທີທີ່ຜະລິດ, ຈຳນວນຮອບ, ການນຳໃຊ້ເທື່ອທຳອິດ"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"android security patch level, ເວີຊັນ baseband, ເວີຊັນ kernel"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"ຮູບແບບສີສັນ, ແຈ້ງ, ໂໝດມືດ, ໄວແສງ, ຢ້ານແສງ, ເຮັດໃຫ້ມືດລົງ, ມືດລົງ, ໂໝດມືດ, ໄມເກຣນ"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"ສີສັນໜ້າຕາແບບມືດ"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"ຄ່າເລີ່ມຕົ້ນອຸປະກອນ"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"ນຳໃຊ້ຮູບຊ້ອນບໍ່ສຳເລັດ"</string>
     <string name="special_access" msgid="1767980727423395147">"ສິດການເຂົ້າເຖິງແອັບພິເສດ"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ແອັບສາມາດໃຊ້ຂໍ້ມູນທີ່ບໍ່ຖືກຈຳກັດໄດ້</item>
-      <item quantity="one">1 ແອັບສາມາດໃຊ້ຂໍ້ມູນທີ່ບໍ່ຖືກຈຳກັດໄດ້</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"ເບິ່ງເພີ່ມເຕີມ"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"ໜ້າວຽກໃນພື້ນຫຼັງທີ່ໃຊ້ເວລາດົນ"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"ອະນຸຍາດໜ້າວຽກທີ່ເອີ້ນໃຊ້ໃນພື້ນຫຼັງເຊິ່ງໃຊ້ເວລາດົນ"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ສະຫຼັບການປ່ຽນແປງຄວາມເຂົ້າກັນໄດ້ຂອງແອັບ"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"ການປ່ຽນແປງທີ່ເປີດການນຳໃຊ້ຕາມຄ່າເລີ່ມຕົ້ນ"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"ການປ່ຽນແປງທີ່ປິດການນຳໃຊ້ຕາມຄ່າເລີ່ມຕົ້ນ"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"ບໍ່ມີແອັບທີ່ໃຊ້ໄດ້"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"ສາມາດແກ້ໄຂການປ່ຽນແປງຄວາມເຂົ້າກັນໄດ້ຂອງແອັບສຳລັບແອັບທີ່ດີບັກໄດ້ເທົ່ານັ້ນ. ກະລຸນາຕິດຕັ້ງແອັບທີ່ສາມາດດີບັກໄດ້ແລ້ວລອງໃໝ່."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"ຂຶ້ນກັບການຕັ້ງຄ່າອື່ນ"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"ບັນຊີ"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"ປິດການຈຳກັດການປະມວນຜົນຂໍ້ມູນຍ່ອຍ"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"ປິດການຈຳກັດການໃຊ້ຊັບພະຍາກອນລະບົບໃນປະມວນຜົນຍ່ອຍຂອງແອັບ"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"ບັງຄັບເປີດໃຊ້ບົດບາດບັນທຶກ"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"ເປີດໃຊ້ການເຊື່ອມໂຍງລະບົບການຈົດບັນທຶກຜ່ານບົດບາດບັນທຶກ. ຫາກບົດບາດບັນທຶກຖືກເປີດໃຊ້ໄວ້ຢູ່ແລ້ວ, ກໍບໍ່ຕ້ອງດຳເນີນການໃດໆ."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"ເປີດໃຊ້ການເຊື່ອມໂຍງລະບົບການຈົດບັນທຶກຜ່ານບົດບາດບັນທຶກ. ຫາກບົດບາດບັນທຶກຖືກເປີດໃຊ້ໄວ້ຢູ່ແລ້ວ, ກໍບໍ່ຕ້ອງດຳເນີນການໃດໆ. ຕ້ອງມີການປິດ​ເປີດ​ໃໝ່."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"ອອກອາກາດ"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"ອອກອາກາດ <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"ຟັງການອອກອາກາດທີ່ກຳລັງຫຼິ້ນໃກ້ທ່ານ"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 6ff5664..5bdb168 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"„Bluetooth“ įjungtas"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Žr. viską"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Rašiklis"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Numatytoji užrašų programa"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Rašiklio mygtuko paspaudimas"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (darbo profilis)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Rašymas teksto laukuose"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Visų rašiklio mygtuko paspaudimų nepaisymas"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Rašiklis"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatūra"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Pirma savaitės diena"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Skaičių nuostatos"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Naudoti numatytąją programą"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Naudoti numatytąjį"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsijaus laipsnis (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Farenheito laipsnis (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Sekmadienis"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"„Kernel“ versija"</string>
     <string name="build_number" msgid="9009733242117579826">"Versijos numeris"</string>
     <string name="module_version" msgid="1787518340082046658">"„Google Play“ sistemos naujinys"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Akumuliatoriaus informacija"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Negalima"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Saugykla"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Saugykla ir talpykla"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"„Bluetooth“ adresas"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serijos numeris"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Veikimo laikas"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Pagaminimo data"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Pirmo naudojimo data"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Ciklų skaičius"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Nepasiekiama"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Skaičiuojama..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Pervardyti"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Įdėti"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Bus iš naujo nustatyti „Wi‑Fi“ ir „Bluetooth“ nustatymai. Negalite anuliuoti šio veiksmo."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Nustatyti iš naujo"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"„Bluetooth“ ir „Wi‑Fi“ ryšiai nustatyti iš naujo"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Ištrinti"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Ištrinti eSIM korteles"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Šiuo veiksmu neatšauksite jokio mobiliųjų paslaugų plano. Jei norite atsisiųsti pakaitinių SIM kortelių, susisiekite su operatoriumi."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Nustatyti iš naujo"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Įrenginį atrakinkite ir atrakinimo piešiniu"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Įrenginį atrakinkite ir PIN kodu"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Įrenginį atrakinkite ir slaptažodžiu"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Patvirtinkite atrakinimo piešinį"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Patvirtinkite PIN kodą"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Patvirtinkite slaptažodį"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Jei norite tęsti, naudokite įrenginio atrakinimo piešinį"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Jei norite tęsti, įveskite įrenginio PIN kodą"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Jei norite tęsti, įveskite įrenginio slaptažodį"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Netinkamas PIN kodas"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Netinkamas slaptažodis"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Netinkamas piešinys"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Peržiūrėti pagal programas"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Peržiūrėti pagal sistemas"</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">"Dėl kokybės patikros prieš siunčiant ciklų skaičius gali būti ne nulis pirmą kartą naudojant"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Procesų statistika"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Entuziastų pateikta statistika apie vykstančius procesus"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Naudojama atmintis"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Ištrinti svečio veiklą?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Šios svečio sesijos programos ir duomenys bus ištrinti dabar, o visa būsima svečio veikla bus ištrinta kiekvieną kartą, kai išeisite iš svečio režimo"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"ištrinti, svečias, veikla, pašalinti, duomenys, lankytojas, trynimas"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Leidimas svečiui naudoti telefoną"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Leidimas svečiui skambinti telefonu"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Skambučių istorija bus bendrinama su naudotoju svečiu"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Įjungti telefono skambučius ir SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Nustatyti šį naudotoją kaip administratorių"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"tinklas, mobiliojo ryšio tinklo būsena, paslaugos būsena, signalo stiprumas, mobiliojo ryšio tinklo tipas, tarptinklinis ryšys, ICCID, EID"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"serijos numeris, aparatinės įrangos versija"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"akumuliatoriaus informacija, pagaminimo data, ciklų skaičius, pirmas naudojimas"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"„Android“ saugos pataisos lygis, nemoduliuotų signalų įrangos versija, branduolio versija"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, šviesus, tamsus, režimas, jautrumas šviesai, fotofobija, padaryti tamsesnį, patamsinti, tamsus režimas, migrena"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"Tamsi tema"</string>
@@ -3855,12 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Numatytasis įrenginio nustatymas"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Nepavyko pritaikyti perdangos"</string>
     <string name="special_access" msgid="1767980727423395147">"Spec. prieiga prie prog."</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> programa gali naudoti neribotus duomenis</item>
-      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> programos gali naudoti neribotus duomenis</item>
-      <item quantity="many"><xliff:g id="COUNT">%d</xliff:g> programos gali naudoti neribotus duomenis</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> programų gali naudoti neribotus duomenis</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Žr. daugiau"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Ilgai trunkančios užduotys fone"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Leisti ilgai trunkančias užduotis fone"</string>
@@ -4148,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Perjungti programos suderinamumo pakeitimus"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Numatytieji įgalinti pakeitimai"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Numatytieji išjungti pakeitimai"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Programų nėra"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Galima keisti tik derinamų programų suderinamumą. Įdiekite derinamą programą ir bandykite dar kartą."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Priklauso nuo kito nustatymo"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Paskyra"</string>
@@ -4668,7 +4674,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Antrinių procesų apribojimų išjungimas"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Išjungti programos antrinių procesų sistemos išteklių naudojimo apribojimus"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Priverstinis pastabų vaidmens įgalinimas"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Įgalinkite pastabų rašymo sistemos integravimą priskirdami pastabų vaidmenį. Jei pastabų vaidmuo jau įgalintas, nereikia atlikti jokių veiksmų."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Įgalinkite pastabų rašymo sistemos integravimą priskirdami pastabų vaidmenį. Jei pastabų vaidmuo jau įgalintas, nereikia atlikti jokių veiksmų. Reikia paleisti iš naujo."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Transliacija"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Transliuoti „<xliff:g id="CURRENTAPP">%1$s</xliff:g>“"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Klausykite netoliese leidžiamų transliacijų"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index a7105a7..6a576aa 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth savienojums ir ieslēgts"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Skatīt visas"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Skārienekrāna pildspalva"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Noklusējuma piezīmju lietotne"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Skārienekrāna pildspalvas pogas nospiešana"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (darba profils)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Rakstīšana teksta laukos"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Vienmēr ignorēt skārienekrāna pildspalvas pogu nospiešanu"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Skārienekrāna pildspalva"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatūra"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Pirmā nedēļas diena"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Skaitļu preferences"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Izmantot lietotnes noklusējuma iestatījumus"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Izmantot noklusējumu"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsija skala (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fārenheita skala (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Svētdiena"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Kernel versija"</string>
     <string name="build_number" msgid="9009733242117579826">"Būvējuma numurs"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play sistēmas atjauninājums"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Informācija par akumulatoru"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Nav pieejams"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Krātuve"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Krātuve un kešatmiņa"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth adrese"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Sērijas numurs"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Darbības laiks"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Izgatavošanas datums"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Pirmās lietošanas reizes datums"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Ciklu skaits"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Nav pieejams"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Notiek aprēķināšana..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Pārdēvēt"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Pievienot"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Tādējādi tiks atiestatīti visi Wi‑Fi un Bluetooth iestatījumi. Šo darbību nevar atsaukt."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Atiestatīt"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth un Wi‑Fi iestatījumi ir atiestatīti"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Dzēst"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Dzēst eSIM kartes"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Ar šo darbību netiks anulēti mobilo sakaru pakalpojumu plāni. Lai lejupielādētu nomaiņas SIM kartes, sazinieties ar mobilo sakaru operatoru."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Atiestatīt iestatījumus"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Atbloķēt šo ierīci arī ar kombināciju"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Atbloķēt šo ierīci arī ar PIN"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Atbloķēt šo ierīci arī ar paroli"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Verificējiet kombināciju"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Verificējiet PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Verificējiet paroli"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Lai turpinātu, izmantojiet ierīces kombināciju."</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Lai turpinātu, ievadiet ierīces PIN."</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Lai turpinātu, ievadiet ierīces paroli."</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Nepareizs PIN kods"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Nepareiza parole"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Nepareiza kombinācija"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Skatīt pēc lietotnes"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Skatīt pēc sistēmas"</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">"Pirmajā lietošanas reizē ciklu skaits var nebūt nulle, jo pirms piegādes tiek veiktas kvalitātes pārbaudes"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Procesu statistika"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Statistika par darbības procesiem"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Atmiņas lietojums"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Vai dzēst viesa darbības?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Šīs viesa sesijas darbības un dati tagad tiks dzēsti, un turpmākās viesu darbības tiks dzēstas katru reizi, kad iziesiet no viesa režīma."</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"dzēst, viesis, darbība, noņemt, dati, apmeklētājs, izdzēst"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Atļauja viesim izmantot tālruni"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Atļaut viesim veikt tālruņa zvanus"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Ar viesa lietotāju tiks kopīgota zvanu vēsture."</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Ieslēgt tālruņa zvanus un īsziņas"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Iestatīt šo lietotāju kā administratoru"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"tīkls, mobilā tīkla statuss, pakalpojuma statuss, signāla stiprums, mobilā tīkla veids, viesabonēšana, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"sērijas numurs, aparatūras versija"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"informācija par akumulatoru, izgatavošanas datums, ciklu skaits, pirmās lietošanas reizes datums"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"android drošības ielāpa līmenis, pamatjoslas versija, kodola versija"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"motīvs, gaišs, tumšs, režīms, jutīgums pret gaismu, fotofobija, padarīt tumšāku, aptumšot, tumšais režīms, migrēna"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"tumšs motīvs"</string>
@@ -3855,11 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Ierīces noklusējuma iestatījums"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Neizdevās lietot pārklājumu"</string>
     <string name="special_access" msgid="1767980727423395147">"Īpaša lietotņu piekļuve"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="zero"><xliff:g id="COUNT">%d</xliff:g> lietotnēs var izmantot neierobežotu datu apjomu</item>
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> lietotnē var izmantot neierobežotu datu apjomu</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> lietotnēs var izmantot neierobežotu datu apjomu</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Skatīt vairāk"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Ilgi uzdevumi fonā"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Atļaut ilgus uzdevumus fonā"</string>
@@ -4147,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Pārslēdziet lietotņu saderības iestatījumu izmaiņas"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Pēc noklusējuma iespējotās izmaiņas"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Pēc noklusējuma atspējotās izmaiņas"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Nav lietotņu"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Lietotņu saderības izmaiņas var pārveidot tikai atkļūdojamām lietotnēm. Instalējiet atkļūdojamu lietotni un mēģiniet vēlreiz."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Atkarīgs no cita iestatījuma"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Konts"</string>
@@ -4666,7 +4673,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Atspējot pakārtoto procesu ierobežojumus"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Atspējot ierobežojumus, kas attiecas uz sistēmas resursu izmantošanu lietotņu pakārtotajiem procesiem"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Iespējot piezīmju funkcionalitāti piespiedu kārtā"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Iespējot piezīmju veikšanas sistēmas integrāciju, izmantojot piezīmju funkcionalitāti. Ja piezīmju funkcionalitāte jau ir iespējota, netiek veiktas nekādas darbības."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Iespējot piezīmju veikšanas sistēmas integrāciju, izmantojot piezīmju funkcionalitāti. Ja piezīmju funkcionalitāte jau ir iespējota, netiek veiktas nekādas darbības. Nepieciešama atkārtota palaišana."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Apraide"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Lietotnes <xliff:g id="CURRENTAPP">%1$s</xliff:g> apraide"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Klausieties tuvumā atskaņotas apraides."</string>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index b126a85..f5690d1 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth е вклучен"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Прикажи ги сите"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Пенкало"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Стандардна апликација за белешки"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Притискање на копчето со пенкало"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (работен профил)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Температура"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Прв ден од седмицата"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Поставки за бројки"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Користи ги стандардните поставки на апликацијата"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Користи ја стандардната поставка"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Целзиус (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Фаренхајт (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Недела"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Верзија на кернел"</string>
     <string name="build_number" msgid="9009733242117579826">"Број на верзија"</string>
     <string name="module_version" msgid="1787518340082046658">"Системско ажурирање од Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Информации за батеријата"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Не е достапна"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Капацитет"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Капацитет и кеш"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Адреса на Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Сериски број"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Време од последно рестартирање"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Датум на производство"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Датум на прво користење"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Број на циклуси"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Недостапно"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Пресметување..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Преименувај"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Монтирај"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Ова ќе ги ресетира сите поставки за Wi‑Fi и Bluetooth. Ова дејство не може да се врати."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Ресетирај"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth и Wi‑Fi се ресетирани"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Избриши"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Избриши ги eSIM-картичките"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Ова нема да ги откаже пакетите за мобилни услуги. За да преземете SIM-картички за замена, контактирајте со операторот."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Ресетирај поставки"</string>
@@ -1458,6 +1463,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>
+    <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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Прикажи по апликации"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Прикажи по системи"</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">"Поради контроли на квалитетот пред испораката, бројот на циклуси при првото користење може да не биде нула"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Статистика на процес"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Паметна статистика за процеси кои се извршуваат"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Употреба на меморија"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Да се избрише активноста на гостин?"</string>
     <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="8300355036005240911">"Дозволете гостин да го користи телефонот"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Доз. му на гост. да воспост. тел. повици"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Историјата на повици ќе се сподели со гостинскиот корисник"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Вклучи телефонски повици и SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Постави го корисников како администратор"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"мрежа, состојба на мобилна мрежа, состојба на услуга, јачина на сигнал, тип мобилна мрежа, роаминг, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"сериски број, верзија на хардвер"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"информации за батеријата, датум на производство, број на циклуси, прво користење"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"ниво на безбедносна лепенка на Android, верзија на радиомодул, верзија на кернел"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"тема, светла, темна, режим, чувствителност на светлина, фотофобија, затемнување, потемно, темен режим, мигрена"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"темна тема"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Стандардни поставки за уредот"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Не успеа да се примени прекривка"</string>
     <string name="special_access" msgid="1767980727423395147">"Посебен пристап"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> апликација може да користи неограничен мобилен интернет</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> апликации може да користат неограничен мобилен интернет</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Видете повеќе"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Долги задачи во заднина"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Дозволи извршување долги задачи во заднина"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Вклучување/исклучување на промените за компатибилност на апликациите"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Стандардно овозможени промени"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Стандардно оневозможени промени"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Нема апликации"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Промени во компатибилноста на апликациите може да се вршат само за апликации во кои може да се отстрануваат грешки. Инсталирајте апликација во која може да се отстрануваат грешки и обидете се повторно."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Зависи од друга поставка"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Сметка"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Оневозможи ги ограничувањата за подредени процеси"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Ги оневозможува ограничувањата за користење системски ресурси за подредените процеси на апликациите"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Присилно овозможување на улогата „Белешки“"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Овозможува системски интеграции за фаќање белешки преку улогата „Белешки“. Ако улогата „Белешки“ е веќе овозможена, не се презема никакво дејство."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Овозможете системски интеграции за фаќање белешки преку улогата „Белешки“. Ако улогата „Белешки“ е веќе овозможена, не правете ништо. Потребно е рестартирање."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Емитување"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Емитување на <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Слушајте емитувања во ваша близина"</string>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index a70289d..004aeeb 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth ഓണാക്കി"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"എല്ലാം കാണുക"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"സ്‌റ്റൈലസ്"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"ഡിഫോൾട്ട് കുറിപ്പ് ആപ്പ്"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"ടെയിൽ ബട്ടൺ അമർത്തുക"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (ഔദ്യോഗിക പ്രൊഫൈൽ)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"താപനില"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"ആഴ്‌ചയിലെ ആദ്യ ദിവസം"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"സംഖ്യാ മുൻഗണനകൾ"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"ആപ്പിന്റെ ഡിഫോൾട്ട് മുൻഗണന ഉപയോഗിക്കുക"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"ഡിഫോൾട്ട് ഉപയോഗിക്കുക"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"സെൽഷ്യസ് (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"ഫാരൻഹീറ്റ് (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"ഞായർ"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"പ്രധാന പതിപ്പ്"</string>
     <string name="build_number" msgid="9009733242117579826">"ബിൽഡ് നമ്പർ"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play സിസ്‌റ്റം അപ്‌ഡേറ്റ്"</string>
+    <string name="battery_info" msgid="7873528123969546728">"ബാറ്ററി വിവരം"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"ലഭ്യമല്ല"</string>
     <string name="storage_settings" msgid="7472188817781592677">"സ്റ്റോറേജ്"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"സ്‌റ്റോറേജും കാഷെയും"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth വിലാസം"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"സീരിയല്‍ നമ്പര്‍"</string>
     <string name="status_up_time" msgid="1274778533719495438">"പ്രവർത്തിക്കുന്ന സമയം"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"നിർമ്മാണ തീയതി"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"ആദ്യ ഉപയോഗ തീയതി"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"സൈക്കിളിന്റെ എണ്ണം"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"ലഭ്യമല്ല"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"കണക്കാക്കുന്നു..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"പേര് മാറ്റുക"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"മൗണ്ടുചെയ്യുക"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"ഇത് എല്ലാ വൈഫൈ, Bluetooth ക്രമീകരണവും റീസെറ്റ് ചെയ്യും. ഈ പ്രവർത്തനം നിങ്ങൾക്ക് പഴയപടിയാക്കാനാകില്ല."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"റീസെറ്റ് ചെയ്യുക"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth-ഉം വൈഫൈയും റീസെറ്റ് ചെയ്തു"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"മായ്ക്കുക"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"ഇ-സിമ്മുകൾ മായ്‌ക്കുക"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"ഇത്, ഒരു മൊബെെൽ സേവന പ്ലാനുകളും റദ്ദാക്കില്ല. പകരം ഉപയോഗിക്കാനുള്ള സിമ്മുകൾ ഡൗൺലോഡ് ചെയ്യാൻ നിങ്ങളുടെ സേവനദാതാവിനെ ബന്ധപ്പെടുക."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"ക്രമീകരണം റീസെറ്റ് ചെയ്യുക"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"ഈ ഉപകരണം അൺലോക്ക് ചെയ്യാനും പാറ്റേൺ നൽകൂ"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"ഈ ഉപകരണം അൺലോക്ക് ചെയ്യാനും പിൻ നൽകൂ"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"ഈ ഉപകരണം അൺലോക്ക് ചെയ്യാനും പാസ്‌വേഡ് നൽകൂ"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"പാറ്റേൺ പരിശോധിച്ചുറപ്പിക്കുക"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"പിൻ പരിശോധിക്കുക"</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">"തുടരാൻ ഉപകരണ പിൻ നൽകുക"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"തുടരാൻ നിങ്ങളുടെ ഉപകരണ പാസ്‌വേഡ് നൽകുക"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"പിൻ തെറ്റാണ്"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"പാസ്‌വേഡ് തെറ്റാണ്"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"പാറ്റേൺ തെറ്റാണ്"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"ആപ്പുകളുടെ അടിസ്ഥാനത്തിൽ കാണുക"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"സിസ്റ്റങ്ങളുടെ അടിസ്ഥാനത്തിൽ കാണുക"</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">"ഷിപ്പിംഗിന് മുമ്പുള്ള ഗുണമേന്മാ പരിശോധനകൾ കാരണം, ആദ്യ ഉപയോഗത്തിൽ സൈക്കിൾ എണ്ണം പൂജ്യമായേക്കില്ല"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"പ്രോസസ്സ് സ്ഥിതിവിവരക്കണക്കുകൾ"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"പ്രവർത്തന പ്രോസസ്സുകളെക്കുറിച്ചുള്ള Geeky സ്ഥിതിവിവരക്കണക്കുകൾ"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"മെമ്മറി ഉപയോഗം"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"അതിഥി ആക്‌റ്റിവിറ്റി ഇല്ലാതാക്കണോ?"</string>
     <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="8300355036005240911">"ഫോൺ ഉപയോഗിക്കാൻ അതിഥിയെ അനുവദിക്കൂ"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"ഫോൺ കോളുകൾ ചെയ്യാൻ അതിഥിയെ അനുവദിക്കുക"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"അതിഥി ഉപയോക്താവുമായി കോൾ ചരിത്രം പങ്കിടും"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"ഫോൺ കോളുകൾ, SMS എന്നിവ ഓണാക്കുക"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"ഈ ഉപയോക്താവിനെ അഡ്‌മിനാക്കുക"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"നെറ്റ്‌വർക്ക്, മൊബൈൽ നെറ്റ്‌വർക്ക് നില, സേവന നില, സിഗ്നൽ ശക്തി, മൊബൈൽ നെറ്റ്‌വർക്ക് തരം, റോമിംഗ്, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"സീരിയൽ നമ്പർ, ഹാർഡ്‌വെയർ പതിപ്പ്"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"ബാറ്ററി വിവരം, നിർമ്മാണ തീയതി, സൈക്കിളിന്റെ എണ്ണം, ആദ്യ ഉപയോഗം"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"android സുരക്ഷാ പാച്ച് നില, ബേസ്‌ബാൻഡ് പതിപ്പ്, കെർണൽ പതിപ്പ്"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"തീം, പ്രകാശം, ഇരുട്ട്, മോഡ്, പ്രകാശ സെൻസിറ്റിവിറ്റി, ഫോട്ടോഫോബിയ, ഇരുണ്ടതാക്കുക, ഇരുണ്ടതാക്കുക, ഡാർക്ക് മോഡ്, ചെന്നിക്കുത്ത്"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"ഡാർക്ക് തീം"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"ഉപകരണ ഡിഫോള്‍ട്ട്"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"ഓവർലേ പ്രയോഗിക്കുന്നതിൽ പരാജയപ്പെട്ടു"</string>
     <string name="special_access" msgid="1767980727423395147">"പ്രത്യേക ആപ്പ് ആക്‌സസ്"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ആപ്പുകൾക്ക് നിയന്ത്രണമില്ലാതെ ഡാറ്റ ഉപയോഗിക്കാം</item>
-      <item quantity="one">1 ആപ്പിന് നിയന്ത്രണമില്ലാതെ ഡാറ്റ ഉപയോഗിക്കാം</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"കൂടുതൽ കാണുക"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"ദൈർഘ്യമേറിയ പശ്ചാത്തല ടാസ്കുകൾ"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"ദീർഘസമയം റൺ ചെയ്യുന്ന പശ്ചാത്തല ടാസ്ക് അനുവദിക്കൂ"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ആപ്പ് അനുയോജ്യതാ മാറ്റങ്ങൾ ടോഗിൾ ചെയ്യുക"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"ഡിഫോൾട്ട് ആയ, പ്രവർത്തനക്ഷമമാക്കിയ മാറ്റങ്ങൾ"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"ഡിഫോൾട്ട് ആയ, പ്രവർത്തനരഹിതമാക്കിയ മാറ്റങ്ങൾ"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"ആപ്പുകൾ ലഭ്യമല്ല"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"ഡീബഗ് ചെയ്യാവുന്ന ആപ്പുകൾക്ക് വേണ്ടി മാത്രമേ ആപ്പ് അനുയോജ്യതാ മാറ്റങ്ങൾ പരിഷ്‌കരിക്കാൻ കഴിയൂ. ഡീബഗ് ചെയ്യാവുന്ന ആപ്പ് ഇന്‍സ്റ്റാള്‍ ചെയ്‌ത് വീണ്ടും ശ്രമിക്കുക."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"മറ്റൊരു ക്രമീകരണത്തെ ആശ്രയിച്ചിരിക്കുന്നു"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"അക്കൗണ്ട്"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"ചൈൽഡ് പ്രോസസ് നിയന്ത്രണങ്ങൾ പ്രവർത്തനരഹിതമാക്കുക"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"സിസ്റ്റം റിസോഴ്‌സ് ഉപയോഗിക്കുന്നതുമായി ബന്ധപ്പെട്ട ആപ്പിന്റെ ചൈൽഡ് പ്രോസസുകൾ, നിയന്ത്രണങ്ങൾ പ്രവർത്തനരഹിതമാക്കുക"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Notes റോൾ നിർബന്ധമായി പ്രവർത്തനക്ഷമമാക്കുക"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Notes റോൾ വഴി കുറിപ്പെടുക്കൽ സിസ്റ്റം ഇന്റഗ്രേഷനുകൾ പ്രവർത്തനക്ഷമമാക്കുക. Notes റോൾ ഇതിനകം തന്നെ പ്രവർത്തനക്ഷമമാക്കിയിട്ടുണ്ടെങ്കിൽ, ഒന്നും ചെയ്യേണ്ടതില്ല."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Notes റോൾ വഴി കുറിപ്പെടുക്കൽ സിസ്റ്റം ഇന്റഗ്രേഷനുകൾ പ്രവർത്തനക്ഷമമാക്കുക. Notes റോൾ മുമ്പേ തന്നെ പ്രവർത്തനക്ഷമമാക്കിയിട്ടുണ്ടെങ്കിൽ, ഒന്നും ചെയ്യില്ല. റീബൂട്ട് ചെയ്യേണ്ടത് ആവശ്യമാണ്."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"ബ്രോഡ്‌കാസ്റ്റ്"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> ബ്രോഡ്‌കാസ്റ്റ് ചെയ്യുക"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"നിങ്ങൾക്ക് സമീപം പ്ലേ ചെയ്യുന്ന ബ്രോഡ്‌കാസ്‌റ്റുകൾ കേൾക്കുക"</string>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index 1d426fc..a2f1a22 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth-г асаасан"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Бүгдийг харах"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Мэдрэгч үзэг"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Өгөгдмөл тэмдэглэлийн апп"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Арын товчийг дарах"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Ажлын профайл)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Температур"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Долоо хоногийн эхний өдөр"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Тооны сонголт"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Аппын өгөгдмөлийг ашиглах"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Өгөгдмөлийг ашиглах"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Цельс (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Фаренгейт (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Ням"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Кернел хувилбар"</string>
     <string name="build_number" msgid="9009733242117579826">"Хийцийн дугаар"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play-н систем шинэчлэлт"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Батарейн мэдээлэл"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Боломжгүй"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Хадгалах сан"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Хадгалах сан ба завсрын санах ой"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth хаяг"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Серийн дугаар"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Асаалттай байсан хугацаа"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Үйлдвэрлэсэн огноо"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Анх ашигласан огноо"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Мөчлөгийн тоо"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Боломжгүй"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Тооцоолж байна…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Нэр өөрчлөх"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Залгах"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Энэ нь Wi‑Fi ба Bluetooth-н бүх тохиргоог шинэчилнэ. Та энэ үйлдлийг буцаах боломжгүй."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Шинэчлэх"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth ба Wi‑Fi-г шинэчилсэн"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Устгах"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM-үүдийг устгах"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Энэ нь мобайл үйлчилгээний ямар ч багцыг цуцлахгүй. Орлуулах SIM татахын тулд оператор компанитайгаа холбогдоно уу."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Дахин тохируулах"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Мөн энэ төхөөрөмжийн түгжээг тайлахад хээ ашиглах"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Мөн энэ төхөөрөмжийн түгжээг тайлахад ПИН ашиглах"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Мөн энэ төхөөрөмжийн түгжээг тайлахад нууц үг ашиглах"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Хээг баталгаажуулах"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"ПИН баталгаажуулах"</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">"Үргэлжлүүлэхийн тулд төхөөрөмжийнхөө ПИН-г оруулна уу"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Үргэлжлүүлэхийн тулд төхөөрөмжийнхөө нууц үгийг оруулна уу"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"ПИН код буруу байна"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Нууц үг буруу байна"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Хээ буруу байна"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Аппуудаар харах"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Системүүдээр харах"</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">"Тээвэрлэхээс өмнөх чанарын шалгалтын улмаас анхны ашиглалтын мөчлөгийн тоо тэг биш байж магадгүй"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Процессын статус"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Ажиллаж байгаа процессуудын талаарх статус"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Санах ойн ашиглалт"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Зочны үйл ажиллагааг устгах уу?"</string>
     <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="8300355036005240911">"Зочинд утас ашиглахыг зөвшөөрөх"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Зочинд утасны дуудлага хийхийг зөвшөөрөх"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Дуудлагын түүхийг зочин хэрэглэгчтэй хуваалцана"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Утасны дуудлага, SMS идэвхжүүлэх"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Энэ хэрэглэгчийг админ болгох"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"сүлжээ, мобайл сүлжээний төлөв, үйлчилгээний төлөв, дохионы хүч, мобайл сүлжээний төрөл, роуминг, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"серийн дугаар, техник хангамжийн хувилбар"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"батарейн мэдээлэл, үйлдвэрлэсэн огноо, мөчлөгийн тоо, анхны ашиглалт"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"андройдын аюулгүй байдлын засварын түвшин, долгион баригчийн хувилбар, кернел хувилбар"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"загвар, гэрэл, бараан, горим, гэрэлд мэдрэмтгий байдал, фотофрофи, илүү бараан болгох, бараан болгох, бараан горим, мигрень"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"бараан загвар"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Төхөөрөмжийн өгөгдмөл"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Давхарлаж чадсангүй"</string>
     <string name="special_access" msgid="1767980727423395147">"Тусгай аппын хандалт"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other">Хязгааргүй датаг <xliff:g id="COUNT">%d</xliff:g> апп ашиглах боломжтой</item>
-      <item quantity="one">Хязгааргүй датаг 1 апп ашиглах боломжтой</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Дэлгэрэнгүй харах"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Дэвсгэрийн урт хугацааны ажил"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Дэвсгэрт урт хугацаанд ажиллах ажлуудыг зөвшөөрөх"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Аппын тохирох байдлын өөрчлөлтийг идэвхгүй болгох/идэвхжүүлэх"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Өгөгдмөл тохиргоогоор идэвхжүүлсэн өөрчлөлт"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Өгөгдмөл тохиргоогоор идэвхгүй болгосон өөрчлөлт"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Боломжтой апп алга"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Аппын тохирох өөрчлөлтийг зөвхөн дебаг хийх боломжтой аппуудад хийх боломжтой. Дебаг хийх боломжтой аппыг суулгаад, дахин оролдож үзнэ үү."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Өөр тохиргооноос шалтгаална"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Бүртгэл"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Дэд боловсруулалтын хязгаарлалтыг идэвхгүй болгох"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Аппын дэд боловсруулалтын системийн нөөцийн ашиглалтын хязгаарлалтыг идэвхгүй болгох"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Тэмдэглэлийн үүргийг хүчээр идэвхжүүлэх"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Тэмдэглэлийн үүргээр тэмдэглэл хөтлөх системийн нэгтгэлийг идэвхжүүлнэ үү. Хэрэв Тэмдэглэлийн үүргийг аль хэдийн идэвхжүүлсэн бол юу ч битгий хийгээрэй."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Тэмдэглэлийн үүргээр тэмдэглэл хөтлөх системийн нэгтгэлийг идэвхжүүлнэ үү. Хэрэв Тэмдэглэлийн үүргийг аль хэдийн идэвхжүүлсэн бол юу ч битгий хийгээрэй. Дахин асаах шаардлагатай."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Нэвтрүүлэлт"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g>-г нэвтрүүлэх"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Таны ойролцоо тоглуулж буй нэвтрүүлэлтийг сонсоорой"</string>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index aa03bff..9d90e21 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"ब्लूटूथ सुरू केले"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"सर्व पहा"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"स्टायलस"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"टिपांसाठी डीफॉल्ट अ‍ॅप"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"टेल बटण प्रेस करा"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (कार्य प्रोफाइल)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"तापमान"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"आठवड्याचा पहिला दिवस"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"क्रमांकांची प्राधान्ये"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"अ‍ॅपमधील डीफॉल्ट वापरा"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"डीफॉल्ट वापरा"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"सेल्सियस (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"फेरनहाइट (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"रविवार"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"कर्नेल आवृत्ती"</string>
     <string name="build_number" msgid="9009733242117579826">"बिल्ड नंबर"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play सिस्टीम अपडेट"</string>
+    <string name="battery_info" msgid="7873528123969546728">"बॅटरी संबंधित माहिती"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"उपलब्ध नाही"</string>
     <string name="storage_settings" msgid="7472188817781592677">"स्टोरेज"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"स्टोरेज आणि कॅशे"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"ब्लूटूथ ॲड्रेस"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"सिरीअल नंबर"</string>
     <string name="status_up_time" msgid="1274778533719495438">"सुरू असल्याचा कालावधी"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"निर्माण केल्याची तारीख"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"पहिल्या वापराची तारीख"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"चार्ज/डिस्चार्ज चक्राची संख्या"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"उपलब्ध नाही"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"गणना करत आहे..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"नाव बदला"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"माउंट करा"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"यामुळे सर्व वाय-फाय आणि ब्लूटूथ सेटिंग्ज रीसेट होतील. तुम्ही ही कृती पहिल्यासारखी करू शकत नाही."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"रीसेट करा"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ब्लूटूथ आणि वाय-फाय रीसेट केले गेले आहे"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"मिटवा"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIMs मिटवा"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"यामुळे कोणतेही मोबाइल सेवा प्लॅन रद्द होणार नाहीत. बदललेले SIM डाउनलोड करण्यासाठी तुमच्या वाहकाशी संपर्क साधा."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"सेटिंग्ज रीसेट करा"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"डिव्हाइस अनलॉक करण्यासाठी पॅटर्नही वापरा"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"डिव्हाइस अनलॉक करण्यासाठी पिनही वापरा"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"डिव्हाइस अनलॉक करण्यासाठी पासवर्डही वापरा"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"पॅटर्नची पडताळणी करा"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"पिनची पडताळणी करा"</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">"पुढे सुरू ठेवण्यासाठी तुमच्या डिव्हाइसचा पिन एंटर करा"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"पुढे सुरू ठेवण्यासाठी तुमच्या डिव्हाइसचा पासवर्ड एंटर करा"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"चुकीचा पिन"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"चुकीचा पासवर्ड"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"चुकीचा पॅटर्न"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"ॲप्सनुसार पहा"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"सिस्टीमनुसार पहा"</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">"शिपिंगपूर्वीच्या गुणवत्ता तपासण्यांमुळे, चक्राची संख्या पहिल्या वापराच्या वेळी शून्य असू शकत नाही"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"प्रक्रिया आकडेवारी"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"चालत असलेल्या प्रक्रियांबद्दल गीकी आकडेवारी"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"मेमरी वापर"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"अतिथी अ‍ॅक्टिव्हिटी हटवायची का?"</string>
     <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="8300355036005240911">"अतिथीला फोन वापरण्याची अनुमती द्या"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"अतिथींना फोन कॉल करण्याची अनुमती द्या"</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>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"नेटवर्क, मोबाइल नेटवर्कची स्थिती, सेवेची स्थिती, सिग्नलची तीव्रता, मोबाइल नेटवर्कचा प्रकार, रोमिंग, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"सीरीअल नंबर, हार्डवेअर आवृत्ती"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"बॅटरी संबंधित माहिती, निर्माण केल्याची तारीख, चार्ज/डिस्चार्ज चक्राची संख्या, पहिला वापर"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"Android सुरक्षितता पॅच पातळी, बेसबँड आवृत्ती, कर्नल आवृत्ती"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"थीम, फिकट, गडद, मोड, प्रकाशाची संवेदनशीलता, फोटोफोबिया, आणखी गडद करा, गडद केलेले, गडद मोड, मायग्रेन"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"गडद थीम"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"डिव्हाइस डीफॉल्ट"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"ओव्हरले लागू करता आले नाही"</string>
     <string name="special_access" msgid="1767980727423395147">"विशेष अ‍ॅप अ‍ॅक्सेस"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> अ‍ॅप्स अनिर्बंधित डेटा वापरू शकतात</item>
-      <item quantity="one">1 अ‍ॅप अनिर्बंधित डेटा वापरू शकते</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"आणखी पहा"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"दीर्घ कालावधी बॅकग्राउंड टास्क"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"दीर्घ कालावधीच्या बॅकग्राउंड टास्कना अनुमती द्या"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ॲप कंपॅटिबिलिटी बदल टॉगल करा"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"डीफॉल्ट सुरू केलेले बदल"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"डीफॉल्ट बंद केलेले बदल"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"अ‍ॅप्स उपलब्ध नाहीत"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"ॲप कंपॅटिबिलिटी संबंधित बदलांमध्ये फक्‍त डीबग करण्यायोग्य ॲप्‍सवरून बदल केले जाऊ शकतात. डीबग करण्यायोग्य ॲप इंस्टॉल करा आणि पुन्‍हा प्रयत्न करा."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"दुसऱ्या सेटिंगवर अवलंबून आहे"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"खाते"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"लहान मुलाच्या अ‍ॅप वापरावरील निर्बंध बंद करा"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"लहान मूल जे अ‍ॅप वापरत आहे त्या अ‍ॅपच्या सिस्टीम स्रोतांच्या वापरावरील निर्बंध बंद करा"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"टिपा ही भूमिका सक्तीने सुरू करा"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"टिपा या भूमिकेद्वारे टिपा घेणाऱ्या सिस्टीमशी संबंधित इंटिग्रेशन सुरू करा. टिपा ही भूमिका आधीच सुरू केलेली असल्यास, काहीही करण्याची गरज नाही."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"टिपा या भूमिकेद्वारे टिपा घेणाऱ्या सिस्टीमशी संबंधित इंटिग्रेशन सुरू करा. टिपा ही भूमिका आधीच सुरू केलेली असल्यास, काहीही करण्याची गरज नाही. रीबूट करणे आवश्यक आहे."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"ब्रॉडकास्ट करा"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> ब्रॉडकास्ट करा"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"तुमच्या जवळपास प्ले होत असलेली ब्रॉडकास्ट ऐका"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index f422b9c..70f3ae9 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth dihidupkan"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Lihat semua"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stilus"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Apl nota lalai"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Tekan butang hujung"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Profil kerja)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Tulis dalam medan teks"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Abaikan semua tekanan butang stilus"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stilus"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Suhu"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Hari pertama dalam minggu"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Pilihan nombor"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Gunakan ciri lalai apl"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Gunakan tetapan lalai"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Ahad"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Versi inti"</string>
     <string name="build_number" msgid="9009733242117579826">"Nombor binaan"</string>
     <string name="module_version" msgid="1787518340082046658">"Kemaskinian sistem Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Maklumat bateri"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Tidak tersedia"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Storan"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Storan &amp; cache"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Alamat Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Nombor siri"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Masa hidup"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Tarikh pembuatan"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Tarikh penggunaan kali pertama"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Kiraan kitaran"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Tidak tersedia"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Mengira..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Namakan semula"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Lekap"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Tindakan ini akan menetapkan semula semua tetapan Wi-Fi &amp; Bluetooth. Tindakan ini tidak boleh dibuat asal."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Tetapkan semula"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth &amp; Wi-Fi telah ditetapkan semula"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Padam"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Padam eSIM"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Tindakan ini tidak akan membatalkan mana-mana pelan perkhidmatan mudah alih. Untuk memuat turun SIM gantian, hubungi pembawa anda."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Tetapkan semula tetapan"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Gunakan juga corak untuk membuka kunci"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Gunakan juga PIN untuk membuka kunci"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Gunakan kata laluan untuk membuka kunci"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Sahkan corak"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Sahkan PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Sahkan kata laluan"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Gunakan corak peranti anda untuk meneruskan"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Masukkan PIN peranti anda untuk meneruskan"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Masukkan kata laluan peranti anda untuk meneruskan"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"PIN salah"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Kata laluan salah"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Corak salah"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Lihat mengikut apl"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Lihat mengikut sistem"</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">"Atas sebab pemeriksaan kualiti sebelum penghantaran, kiraan kitaran mungkin bukan sifar untuk penggunaan kali pertama"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Statistik Proses"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Statistik skema tentang proses yang sedang berjalan"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Penggunaan memori"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Padamkan aktiviti tetamu?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Apl dan data daripada sesi tetamu ini akan dipadamkan sekarang dan semua aktiviti tetamu pada masa hadapan akan dipadamkan setiap kali anda keluar daripada mod tetamu"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"buang, tetamu, aktiviti, alih keluar, data, pelawat, padam"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Benarkan tetamu menggunakan telefon"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Benarkan tetamu buat panggilan telefon"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Sejarah panggilan akan dikongsi dengan pengguna tetamu"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Hidupkan panggilan telefon &amp; SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Jadikan pengguna ini pentadbir"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"rangkaian, keadaan rangkaian mudah alih, keadaan perkhidmatan, kekuatan isyarat, jenis rangkaian mudah alih, perayauan, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"nombor siri, versi perkakasan"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"maklumat bateri, tarikh pembuatan, kiraan kitaran, penggunaan pertama"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"tahap tampung keselamatan android, versi jalur dasar, versi inti"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, cerah, gelap, mod, kepekaan cahaya, fotofobia, jadikan lebih gelap, gelapkan, mod gelap, migrain"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"tema gelap"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Lalai peranti"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Gagal menggunakan tindanan"</string>
     <string name="special_access" msgid="1767980727423395147">"Akses apl khas"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apl boleh menggunakan data tanpa had</item>
-      <item quantity="one">1 apl boleh menggunakan data tanpa had</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Lihat lagi"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Tugas latar yang panjang"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Benarkan tugas latar yang berjalan dalam tempoh masa yang panjang"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Togol perubahan keserasian apl"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Perubahan didayakan tetapan lalai"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Perubaan dilumpuhkan tetapan lalai"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Tiada apl tersedia"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Perubahan keserasian aplikasi hanya boleh diubah suai untuk apl boleh dinyahpepijat. Pasang apl boleh dinyahpepijat dan cuba lagi."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Bergantung pada tetapan lain"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Akaun"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Lumpuhkan sekatan proses anak"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Lumpuhkan sekatan pada penggunaan sumber sistem oleh proses anak apl"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Dayakan peranan Nota secara paksa"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Dayakan penyepaduan sistem pengambilan nota melalui peranan Nota. Jika peranan Nota sudah didayakan, tiada apa-apa yang berlaku."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Dayakan penyepaduan sistem pengambilan nota melalui peranan Nota. Jika peranan Nota sudah didayakan, tiada apa-apa yang berlaku. Memerlukan but semula."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Siarkan"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Siarkan <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Dengarkan siaran yang dimainkan berdekatan anda"</string>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 39610aa..6703b55 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"ဘလူးတုသ် ဖွင့်ထားသည်"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"အားလုံး ကြည့်ရန်"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"စတိုင်လပ်စ်"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"မူလ မှတ်စုရေးသောအက်ပ်"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"စွတ်ကြောင်းခလုတ်ကို နှိပ်လျှင်"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (အလုပ်ပရိုဖိုင်)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"အပူချိန်"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"ရက်သတ္တပတ်၏ ပထမဆုံးနေ့"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"နံပါတ် သတ်မှတ်ချက်များ"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"အက်ပ်၏မူရင်းအတိုင်း သုံးရန်"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"မူရင်းသတ်မှတ်ချက် သုံးရန်"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"စင်တီဂရိတ် (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"ဖာရင်ဟိုက် (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"တနင်္ဂနွေ"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Kernel ဗားရှင်း"</string>
     <string name="build_number" msgid="9009733242117579826">"တည်ဆောက်ပုံ နံပါတ်"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play စနစ် အပ်ဒိတ်"</string>
+    <string name="battery_info" msgid="7873528123969546728">"ဘက်ထရီအချက်အလက်"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"မရရှိနိုင်ပါ"</string>
     <string name="storage_settings" msgid="7472188817781592677">"သိုလှောင်ခန်း"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"သိုလှောင်ခန်းနှင့် ကက်ရှ်"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"ဘလူးတုသ်လိပ်စာ"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"စက်မှတ်ပုံတင်နံပါတ်"</string>
     <string name="status_up_time" msgid="1274778533719495438">"ဖွင့်ထားသောအချိန်"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"ထုတ်လုပ်သည့်ရက်စွဲ"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"ပထမဆုံးအကြိမ် အသုံးပြုခဲ့သည့်ရက်"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"သုံးစွဲမှု အကြိမ်ရေ"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"မရနိုင်ပါ"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"တွက်ချက်နေသည်"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"အမည်ပြောင်းရန်"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"တပ်ဆင်ရန်"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"၎င်းက Wi‑Fi နှင့် ဘလူးတုသ်ဆက်တင် အားလုံးကို ပြင်ဆင်သတ်မှတ်ပါမည်။ ဤလုပ်ဆောင်ချက်ကို ပြန်ပြင်၍ မရပါ။"</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"ပြင်ဆင်သတ်မှတ်ရန်"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ဘလူးတုသ်နှင့် Wi‑Fi ပြင်ဆင်သတ်မှတ်လိုက်ပြီ"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"ဖျက်ရန်"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM များဖျက်ရန်"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"၎င်းက မိုဘိုင်းဝန်ဆောင်မှု အစီအစဉ်များကို ပယ်ဖျက်မည်မဟုတ်ပါ။ အစားထိုး ဆင်းမ်ကတ်များ ဒေါင်းလုဒ်လုပ်ရန် သင့်ဝန်ဆောင်မှုပေးသူကို ဆက်သွယ်ပါ။"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"ဆက်တင်များ ပြင်ဆင်သတ်မှတ်ရန်"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"ဤစက်ဖွင့်ရန် ပုံဖော်ခြင်းလည်း သုံးနိုင်သည်"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"ဤစက်ဖွင့်ရန် ပင်နံပါတ်လည်း သုံးနိုင်သည်"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"ဤစက်ဖွင့်ရန် စကားဝှက်လည်း သုံးနိုင်သည်"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"ပုံဖော်ခြင်းကို အတည်ပြုပါ"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"ပင်နံပါတ်ကို အတည်ပြုပါ"</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">"ရှေ့ဆက်ရန် သင့်စက်ပစ္စည်း၏ ပင်နံပါတ်ကို ရိုက်ထည့်ပါ"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"ရှေ့ဆက်ရန် သင့်စက်ပစ္စည်းစကားဝှက်ကို ရိုက်ထည့်ပါ"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"ပင် နံပါတ်အမှား"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"စကားဝှက်အမှား"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"ပုံစံအမှား"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"အက်ပ်အလိုက်ကြည့်ရန်"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"စနစ်အလိုက်ကြည့်ရန်"</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">"ပစ္စည်းမပို့မီ အရည်အသွေး စစ်ဆေးမှုများကြောင့် ပထမဆုံး သုံးရာတွင် သုံးစွဲမှု အကြိမ်ရေသည် သုည ဖြစ်မည်မဟုတ်ပါ"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"လုပ်ငန်းစဉ်ကိန်းဂဏန်းများ"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"အလုပ်လုပ်ခြင်းလုပ်ငန်းစဉ်များအကြောင်း ပညာရှင်အဆင့်စာရင်း"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"မှတ်ဉာဏ်သုံးခြင်း"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"ဧည့်သည်လုပ်ဆောင်ချက် ဖျက်မလား။"</string>
     <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="8300355036005240911">"ဧည့်သည်ကို ဖုန်းသုံးခွင့်ပြုရန်"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"ဧည့်သည်ကို ဖုန်းခေါ်ဆိုခွင့်ပြုရန်"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"ခေါ်ဆိုမှုမှတ်တမ်းကို ဧည့်သည်အသုံးပြုသူနှင့် မျှဝေမည်"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"ဖုန်းခေါ်ဆိုမှုနှင့် SMS ဖွင့်ရန်"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"ဤအသုံးပြုသူကို စီမံခန့်ခွဲသူအဖြစ် သတ်မှတ်ပါ"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"ကွန်ရက်၊ မိုဘိုင်းကွန်ရက်အခြေအနေ၊ ဝန်ဆောင်မှုအခြေအနေ၊ လိုင်းဆွဲအား၊ မိုဘိုင်းကွန်ရက် အမျိုးအစား၊ ပြင်ပကွန်ရက်သုံးခြင်း၊ iccid၊ eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"အမှတ်စဉ်၊ ဟာ့ဒ်ဝဲ ဗားရှင်း"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"ဘက်ထရီအချက်အလက်၊ ထုတ်လုပ်သည့်ရက်စွဲ၊ သုံးစွဲမှု အကြိမ်ရေ၊ ပထမဆုံးအကြိမ် အသုံးပြုမှု"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"android လုံခြုံရေး ပက်ချ် အဆင့်၊ baseband ဗားရှင်း၊ kernel ဗားရှင်း"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"အပြင်အဆင်၊ အလင်း၊ အမှောင်၊ မုဒ်၊ အလင်းသိမ်မွေ့မှု၊ အလင်းကြောက်ခြင်း၊ ပိုမှောင်အောင်လုပ်ခြင်း၊ မှောင်မည်းလာခြင်း၊ အမှောင်မုဒ်၊ ခေါင်းတစ်ခြမ်းကိုက်ခြင်း"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"အမှောင်နောက်ခံ"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"စက်ပစ္စည်းမူရင်း"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"ထပ်ပိုးလွှာထည့်၍ မရပါ"</string>
     <string name="special_access" msgid="1767980727423395147">"အထူးသုံးခွင့်ရ အက်ပ်"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other">အက်ပ် <xliff:g id="COUNT">%d</xliff:g> ခုက ဒေတာကို အကန့်အသတ်မရှိ သုံးနိုင်သည်</item>
-      <item quantity="one">အက်ပ် ၁ ခုက ဒေတာကို အကန့်အသတ်မရှိ သုံးနိုင်သည်</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"နောက်ထပ်ကြည့်ပါ"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"ကြာသော နောက်ခံလုပ်ဆောင်စရာများ"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"အချိန်ကြာသော နောက်ခံလုပ်ဆောင်စရာများ ခွင့်ပြုရန်"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"တွဲဖက်သုံးနိုင်သော အက်ပ်အပြောင်းအလဲများကို အဖွင့်အပိတ်လုပ်ရန်"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"မူလစနစ်အရ ဖွင့်ထားသော အပြောင်းအလဲများ"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"မူရင်းစနစ်အရ ပိတ်ထားသော အပြောင်းအလဲများ"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"မည်သည့်အက်ပ်မျှ မရှိ"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"အမှားရှာပြင်ကိရိယာအက်ပ်များ အတွက်သာလျှင် တွဲဖက်သုံးနိုင်သော အက်ပ် အပြောင်းအလဲများကို ပြုပြင်နိုင်သည်။ အမှားရှာပြင်ကိရိယာအက်ပ်တစ်ခု ထည့်သွင်းပြီး ထပ်စမ်းကြည့်ပါ။"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"အခြားဆက်တင်တစ်ခုအပေါ် မူတည်ပါသည်"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"အကောင့်"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"လုပ်ငန်းစဉ်ခွဲ ကန့်သတ်ချက်များကို ပိတ်ခြင်း"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"အက်ပ်အခွဲ လုပ်ငန်းစဉ်များ၏ စနစ်ရင်းမြစ်သုံးစွဲမှုအပေါ် ကန့်သတ်ချက်များကို ပိတ်နိုင်သည်"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"‘မှတ်စု’ တာဝန်ကို မဖြစ်မနေဖွင့်ခြင်း"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"မှတ်စုရေးသည့် စနစ်ပေါင်းစည်းမှုများကို ‘မှတ်စု’ တာဝန်ဖြင့် ဖွင့်သည်။ ‘မှတ်စု’ တာဝန်ကို ဖွင့်ပြီးဖြစ်ပါက ဘာမှမလုပ်ပါ။"</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"မှတ်စုရေးသည့် စနစ်ပေါင်းစည်းမှုများကို ‘မှတ်စု’ တာဝန်ဖြင့် ဖွင့်ပါ။ ‘မှတ်စု’ တာဝန်ကို ဖွင့်ပြီးဖြစ်ပါက ဘာမှမလုပ်ပါနှင့်။ ပြန်လည်စတင်ရန် လိုအပ်သည်။"</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"ထုတ်လွှင့်မှု"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> ထုတ်လွှင့်ခြင်း"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"သင့်အနီး ထုတ်လွှင့်နေသည်များကို နားထောင်ရန်"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 9503299..7c91e49 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth er på"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Se alle"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Pekepenn"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Standard notatapp"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Trykk på bakre knapp"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (jobbprofil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Skriv i tekstfelt"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorer alle knappetrykk med pekepenn"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Pekepenn"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatur"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Første dag i uken"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Tallpreferanser"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Bruk appstandard"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Bruk standardverdien"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"søndag"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Kjerneversjon"</string>
     <string name="build_number" msgid="9009733242117579826">"Delversjonsnummer"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play-systemoppdatering"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Batteriinformasjon"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Ikke tilgjengelig"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Lagring"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Lagring og buffer"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth-adresse"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serienummer"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Oppetid"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Produksjonsdato"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Dato for første bruk"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Syklusantall"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Ikke tilgjengelig"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Beregner …"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Gi nytt navn"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Montér"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Dette tilbakestiller alle wifi- og Bluetooth-innstillinger. Denne handlingen kan ikke angres."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Tilbakestill"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth og wifi er tilbakestilt"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Slett"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Slett eSIM-kort"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Dette fører ikke til at du sier opp noen mobilabonnementer. Kontakt operatøren din for å laste ned erstatnings-SIM-kort."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Tilbakestill innstillingene"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Bruk også mønster for å låse opp enheten"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Bruk også PIN-kode for å låse opp enheten"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Bruk også passord for å låse opp enheten"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Bekreft mønsteret"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Bekreft PIN-koden"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Bekreft passordet"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Tegn mønsteret for å fortsette"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Skriv inn PIN-koden til enheten for å fortsette"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Skriv inn enhetspassordet for å fortsette"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Feil PIN-kode"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Feil passord"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Feil mønster"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Se etter apper"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Se etter systemer"</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">"På grunn av kvalitetskontroller før forsendelse er syklustelleren kanskje ikke null ved første gangs bruk"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Prosess-statistikk"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Nerdete statistikk om prosesser som er i gang"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Minnebruk"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Vil du slette gjesteaktivitet?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Apper og data fra denne gjesteøkten slettes nå, og all fremtidig gjesteaktivitet slettes hver gang du avslutter gjestemodus"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"slett, gjest, aktivitet, fjern, data, besøkende, tøm"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"La gjester bruke telefonen"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"La gjester starte telefonanrop"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Anropsloggen deles med gjestebrukeren"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Slå på telefonsamtaler og SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Gjør denne brukeren til administrator"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"nettverk, status for mobilnettverk, tjenestestatus, signalstyrke, mobilnettverkstype, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"serienummer, maskinvareversjon"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"batteriinformasjon, produksjonsdato, syklusantall, første bruk"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"nivå av sikkerhetsoppdatering i Android, basisbåndversjon, kjerneversjon"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, lys, mørk, modus, lyssensitivitet, fotofobi, gjør mørkere, mørkne, mørk modus, migrene"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"mørkt tema"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Standard for enheten"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Kunne ikke bruke overlegg"</string>
     <string name="special_access" msgid="1767980727423395147">"Spesiell apptilgang"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apper kan bruke ubegrenset med data</item>
-      <item quantity="one">1 app kan bruke ubegrenset med data</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Se mer"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Lange bakgrunnsoppgaver"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Tillat bakgrunnsoppgaver som kjører lenge"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Slå endringer av appkompatibilitet på/av"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Endringer som er aktivert som standard"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Endringer som er deaktivert som standard"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Ingen tilgj. apper"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Endringer av appkompatibilitet kan bare modifiseres for feilsøkbare apper. Installer en feilsøkbar app og prøv igjen."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Er avhengig av en annen innstilling"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Konto"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Slå av begrensninger for underordnede prosesser"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Slå av begrensningene for hvor mange systemressurser som kan brukes av underordnede approsesser"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Tving aktivering av Notater-rollen"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Aktiver systemintegreringer for notater via Notater-rollen. Hvis Notater-rollen er aktivert allerede, skjer det ingenting."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Aktiver systemintegreringer for notater via Notater-rollen. Hvis Notater-rollen er aktivert allerede, skjer det ingenting. Krever omstart."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Kringkast"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Kringkast <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Lytt til kringkastinger som spilles av i nærheten"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index c48deb4..362fbf1 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"ब्लुटुथ अन गरियो"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"सबै हेर्नुहोस्"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"स्टाइलस"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"डिफल्ट नोट एप"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"पुछारको बटन थिच्नुहोस्"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (कार्य प्रोफाइल)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"तापक्रम"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"हप्ताको पहिलो दिन"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"नम्बरसम्बन्धी प्राथमिकताहरू"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"एपको डिफल्ट प्राथमिकता प्रयोग गर्नुहोस्"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"डिफल्ट विधि प्रयोग गरियोस्"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"सेल्सियस (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"फरेनहाइट (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"आइतवार"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"कर्नेलको संस्करण"</string>
     <string name="build_number" msgid="9009733242117579826">"बिल्ड नम्बर"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play को सिस्टम अपडेट"</string>
+    <string name="battery_info" msgid="7873528123969546728">"ब्याट्रीसम्बन्धी जानकारी"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"अनुपलब्ध"</string>
     <string name="storage_settings" msgid="7472188817781592677">"भण्डारण"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"भण्डारण र क्यास"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"ब्लुटुथ एड्रेस"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"क्रम संख्या"</string>
     <string name="status_up_time" msgid="1274778533719495438">"सक्रिय समय"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"बनेको मिति"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"पहिलो पटक प्रयोग गरिएको मिति"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"चार्ज हुने र डिस्चार्ज हुने क्रमको गणना"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"उपलब्ध छैन"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"गणना गर्दै ..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"पुन: नामाकरण गर्नुहोस्"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"माउन्ट गर्नुहोस्"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"तपाईंले यसो गर्नुभयो भने Wi-Fi तथा ब्लुटुथसम्बन्धी सबै सेटिङ रिसेट हुने छन्। तपाईं यो कार्य अन्डू गर्न सक्नुहुन्न।"</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"रिसेट गर्नुहोस्"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ब्लुटुथ र Wi-Fi रिसेट गरिएका छन्"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"मेटाउनुहोस्"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM हरू मेटाउनुहोस्"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"यसो गर्दा मोबाइल सेवाका कुनै पनि योजना रद्द हुने छैनन्। अर्को सिम डाउनलोड गर्न आफ्नो मोबाइल सेवा प्रदायकलाई सम्पर्क गर्नुहोस्।"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"सेटिङहरू रिसेट गर्नुहोस्"</string>
@@ -1458,6 +1463,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>
+    <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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"एपअनुसार हेर्नुहोस्"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"सिस्टमअनुसार हेर्नुहोस्"</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">"ढुवानी गर्नुअघि उत्पादनको गुणस्तर जाँचिने भएकाले पहिलो पटक प्रयोग गर्दा साइकल काउन्ट शून्य नहुन सक्छ"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"प्रक्रिया तथ्याङ्क"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"चालु रहने प्रक्रियाहरूको बारेको geeky तथ्याङ्क"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"मेमोरी प्रयोग"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"अतिथि सत्रका क्रियाकलाप मेटाउने हो?"</string>
     <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="8300355036005240911">"अतिथिलाई फोन प्रयोग गर्न दिइयोस्"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"अतिथिहरूलाई फोन कल गर्ने अनुमति दिनुहोस्"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"अतिथि प्रयोगकर्तासँग कल हिस्ट्री सेयर गरिने छ"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"फोन कल तथा SMS सक्षम पार्नुहोस्"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"यी प्रयोगकर्तालाई एड्मिन बनाउनुहोस्"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"नेटवर्क, मोबाइल नेटवर्कको स्थिति, सेवाको स्थिति, सिग्नलको क्षमता, मोबाइल नेटवर्कको प्रकार, रोमिङ, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"क्रम संख्या, हार्डवेयरको संस्करण"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"ब्याट्रीसम्बन्धी जानकारी, बनेको मिति, चार्ज हुने र डिस्चार्ज हुने क्रमको गणना, पहिलो पटक प्रयोग गरिएको मिति"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"android को सुरक्षासम्बन्धी प्याचको स्तर, बेसब्यान्डको संस्करण, कर्नेलको संस्करण"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"थिम, उज्यालो, अँध्यारो मोड, प्रकाशको संवेदनशीलता, फोटोफोबिया, अझ अँध्यारो बनाउनुहोस्, अँध्यारो बनाउनुहोस्, अँध्यारो मोड, माइग्रेन"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"अँध्यारो थिम"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"डिफल्ट डिभाइस"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"ओभरले लागू गर्न सकिएन"</string>
     <string name="special_access" msgid="1767980727423395147">"एपलाई दिइएको विशेष एक्सेस"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> एपले असीमित डेटा प्रयोग गर्न सक्छन्</item>
-      <item quantity="one">१ एपले असीमित डेटा प्रयोग गर्न सक्छ</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"थप हेर्नुहोस्"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"लामो समयसम्म ब्याकग्राउन्डमा चलिरहेका कार्यहरू"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"लामो समयसम्म ब्याकग्राउन्डमा चलिरहने कार्यहरूलाई अनुमति दिनुहोस्"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"एपको कम्प्याटिबिलिटीमा गरिएको परिवर्तन टगल गर्नुहोस्"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"डिफल्ट रूपमा सक्षम पारिएका परिवर्तनहरू"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"असक्षम पारिएका डिफल्ट परिवर्तनहरू"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"कुनै पनि एप उपलब्ध छैन"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"डिबग गर्न मिल्ने एपहरूमा मात्र एपको कम्प्याटिबिलिटीसँग सम्बन्धित परिवर्तनहरू गर्न सकिन्छ। कुनै डिबग गर्न मिल्ने एप इन्स्टल गरी फेरि प्रयास गर्नुहोस्।"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"अर्को सेटिङमा भर पर्छ"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"खाता"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"चाइल्ड प्रोसेसमा लगाइएका प्रतिबन्ध हटाइयोस्"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"एपका चाइल्ड प्रोसेसहरूलाई सिस्टमका कुन कुन स्रोत प्रयोग गर्न दिने भन्ने कुराका सम्बन्धमा लगाइएका प्रतिबन्धहरू हटाउनुहोस्"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Notes चलाउने भूमिका जबरजस्ती अन गरियोस्"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Notes भूमिकामार्फत नोट बनाउने सिस्टम इन्टिग्रेसनहरू अन गर्नुहोस्। Notes भूमिका अन गरिसकिएको छ भने केही पनि हुँदैन।"</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Notes भूमिकामार्फत नोट बनाउने सिस्टम इन्टिग्रेसनहरू अन गर्नुहोस्। Notes भूमिका अन गरिसकिएको छ भने केही पनि हुँदैन। रिबुट गर्नु पर्ने हुन्छ।"</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"प्रसारण"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> ब्रोडकास्ट गर्नुहोस्"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"आफू नजिकै प्ले भइरहेका प्रसारणहरू सुन्नुहोस्"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 2e4760e..647f5ef 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth staat aan"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Alles tonen"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stylus"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Standaard notitie-app"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Knop bovenop indrukken"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (werkprofiel)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Schrijven in tekstvelden"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Alle drukken op knoppen met stylus negeren"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatuur"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Eerste dag van de week"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Cijfervoorkeuren"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"App-standaard gebruiken"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Standaard gebruiken"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"zondag"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Kernel-versie"</string>
     <string name="build_number" msgid="9009733242117579826">"Buildnummer"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play-systeemupdate"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Batterij-informatie"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Niet beschikbaar"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Opslagruimte"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Opslag en cache"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth-adres"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serienummer"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Bedrijfstijd"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Productiedatum"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Datum van eerste gebruik"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Aantal cyclussen"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Niet beschikbaar"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Berekenen…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Naam wijzigen"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Koppelen"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Hiermee worden alle wifi- en bluetooth-instellingen gereset. Je kunt deze actie niet ongedaan maken."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Resetten"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth en wifi zijn gereset"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Wissen"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"E-simkaarten wissen"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Hiermee zeg je geen mobiele abonnementen op. Neem contact op met je provider als je vervangende simkaarten wilt downloaden."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Instellingen resetten"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Ook patroon gebruiken om dit apparaat te ontgrendelen"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Ook pincode gebruiken om dit apparaat te ontgrendelen"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Ook wachtwoord gebruiken om dit apparaat te ontgrendelen"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Patroon verifiëren"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Pincode verifiëren"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Wachtwoord verifiëren"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Teken het patroon van je apparaat om door te gaan"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Voer de pincode van het apparaat in om door te gaan"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Voer het wachtwoord van je apparaat in om door te gaan"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Onjuiste pincode"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Onjuist wachtwoord"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Onjuist patroon"</string>
@@ -2295,7 +2306,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">"Batterijpercentage in statusbalk tonen"</string>
+    <string name="battery_percentage_description" msgid="2321465139126125541">"Toon batterijpercentage in statusbalk"</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>
@@ -2325,7 +2336,8 @@
     <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">"&lt; <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="battery_usage_less_than_percent" msgid="5873099028895001082">"&amp;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>
     <string name="app_memory_use" msgid="7559666138324410666">"Geheugengebruik"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Gastactiviteit verwijderen?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Apps en gegevens van deze gastsessie worden nu verwijderd en alle toekomstige gastactiviteit wordt verwijderd telkens wanneer je de gastmodus afsluit"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"verwijderen, gast, activiteit, wissen, gegevens, bezoeker, weggooien"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Gast toestaan telefoon te gebruiken"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Gast toestaan te bellen"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"De gespreksgeschiedenis wordt met de gastgebruiker gedeeld"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Telefoonoproepen en sms aanzetten"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Deze gebruiker beheerder maken"</string>
@@ -2767,7 +2779,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">"Mobiele noodmeldingen"</string>
+    <string name="cell_broadcast_settings" msgid="2416980110093867199">"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>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"netwerk, status mobiel netwerk, servicestatus, signaalsterkte, type mobiel netwerk, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"serienummer, hardwareversie"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"batterij-informatie, productiedatum, aantal cyclussen, eerste gebruik"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"niveau van android-beveiligingspatch, smalbandversie, kernel-versie"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"thema, licht, donker, modus, lichtgevoeligheid, fotofobie, donkerder maken, donkerder, donkere modus, migraine"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"donker thema"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Apparaatstandaard"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Toepassen van overlay mislukt"</string>
     <string name="special_access" msgid="1767980727423395147">"Speciale app-toegang"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apps kunnen onbeperkt data gebruiken</item>
-      <item quantity="one">1 app kan onbeperkt data gebruiken</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Meer tonen"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Lange achtergrondtaken"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Uitvoeren van lange achtergrondtaken toestaan"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Zet app-compatibiliteitswijzigingen aan/uit"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Standaard aangezette wijzigingen"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Standaard uitgezette wijzigingen"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Geen apps"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Wijzigingen in app-compatibiliteit kunnen alleen worden aangepast voor apps waarin fouten kunnen worden opgespoord. Installeer een app waarin fouten kunnen worden opgespoord en probeer het opnieuw."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Is afhankelijk van een andere instelling"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Account"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Beperkingen voor onderliggende processen uitzetten"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Zet beperkingen voor het gebruik van systeembronnen voor onderliggende app-processen uit"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Aanzetten van de rol Notities afdwingen"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Zet systeemintegraties voor notities maken aan via de rol Notities. Als de rol Notities al aanstaat, gebeurt er niets."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Zet systeemintegraties voor notities maken aan via de rol Notities. Als de rol Notities al aanstaat, gebeurt er niets. Vereist opnieuw opstarten."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Uitzenden"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> uitzenden"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Luister naar uitzendingen die bij je in de buurt worden afgespeeld"</string>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 5e9f5d0..b085ac2 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"ବ୍ଲୁ-ଟୁଥ୍‍ ଅନ୍‌ କରାଗଲା"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"ସବୁ ଦେଖନ୍ତୁ"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"ଷ୍ଟାଇଲସ"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"ଡିଫଲ୍ଟ ନୋଟ୍ସ ଆପ"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"ଟେଲ ବଟନ ଦବାଯାଇଛି"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (ୱାର୍କ ପ୍ରୋଫାଇଲ)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"ତାପମାତ୍ରା"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"ସପ୍ତାହର ପ୍ରଥମ ଦିନ"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"ନମ୍ବର ପସନ୍ଦଗୁଡ଼ିକ"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"ଆପ ଡିଫଲ୍ଟ ବ୍ୟବହାର କରନ୍ତୁ"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"ଡିଫଲ୍ଟକୁ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"ସେଲସିୟସ (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"ଫାରେନହାଇଟ (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"ରବିବାର"</string>
@@ -967,7 +968,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>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"କର୍ଣ୍ଣେଲ ସଂସ୍କରଣ"</string>
     <string name="build_number" msgid="9009733242117579826">"ବିଲ୍ଡ ନମ୍ବର"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play ସିଷ୍ଟମ୍ ଅପ୍‌ଡେଟ୍"</string>
+    <string name="battery_info" msgid="7873528123969546728">"ବେଟେରୀ ସୂଚନା"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"ଉପଲବ୍ଧ ନାହିଁ"</string>
     <string name="storage_settings" msgid="7472188817781592677">"ଷ୍ଟୋରେଜ"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"ଷ୍ଟୋରେଜ୍ &amp; କେଚ୍"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"ବ୍ଲୁଟୁଥ ଠିକଣା"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"କ୍ରମିକ ନମ୍ବର"</string>
     <string name="status_up_time" msgid="1274778533719495438">"ଚାଲୁ ରହିଥିବାର ସମୟ"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"ଉତ୍ପାଦନ ତାରିଖ"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"ପ୍ରଥମ ବ୍ୟବହାରର ତାରିଖ"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"ସାଇକେଲ ସଂଖ୍ୟା"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"ଅନୁପଲବ୍ଧ"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"ଗଣନା କରାଯାଉଛି…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"ରିନେମ କରନ୍ତୁ"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"ମାଉଣ୍ଟ କରନ୍ତୁ"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"ଏହା ୱାଇ-ଫାଇ ଓ ବ୍ଲୁଟୁଥର ସମସ୍ତ ସେଟିଂସକୁ ରିସେଟ କରିବ। ଆପଣ ଏହି କାର୍ଯ୍ୟକୁ ପୂର୍ବବତ କରିପାରିବେ ନାହିଁ।"</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"ରିସେଟ କରନ୍ତୁ"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ବ୍ଲୁଟୁଥ ଓ ୱାଇ-ଫାଇକୁ ରିସେଟ କରାଯାଇଛି"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"ଖାଲି କରନ୍ତୁ"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIMଗୁଡ଼ିକୁ ଇରେଜ କରନ୍ତୁ"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"ଏହା କୌଣସି ମୋବାଇଲ ସେବା ପ୍ଲାନକୁ ବାତିଲ କରିବ ନାହିଁ। ରିପ୍ଲେସମେଣ୍ଟ SIMଗୁଡ଼ିକୁ ଡାଉନଲୋଡ କରିବା ପାଇଁ ଆପଣଙ୍କ କ୍ୟାରିଅର ସହ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ।"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"ସେଟିଂସ ରିସେଟ କରନ୍ତୁ"</string>
@@ -1458,6 +1463,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>
+    <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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"ଆପ୍ସ ଅନୁସାରେ ଦେଖନ୍ତୁ"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"ସିଷ୍ଟମଗୁଡ଼ିକ ଅନୁସାରେ ଦେଖନ୍ତୁ"</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">"ସିପିଂ ପୂର୍ବରୁ ଗୁଣବତ୍ତା ନିରୀକ୍ଷଣ ଯୋଗୁଁ ପ୍ରଥମ ବ୍ୟବହାରରେ ସାଇକେଲ ଗଣନା ଶୂନ ହୋଇନପାରେ"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"ପ୍ରକ୍ରିୟା ଷ୍ଟାଟସ୍"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"ଚାଲୁଥିବା ପ୍ରକ୍ରିୟା ବିଷୟରେ ଗିକୀ ଷ୍ଟେଟସ୍‌"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"ମେମୋରୀ ବ୍ୟବହାର"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"ଅତିଥି କାର୍ଯ୍ୟକଳାପକୁ ଡିଲିଟ କରିବେ?"</string>
     <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="8300355036005240911">"ଅତିଥିଙ୍କୁ ଫୋନ ବ୍ୟବହାର କରିବାକୁ ଅନୁମତି ଦିଅ"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"ଫୋନ କଲ କରିବାକୁ ଅତିଥିଙ୍କୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"ଅତିଥି ଉପଯୋଗକର୍ତ୍ତାଙ୍କ ସହ କଲ ଇତିହାସ ସେୟାର କରାଯିବ"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"ଫୋନ୍‌ କଲ୍‌ ଓ SMS ଚାଲୁ କରନ୍ତୁ"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"ଏହି ୟୁଜରଙ୍କୁ ଜଣେ ଆଡମିନ କରନ୍ତୁ"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"ନେଟୱାର୍କ, ମୋବାଇଲ ନେଟୱାର୍କ ସ୍ଥିତି, ସେବା ସ୍ଥିତି, ସିଗନାଲ କ୍ଷମତା, ମୋବାଇଲ ନେଟୱାର୍କ ପ୍ରକାର, ରୋମିଂ, ICCID, EID"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"କ୍ରମିକ ସଂଖ୍ୟା, ହାର୍ଡୱେର୍‌ ଭର୍ସନ୍‌"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"ବେଟେରୀ ସୂଚନା, ଉତ୍ପାଦନ ତାରିଖ, ସାଇକେଲ ସଂଖ୍ୟା, ପ୍ରଥମ ବ୍ୟବହାର"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"Android ସୁରକ୍ଷା ପ୍ୟାଚ୍‌ ସ୍ତର, ବେସ୍‌ବ୍ୟାଣ୍ଡ ଭର୍ସନ୍‌, କର୍ନେଲ୍‌ ଭର୍ସନ୍‌"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"ଥିମ୍, ଲାଇଟ୍, ଡାର୍କ, ମୋଡ୍, ଆଲୋକ ପ୍ରତି ସମ୍ବେଦନଶୀଳତା, ଫଟୋଫୋବିଆ, ଅଧିକ ଗାଢ଼ା କରନ୍ତୁ, ଗାଢ଼ା କରନ୍ତୁ, ଡାର୍କ ମୋଡ୍, ମାଇଗ୍ରେନ୍"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"ଗାଢ଼ା ଥିମ୍"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"ଡିଭାଇସ୍‌ ଡିଫଲ୍ଟ"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"ଓଭର୍‌ଲେ ଲାଗୁ କରିବାରେ ବିଫଳ"</string>
     <string name="special_access" msgid="1767980727423395147">"ସ୍ୱତନ୍ତ୍ର ଆପ୍‌ ଆକ୍ସେସ୍‌"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g>ଟି ଆପ୍‌, ଅପ୍ରତିବନ୍ଧିତ ଡାଟା ବ୍ୟବହାର କରିପାରନ୍ତି</item>
-      <item quantity="one">1ଟି ଆପ୍‌, ଅପ୍ରତିବନ୍ଧିତ ଡାଟା ବ୍ୟବହାର କରିପାରେ</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"ଅଧିକ ଦେଖନ୍ତୁ"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"ଅଧିକ ସମୟର ପୃଷ୍ଠପଟ ଟାସ୍କଗୁଡ଼ିକ"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"ଅଧିକ ସମୟ-ଚାଲୁଥିବା ପୃଷ୍ଠପଟର ଟାସ୍କଗୁଡ଼ିକୁ ଅନୁମତି ଦିଅ"</string>
@@ -4043,7 +4052,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>
@@ -4097,7 +4106,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>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ଆପ କମ୍ପାଟିବିଲିଟୀ ପରିବର୍ତ୍ତନଗୁଡ଼ିକୁ ଟୋଗଲ କରନ୍ତୁ"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"ଡିଫଲ୍ଟ ଭାବେ ସକ୍ଷମ କରାଯାଇଥିବା ପରିବର୍ତ୍ତନଗୁଡ଼ିକ"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"ଡିଫଲ୍ଟ ଭାବେ ଅକ୍ଷମ କରାଯାଇଥିବା ପରିବର୍ତ୍ତନଗୁଡ଼ିକ"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"ଆପ୍ ଉପଲବ୍ଧ ନାହିଁ"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"ଆପ୍ କମ୍ପାଟିବିଲିଟୀ ପରିବର୍ତ୍ତନଗୁଡ଼ିକୁ କେବଳ ଡିବଗ୍ କରାଯାଇପାରୁଥିବା ଆପଗୁଡ଼ିକ ପାଇଁ ସଂଶୋଧନ କରାଯାଇପାରିବ। ଏକ ଡିବଗ୍ କରାଯାଇପାରୁଥିବା ଆପ୍ ଇନଷ୍ଟଲ୍ କରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"ଅନ୍ୟଏକ ସେଟିଙ୍ଗ ଉପରେ ନିର୍ଭର କରିଥାଏ"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"ଆକାଉଣ୍ଟ"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"ଚାଇଲ୍ଡ ପ୍ରକ୍ରିୟା ପ୍ରତିବନ୍ଧକଗୁଡ଼ିକୁ ଅକ୍ଷମ କରନ୍ତୁ"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"ଆପର ଚାଇଲ୍ଡ ପ୍ରକ୍ରିୟାର ସିଷ୍ଟମ ରିସୋର୍ସ ବ୍ୟବହାର ପ୍ରତିବନ୍ଧକଗୁଡ଼ିକୁ ଅକ୍ଷମ କରନ୍ତୁ"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"ନୋଟ୍ସ ଭୂମିକା ସକ୍ଷମ କରିବାକୁ ଫୋର୍ସ କରନ୍ତୁ"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"ନୋଟ୍ସ ଭୂମିକା ମାଧ୍ୟମରେ ନୋଟ-ଟେକିଂ ସିଷ୍ଟମ ଇଣ୍ଟିଗ୍ରେସନକୁ ସକ୍ଷମ କରନ୍ତୁ। ଯଦି ନୋଟ୍ସ ଭୂମିକାକୁ ପୂର୍ବରୁ ସକ୍ଷମ କରାଯାଇଛି, ତେବେ କିଛି କରନ୍ତୁ ନାହିଁ।"</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"ନୋଟ୍ସ ଭୂମିକା ମାଧ୍ୟମରେ ନୋଟ-ଟେକିଂ ସିଷ୍ଟମ ଇଣ୍ଟିଗ୍ରେସନକୁ ସକ୍ଷମ କରନ୍ତୁ। ଯଦି ନୋଟ୍ସ ଭୂମିକାକୁ ପୂର୍ବରୁ ସକ୍ଷମ କରାଯାଇଛି, ତେବେ କିଛି କରନ୍ତୁ ନାହିଁ। ରିବୁଟ କରିବା ଆବଶ୍ୟକ।"</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"ବ୍ରଡକାଷ୍ଟ"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> ବ୍ରଡକାଷ୍ଟ କରନ୍ତୁ"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"ଆପଣଙ୍କ ଆଖପାଖରେ ଚାଲୁଥିବା ବ୍ରଡକାଷ୍ଟଗୁଡ଼ିକୁ ଶୁଣନ୍ତୁ"</string>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 1e8945e..02677e4 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"ਬਲੂਟੁੱਥ ਚਾਲੂ ਕੀਤਾ ਗਿਆ"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"ਸਭ ਦੇਖੋ"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"ਸਟਾਈਲਸ"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"ਨੋਟ-ਕਥਨਾਂ ਵਾਲੀ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਐਪ"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"ਟੇਲ ਬਟਨ ਦਬਾਓ"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"ਤਾਪਮਾਨ"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"ਹਫ਼ਤੇ ਦਾ ਪਹਿਲਾ ਦਿਨ"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"ਨੰਬਰਾਂ ਸੰਬੰਧੀ ਤਰਜੀਹਾਂ"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"ਐਪ ਦੀ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਵਜੋਂ ਵਰਤੋਂ ਕਰੋ"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਵਰਤੋ"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"ਸੈਲਸੀਅਸ (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"ਫ਼ਾਰਨਹਾਈਟ (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"ਐਤਵਾਰ"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"ਕਰਨਲ ਵਰਜਨ"</string>
     <string name="build_number" msgid="9009733242117579826">"ਬਿਲਡ ਨੰਬਰ"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play ਸਿਸਟਮ ਅੱਪਡੇਟ"</string>
+    <string name="battery_info" msgid="7873528123969546728">"ਬੈਟਰੀ ਸੰਬੰਧੀ ਜਾਣਕਾਰੀ"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
     <string name="storage_settings" msgid="7472188817781592677">"ਸਟੋਰੇਜ"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"ਸਟੋਰੇਜ ਅਤੇ ਕੈਸ਼ੇ"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"ਬਲੂਟੁੱਥ ਪਤਾ"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"ਸੀਰੀਅਲ ਨੰਬਰ"</string>
     <string name="status_up_time" msgid="1274778533719495438">"ਚਾਲੂ ਰਹਿਣ ਦਾ ਸਮਾਂ"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"ਬਣਾਉਣ ਦੀ ਤਾਰੀਖ"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"ਪਹਿਲੀ ਵਰਤੋਂ ਦੀ ਤਾਰੀਖ"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"ਸਾਈਕਲ ਗਿਣਤੀ"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"ਉਪਲਬਧ ਨਹੀਂ"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"ਗਣਨਾ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"ਨਾਮ ਬਦਲੋ"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"ਮਾਉਂਟ ਕਰੋ"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"ਇਸ ਨਾਲ ਸਾਰੀਆਂ ਵਾਈ-ਫਾਈ ਅਤੇ ਬਲੂਟੁੱਥ ਸੈਟਿੰਗਾਂ ਰੀਸੈੱਟ ਹੋ ਜਾਣਗੀਆਂ। ਤੁਸੀਂ ਇਸ ਕਾਰਵਾਈ ਨੂੰ ਅਣਕੀਤਾ ਨਹੀਂ ਕਰ ਸਕਦੇ।"</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"ਰੀਸੈੱਟ ਕਰੋ"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ਬਲੂਟੁੱਥ ਅਤੇ ਵਾਈ-ਫਾਈ ਨੂੰ ਰੀਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੈ"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"ਮਿਟਾਓ"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIMs ਨੂੰ ਮਿਟਾਓ"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"ਇੰਝ ਕਰਨ ਨਾਲ ਕੋਈ ਮੋਬਾਈਲ ਸੇਵਾ ਪਲਾਨ ਰੱਦ ਨਹੀਂ ਹੋਵੇਗਾ। ਬਦਲਵੇਂ ਸਿਮ ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ, ਆਪਣੇ ਕੈਰੀਅਰ ਨਾਲ ਸੰਪਰਕ ਕਰੋ।"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"ਸੈਟਿੰਗਾਂ ਰੀਸੈੱਟ ਕਰੋ"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"ਇਸ ਡੀਵਾਈਸ ਨੂੰ ਅਣਲਾਕ ਕਰਨ ਲਈ ਪੈਟਰਨ ਵੀ ਵਰਤੋ"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"ਇਸ ਡੀਵਾਈਸ ਨੂੰ ਅਣਲਾਕ ਕਰਨ ਲਈ ਪਿੰਨ ਵੀ ਵਰਤੋ"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"ਇਸ ਡੀਵਾਈਸ ਨੂੰ ਅਣਲਾਕ ਕਰਨ ਲਈ ਪਾਸਵਰਡ ਵੀ ਵਰਤੋ"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"ਪੈਟਰਨ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"ਪਿੰਨ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ"</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">"ਜਾਰੀ ਰੱਖਣ ਲਈ ਆਪਣੇ ਡੀਵਾਈਸ ਦਾ ਪਿੰਨ ਦਾਖਲ ਕਰੋ"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"ਜਾਰੀ ਰੱਖਣ ਲਈ ਆਪਣਾ ਡੀਵਾਈਸ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"ਗਲਤ ਪਿੰਨ"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"ਗਲਤ ਪਾਸਵਰਡ"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"ਗਲਤ ਪੈਟਰਨ"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"ਐਪਾਂ ਮੁਤਾਬਕ ਦੇਖੋ"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"ਸਿਸਟਮਾਂ ਮੁਤਾਬਕ ਦੇਖੋ"</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">"ਸ਼ਿੱਪ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਕੁਆਲਿਟੀ ਜਾਂਚਾਂ ਦੇ ਕਾਰਨ, ਪਹਿਲੀ ਵਾਰ ਵਰਤੇ ਜਾਣ \'ਤੇ ਸਾਈਕਲ ਗਿਣਤੀ ਸ਼ਾਇਦ ਜ਼ੀਰੋ ਨਾ ਹੋਵੇ"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"ਪ੍ਰਕਿਰਿਆ ਸਟੈਟਸ"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"ਚੱਲ ਰਹੀਆਂ ਪ੍ਰਕਿਰਿਆਵਾਂ ਬਾਰੇ Geeky ਸਟੈਟਸ"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"ਮੈਮਰੀ ਵਰਤੋਂ"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"ਕੀ ਮਹਿਮਾਨ ਦੀ ਸਰਗਰਮੀ ਨੂੰ ਮਿਟਾਉਣਾ ਹੈ?"</string>
     <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="8300355036005240911">"ਮਹਿਮਾਨ ਨੂੰ ਫ਼ੋਨ ਵਰਤਣ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"ਮਹਿਮਾਨ ਨੂੰ ਫ਼ੋਨ ਕਾਲਾਂ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"ਕਾਲ ਇਤਿਹਾਸ ਨੂੰ ਮਹਿਮਾਨ ਵਰਤੋਂਕਾਰ ਨਾਲ ਸਾਂਝਾ ਕੀਤਾ ਜਾਵੇਗਾ"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"ਫ਼ੋਨ ਕਾਲਾਂ ਅਤੇ SMS ਚਾਲੂ ਕਰੋ"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"ਇਸ ਵਰਤੋਂਕਾਰ ਨੂੰ ਪ੍ਰਸ਼ਾਸਕ ਬਣਾਓ"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"ਨੈੱਟਵਰਕ, ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ ਸਥਿਤੀ, ਸੇਵਾ ਸਥਿਤੀ, ਸਿਗਨਲ ਦੀ ਤੀਬਰਤਾ, ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ ਦੀ ਕਿਸਮ, ਰੋਮਿੰਗ, ICCID, EID"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"ਸੀਰੀਅਲ ਨੰਬਰ, ਹਾਰਡਵੇਅਰ ਵਰਜਨ"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"ਬੈਟਰੀ ਸੰਬੰਧੀ ਜਾਣਕਾਰੀ, ਬਣਾਉਣ ਦੀ ਤਾਰੀਖ, ਸਾਈਕਲ ਗਿਣਤੀ, ਪਹਿਲੀ ਵਰਤੋਂ"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"Android ਸੁਰੱਖਿਆ ਪੈਚ ਪੱਧਰ, ਬੇਸਬੈਂਡ ਵਰਜਨ, ਕਰਨਲ ਵਰਜਨ"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"ਥੀਮ, ਹਲਕਾ, ਗੂੜ੍ਹਾ, ਮੋਡ, ਰੋਸ਼ਨੀ ਤੋਂ ਸੰਵੇਦਨਸ਼ੀਲਤਾ, ਫ਼ੋਟੋਫ਼ੋਬੀਆ, ਹੋਰ ਗੂੜ੍ਹਾ ਕਰੋ, ਗੂੜ੍ਹਾ ਕਰੋ, ਗੂੜ੍ਹਾ ਮੋਡ, ਸਿਰਦਰਦ"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"ਗੂੜ੍ਹਾ ਥੀਮ"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"ਡੀਵਾਈਸ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"ਓਵਰਲੇ ਨੂੰ ਲਾਗੂ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ"</string>
     <string name="special_access" msgid="1767980727423395147">"ਵਿਸ਼ੇਸ਼ ਐਪ ਪਹੁੰਚ"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ਐਪ ਅਣ-ਪ੍ਰਤਿਬੰਧਿਤ ਡਾਟੇ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੀ ਹੈ</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ਐਪਾਂ ਅਣ-ਪ੍ਰਤਿਬੰਧਿਤ ਡਾਟੇ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੀਆਂ ਹਨ</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"ਹੋਰ ਦੇਖੋ"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"ਲੰਬੇ ਬੈਕਗ੍ਰਾਊਂਡ ਕਾਰਜ"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"ਲੰਬਾ ਸਮਾਂ ਚੱਲਣ ਵਾਲੇ ਬੈਕਗ੍ਰਾਊਂਡ ਕਾਰਜਾਂ ਨੂੰ ਆਗਿਆ ਦਿਓ"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ਐਪ ਅਨੁਰੂਪਤਾ ਤਬਦੀਲੀਆਂ ਨੂੰ ਟੌਗਲ ਕਰੋ"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"ਪੂਰਵ-ਨਿਰਧਾਰਤ ਤੌਰ \'ਤੇ ਚਾਲੂ ਕੀਤੀਆਂ ਤਬਦੀਲੀਆਂ"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"ਪੂਰਵ-ਨਿਰਧਾਰਤ ਤੌਤ \'ਤੇ ਬੰਦ ਕੀਤੀਆਂ ਤਬਦੀਲੀਆਂ"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"ਕੋਈ ਐਪ ਉਪਲਬਧ ਨਹੀਂ"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"ਐਪ ਅਨੁਰੂਪਤਾ ਸੰਬੰਧੀ ਤਬਦੀਲੀਆਂ ਸਿਰਫ਼ ਡੀਬੱਗਯੋਗ ਐਪਾਂ ਲਈ ਸੋਧੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ। ਡੀਬੱਗਯੋਗ ਐਪ ਨੂੰ ਸਥਾਪਤ ਕਰੋ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"ਹੋਰ ਸੈਟਿੰਗ \'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"ਖਾਤਾ"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"ਉੱਪ-ਪ੍ਰਕਿਰਿਆ \'ਤੇ ਲੱਗੀਆਂ ਪਾਬੰਦੀਆਂ ਬੰਦ ਕਰੋ"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"ਐਪ ਦੀਆਂ ਉੱਪ-ਪ੍ਰਕਿਰਿਆਵਾਂ ਲਈ ਸਿਸਟਮ ਸਰੋਤਾਂ ਦੀ ਵਰਤੋਂ \'ਤੇ ਲੱਗੀਆਂ ਪਾਬੰਦੀਆਂ ਬੰਦ ਕਰੋ"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Notes ਦੀ ਭੂਮਿਕਾ ਨੂੰ ਜ਼ਬਰਦਸਤੀ ਚਾਲੂ ਕਰੋ"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Notes ਦੀ ਭੂਮਿਕਾ ਰਾਹੀਂ ਨੋਟ ਬਣਾਉਣ ਵਾਲੇ ਸਿਸਟਮ ਏਕੀਕਰਨ ਨੂੰ ਚਾਲੂ ਕਰੋ। ਜੇ Notes ਦੀ ਭੂਮਿਕਾ ਨੂੰ ਪਹਿਲਾਂ ਤੋਂ ਹੀ ਚਾਲੂ ਕੀਤਾ ਹੋਇਆ ਹੈ, ਤਾਂ ਕੁਝ ਵੀ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ।"</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Notes ਦੀ ਭੂਮਿਕਾ ਰਾਹੀਂ ਨੋਟ ਬਣਾਉਣ ਵਾਲੇ ਸਿਸਟਮ ਏਕੀਕਰਨ ਨੂੰ ਚਾਲੂ ਕਰੋ। ਜੇ Notes ਦੀ ਭੂਮਿਕਾ ਨੂੰ ਪਹਿਲਾਂ ਤੋਂ ਹੀ ਚਾਲੂ ਕੀਤਾ ਹੋਇਆ ਹੈ, ਤਾਂ ਕੁਝ ਵੀ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ। ਰੀਬੂਟ ਕਰਨਾ ਲੋੜੀਂਦਾ ਹੈ।"</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"ਪ੍ਰਸਾਰਨ"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> ਦਾ ਪ੍ਰਸਾਰਨ ਕਰੋ"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"ਉਨ੍ਹਾਂ ਪ੍ਰਸਾਰਨਾਂ ਨੂੰ ਸੁਣੋ ਜੋ ਤੁਹਾਡੇ ਨੇੜੇ ਚੱਲ ਰਹੇ ਹਨ"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 0c2e018..3b61a1a2 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth włączony"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Pokaż wszystkie"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Rysik"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Domyślna aplikacja do notatek"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Długie naciśnięcie przycisku"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (profil służbowy)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Pisz w polach tekstowych"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignoruj wszystkie naciśnięcia przycisku rysika"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Rysik"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatura"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Pierwszy dzień tygodnia"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Preferencje dotyczące liczb"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Użyj domyślnych ustawień aplikacji"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Użyj opcji domyślnej"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Stopnie Celsjusza (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Stopnie Fahrenheita (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Niedziela"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Wersja jądra"</string>
     <string name="build_number" msgid="9009733242117579826">"Numer kompilacji"</string>
     <string name="module_version" msgid="1787518340082046658">"Aktualizacja systemowa Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Informacje o baterii"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Niedostępny"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Pamięć wewnętrzna"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Pamięć wewnętrzna i podręczna"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Adres Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Numer seryjny"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Czas działania"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Data produkcji"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Data pierwszego użycia"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Liczba cykli"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Niedostępna"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Obliczanie..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Zmień nazwę"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Podłącz"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Wszystkie ustawienia Wi‑Fi i Bluetooth zostaną zresetowane. Tej czynności nie można cofnąć."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Resetuj"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth i Wi‑Fi zostały zresetowane"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Usuń"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Wykasuj karty eSIM"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Nie spowoduje to anulowania Twoich abonamentów. Aby pobrać zastępcze karty SIM, skontaktuj się z operatorem."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Zresetuj ustawienia"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Użyj też wzoru do odblokowania urządzenia"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Użyj też PIN-u do odblokowania urządzenia"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Użyj też hasła do odblokowania urządzenia"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Zweryfikuj wzór"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Zweryfikuj PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Zweryfikuj hasło"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Aby kontynuować, podaj wzór używany na urządzeniu"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Aby kontynuować, podaj kod PIN używany na urządzeniu"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Aby kontynuować, podaj hasło używane na urządzeniu"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Nieprawidłowy kod PIN"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Nieprawidłowe hasło"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Nieprawidłowy wzór"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Wyświetl według aplikacji"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Wyświetl według systemów"</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">"Ze względu na kontrolę jakości przed wysyłką liczba cykli przy pierwszym użyciu może być różna od zera"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Statystyki procesów"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Rozbudowane statystyki uruchomionych procesów"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Użycie pamięci"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Usunąć aktywność gościa?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Aplikacje i dane z tej sesji gościa zostaną teraz usunięte. Cała przyszła aktywność gościa będzie usuwana podczas zamykania trybu gościa."</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"usuwać, gość, aktywność, usuwanie, dane, użytkownik zewnętrzny, wykasować"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Zezwalaj na to, żeby gość korzystał z telefonu"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Zezwól gościom na połączenia telefoniczne"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Historia połączeń zostanie udostępniona gościowi"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Włącz rozmowy telefoniczne i SMS-y"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Przyznaj uprawnienia administratora"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"sieć, stan sieci komórkowej, stan usługi, moc sygnału, typ sieci komórkowej, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"numer seryjny, wersja sprzętu"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"informacje o baterii, data produkcji, liczba cykli, pierwsze użycie"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"stan aktualizacji zabezpieczeń Androida, wersja pasma podstawowego, wersja jądra"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"motyw, jasny, ciemny, tryb, światłowstręt, fotofobia, przyciemnij, przyciemnienie, tryb ciemny, migrena"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"ciemny motyw"</string>
@@ -3855,12 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Ustawienie domyślne urządzenia"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Nie udało się zastosować nakładki"</string>
     <string name="special_access" msgid="1767980727423395147">"Aplikacje ze specjalnym dostępem"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> aplikacje mogą używać nieograniczonej ilości danych</item>
-      <item quantity="many"><xliff:g id="COUNT">%d</xliff:g> aplikacji może używać nieograniczonej ilości danych</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplikacji może używać nieograniczonej ilości danych</item>
-      <item quantity="one">1 aplikacja może używać nieograniczonej ilości danych</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Pokaż więcej"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Długotrwałe zadania w tle"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Zezwól na długotrwałe zadania w tle"</string>
@@ -4148,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Przełączanie zmian zgodności aplikacji"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Zmiany domyślnie włączonych"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Zmiany domyślnie zablokowanych"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Brak aplikacji"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Kompatybilność aplikacji można zmieniać tylko w aplikacjach z możliwością debugowania. Zainstaluj aplikację z możliwością debugowania i spróbuj ponownie."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Zależy od innego ustawienia"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Konto"</string>
@@ -4361,8 +4367,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">"Wymuszaj tryb ciemny"</string>
-    <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Wymuszanie trybu ciemnego zawsze będzie włączone"</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="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>
@@ -4668,7 +4674,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Wyłącz ograniczenia procesów podrzędnych aplikacji"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Wyłącz ograniczenia dotyczące wykorzystywania zasobów systemowych w procesach podrzędnych aplikacji"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Wymuszaj włączenie roli Notatki"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Włącz integracje systemowe do robienia notatek w ramach roli Notatki. Jeśli rola Notatki jest już włączona, nie jest wymagane żadne działanie."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Włącz integracje systemowe do robienia notatek w ramach roli Notatki. Jeśli rola Notatki jest już włączona, to ustawienie nie będzie miało żadnego wpływu. Wymaga ponownego uruchomienia."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Komunikat"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Transmituj aplikację <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Posłuchaj komunikatów odtwarzanych w pobliżu"</string>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index c7484e4..3eb5376 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth ativado"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Ver todos"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stylus"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"App de notas padrão"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Pressionar o botão da stylus"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (perfil de trabalho)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Escreva nos campos de texto"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorar todos os pressionamentos de botão com a stylus"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatura"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Primeiro dia da semana"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Preferências de números"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Usar o padrão do app"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Usar padrão"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Domingo"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Versão do kernel"</string>
     <string name="build_number" msgid="9009733242117579826">"Número da versão"</string>
     <string name="module_version" msgid="1787518340082046658">"Atualização do sistema do Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Informações da bateria"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Não disponível"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Armazenamento"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Armazenamento e cache"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Endereço Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Número de série"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Tempo em atividade"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Data de fabricação"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Data do primeiro uso"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Contagem de ciclos"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Indisponível"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Calculando..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Renomear"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Montar"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Todas as configurações de Wi-Fi e Bluetooth serão redefinidas. Não é possível desfazer essa ação."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Reiniciar"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"O Bluetooth e o Wi-Fi foram redefinidos"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Limpar"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Limpar eSIMs"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Isso não cancelará nenhum plano de serviços móveis. Para fazer o download de chips substitutos, entre em contato com a operadora."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Redefinir configurações"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Também usar o padrão para o desbloqueio"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Também usar o PIN para o desbloqueio"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Também usar a senha para o desbloqueio"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Verificar padrão"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Verificar PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Verificar senha"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Use o padrão do dispositivo para continuar"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Insira o PIN do dispositivo para continuar"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Insira a senha do dispositivo para continuar"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"PIN incorreto"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Senha incorreta"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Padrão incorreto"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Visualizar por apps"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Visualizar por sistemas"</string>
     <string name="battery_usage_less_than_percent" msgid="5873099028895001082">"Menos de <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="battery_cycle_count_footer" msgid="3642121059800373545">"Devido a inspeções de qualidade realizadas antes do envio, a contagem de ciclos pode não estar zerada no primeiro uso"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Estatísticas de processo"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Estatísticas detalhadas sobre os processos em execução"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Uso da memória"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Excluir atividade do convidado?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Os apps e dados desta sessão de convidado serão excluídos agora e toda a atividade futura será excluída sempre que você sair do modo convidado"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"excluir, convidado, atividade, remover, dados, visitante, apagar"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Permitir que o visitante use o telefone"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Permitir que o convidado faça ligações"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"O histórico de ligações será compartilhado com o usuário visitante"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Ativar chamadas telefônicas e SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Tornar esse usuário um administrador"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"rede, estado da rede móvel, status do serviço, potência do sinal, tipo de rede móvel, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"número de série, versão do hardware"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"informações da bateria, data de fabricação, contagem de ciclos, primeiro uso"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"nível do patch de segurança do android, versão da banda de base, versão do kernel"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, claro, escuro, modo, sensibilidade à luz, fotofobia, escurecer, deixar mais escuro, modo escuro, enxaqueca"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"tema escuro"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Padrão do dispositivo"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Falha ao aplicar sobreposição"</string>
     <string name="special_access" msgid="1767980727423395147">"Acesso especial para apps"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> app pode usar dados ilimitados</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apps podem usar dados ilimitados</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Ver mais"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Tarefas em segundo plano longas"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Permitir tarefas em segundo plano de longa duração"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Alternar mudanças de compatibilidade do app"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Mudanças ativadas padrão"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Mudanças desativadas padrão"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Nenhum app dispon."</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"As mudanças na compatibilidade de apps só podem ser modificadas para apps depuráveis. Instale um app depurável e tente novamente."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Depende de outra configuração"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Conta"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Desativar restrições de processos filhos"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Desativar as restrições no uso de recursos do sistema dos processos filhos do app"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Forçar a ativação da função Notas"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Permitir integrações do sistema de anotações pela função Notas. Se essa função já estiver ativada, nada será feito."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Permitir integrações do sistema de anotações pela função Notas. Se essa função já estiver ativada, nada será feito. É necessário reinicializar o dispositivo."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Transmitir"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Transmitir <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Ouça transmissões que estão perto de você"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 8c790e3..3d9ffeb 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">"Quer desl. o dispositivo?"</string>
+    <string name="bluetooth_disconnect_title" msgid="4581951246357823044">"Pretende 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> 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_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_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>
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth ativado"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Ver todos"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Caneta stylus"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"App de notas predefinida"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Botão da caneta stylus premido"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (perfil de trabalho)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Escrever em campos de texto"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorar todos os botões premidos com a caneta stylus"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Caneta stylus"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatura"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Primeiro dia da semana"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Preferências de números"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Usar predefinição da app"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Usar predefinição"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Domingo"</string>
@@ -446,15 +447,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">"Quer ignorar a configuração do PIN?"</string>
+    <string name="lock_screen_pin_skip_title" msgid="6853866579893458111">"Pretende 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">"Quer ignorar configuração da palavra-passe?"</string>
+    <string name="lock_screen_password_skip_title" msgid="8891463713793185768">"Pretende 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">"Quer ignorar a configuração do padrão?"</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_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>
@@ -659,7 +660,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">"Quer desassociar a app?"</string>
+    <string name="bluetooth_companion_app_remove_association_dialog_title" msgid="1344518601377991897">"Pretende 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>
@@ -697,8 +698,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> 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="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="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>
@@ -796,7 +797,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">"Quer adicionar este dispositivo a “<xliff:g id="SSID">%1$s</xliff:g>”?"</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_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>
@@ -824,11 +825,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> 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_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_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. Quer manter a ligação?"</string>
+    <string name="no_internet_access_text" msgid="3611993143350310936">"Esta rede não tem acesso à Internet. Pretende 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>
@@ -885,7 +886,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">"Quer 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">"Pretende 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>
@@ -923,11 +924,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">"Quer guardar esta rede?"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Pretende 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">"Quer guardar as redes?"</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Pretende 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>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Versão do kernel"</string>
     <string name="build_number" msgid="9009733242117579826">"Número de compilação"</string>
     <string name="module_version" msgid="1787518340082046658">"Atualização do sistema do Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Informações da bateria"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Não disponível"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Armazenamento"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Armazenamento e cache"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Endereço Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Número de série"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Tempo de actividade"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Data de fabrico"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Data da primeira utilização"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Número de ciclos"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Indisponível"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"A calcular..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Mudar o nome"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Montar"</string>
@@ -1182,7 +1188,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">"Quer esquecer <xliff:g id="NAME">^1</xliff:g>?"</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" 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>
@@ -1269,14 +1275,13 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Esta ação repõe todas as definições de Wi‑Fi e Bluetooth. Não é possível anular esta ação."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Repor"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"O Bluetooth e o Wi-Fi foram repostos"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Apagar"</string>
     <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">"Quer repor todas as definições de rede? Não é possível anular esta ação."</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_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">"Quer repor?"</string>
+    <string name="reset_network_confirm_title" msgid="913014422184481270">"Pretende 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>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Usar padrão para desbloquear o dispositivo"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Usar PIN para desbloquear o dispositivo"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Usar palavra-passe p/ desbloq. dispositivo"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Valide o padrão"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Valide o PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Valide a palavra-passe"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Use o padrão do dispositivo para continuar"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Introduza o PIN do dispositivo para continuar"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Introduza a palavra-passe do dispositivo para continuar"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"PIN incorreto"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Palavra-passe incorreta"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Padrão incorreto"</string>
@@ -1495,7 +1506,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">"Quer utilizar um bloqueio?"</string>
+    <string name="lock_settings_profile_unification_dialog_title" msgid="5163178097464820825">"Pretende 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>
@@ -1812,7 +1823,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 quer ampliar"</string>
+    <string name="accessibility_magnification_mode_dialog_title" msgid="9151027667059878578">"Escolha como pretende 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>
@@ -2165,7 +2176,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">"Quer limitar a atividade 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_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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Ver por apps"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Ver por sistemas"</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">"Devido a inspeções de qualidade antes do envio, a contagem de ciclos pode não ser zero na primeira utilização"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Estatísticas do Processo"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Estatísticas de peritos acerca dos processos em execução"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Utilização da memória"</string>
@@ -2427,7 +2439,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">"Quer remover esta app?"</string>
+    <string name="remove_credential_management_app_dialog_title" msgid="5713525435104706772">"Pretende 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>
@@ -2448,7 +2460,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">"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_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_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>
@@ -2602,12 +2614,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">"Quer desligar esta VPN?"</string>
+    <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Pretende 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">"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_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_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>
@@ -2626,7 +2638,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">"Quer exigir uma ligação VPN?"</string>
+    <string name="vpn_require_connection_title" msgid="4186758487822779039">"Pretende 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>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Eliminar a atividade de convidado?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"As apps e os dados desta sessão de convidado vão ser eliminados agora e toda a atividade de convidado futura é eliminada sempre que sair do modo convidado"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"eliminar, convidado, atividade, remover, dados, visitante, apagar"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Permitir que o convidado use o telemóvel"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Permitir que o convidado faça chamadas"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"O histórico de chamadas vai ser partilhado com o utilizador convidado"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Ativar chamadas telefónicas e SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Definir este utilizador como um administrador"</string>
@@ -2759,7 +2771,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 AMBER"</string>
+    <string name="amber_alerts_title" msgid="5238275758191804575">"Alertas ÂMBAR"</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>
@@ -2779,8 +2791,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">"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_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_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>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"rede, estado da rede móvel, estado do serviço, intensidade do sinal, tipo de rede móvel, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"número de série, versão de hardware"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"informações da bateria, data de fabrico, número de ciclos, primeira utilização"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"nível de patch de segurança android, versão da banda de base, versão do kernel"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, luz, modo, escuro, sensibilidade à luz, fotofobia, tornar mais escuro, escurecer, modo escuro, enxaqueca"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"tema escuro"</string>
@@ -3107,7 +3120,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">"Quer alterar as definições de notificação do modo Não incomodar?"</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="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>
@@ -3193,7 +3206,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 quer 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 pretende 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>
@@ -3583,7 +3596,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">"Quer partilhar o relatório de erro?"</string>
+    <string name="share_remote_bugreport_dialog_title" msgid="1575283098565582433">"Pretende 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>
@@ -3651,7 +3664,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">"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_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_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>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Predefinição do dispositivo"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Falha ao aplicar a sobreposição."</string>
     <string name="special_access" msgid="1767980727423395147">"Acesso especial a apps"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apps podem utilizar dados sem restrições</item>
-      <item quantity="one">1 app pode utilizar dados sem restrições</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Veja mais"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Tarefas longas em 2.º plano"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Permitir tarefas de longa duração em segundo plano"</string>
@@ -4062,7 +4071,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">"Quer esvaziar o lixo?"</string>
+    <string name="storage_trash_dialog_title" msgid="2296169576049935200">"Pretende 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>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Ativar/desativar alterações de compatibilidade das apps"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Alterações ativadas predefinidas"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Alterações desativadas predefinidas"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Sem apps disponíveis"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"As alterações de compatibilidade das apps apenas podem ser modificadas para apps depuráveis. Instale uma app depurável e tente novamente."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Esta definição depende de outra."</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Conta"</string>
@@ -4307,9 +4315,9 @@
     <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">"Quer utilizar 2 SIMs?"</string>
+    <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Pretende 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">"Quer reiniciar o dispositivo?"</string>
+    <string name="sim_action_restart_title" msgid="7054617569121993825">"Pretende 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>
@@ -4330,7 +4338,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">"Quer utilizar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</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_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>
@@ -4342,7 +4350,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> quer 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> pretende 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>
@@ -4369,7 +4377,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">"Quer enviar-nos comentários acerca desta sugestão?"</string>
+    <string name="contextual_card_feedback_confirm_message" msgid="3186334562157665381">"Pretende 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>
@@ -4489,7 +4497,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">"Quer repor a Internet?"</string>
+    <string name="reset_your_internet_title" msgid="4856899004343241310">"Pretende 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>
@@ -4521,12 +4529,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 quer aceder às suas mensagens. Toque para obter detalhes."</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_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>, 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_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_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>, 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="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="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>
@@ -4587,9 +4595,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 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_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_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>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Desativar restrições de processos secundários"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Desative as restrições de utilização dos recursos do sistema pelos processos secundários da app"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Force a ativação da função Notas"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Ative as integrações do sistema de notas através da função Notas. Se a função Notas já estiver ativada, não faz nada."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Ative as integrações do sistema de notas através da função Notas. Se a função Notas já estiver ativada, não faz nada. É necessário reiniciar."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Transmissão"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Transmita a app <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Ouça transmissões em reprodução perto de si"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index c7484e4..3eb5376 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth ativado"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Ver todos"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stylus"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"App de notas padrão"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Pressionar o botão da stylus"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (perfil de trabalho)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Escreva nos campos de texto"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorar todos os pressionamentos de botão com a stylus"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatura"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Primeiro dia da semana"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Preferências de números"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Usar o padrão do app"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Usar padrão"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Domingo"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Versão do kernel"</string>
     <string name="build_number" msgid="9009733242117579826">"Número da versão"</string>
     <string name="module_version" msgid="1787518340082046658">"Atualização do sistema do Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Informações da bateria"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Não disponível"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Armazenamento"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Armazenamento e cache"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Endereço Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Número de série"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Tempo em atividade"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Data de fabricação"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Data do primeiro uso"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Contagem de ciclos"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Indisponível"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Calculando..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Renomear"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Montar"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Todas as configurações de Wi-Fi e Bluetooth serão redefinidas. Não é possível desfazer essa ação."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Reiniciar"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"O Bluetooth e o Wi-Fi foram redefinidos"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Limpar"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Limpar eSIMs"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Isso não cancelará nenhum plano de serviços móveis. Para fazer o download de chips substitutos, entre em contato com a operadora."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Redefinir configurações"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Também usar o padrão para o desbloqueio"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Também usar o PIN para o desbloqueio"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Também usar a senha para o desbloqueio"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Verificar padrão"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Verificar PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Verificar senha"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Use o padrão do dispositivo para continuar"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Insira o PIN do dispositivo para continuar"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Insira a senha do dispositivo para continuar"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"PIN incorreto"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Senha incorreta"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Padrão incorreto"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Visualizar por apps"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Visualizar por sistemas"</string>
     <string name="battery_usage_less_than_percent" msgid="5873099028895001082">"Menos de <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="battery_cycle_count_footer" msgid="3642121059800373545">"Devido a inspeções de qualidade realizadas antes do envio, a contagem de ciclos pode não estar zerada no primeiro uso"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Estatísticas de processo"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Estatísticas detalhadas sobre os processos em execução"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Uso da memória"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Excluir atividade do convidado?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Os apps e dados desta sessão de convidado serão excluídos agora e toda a atividade futura será excluída sempre que você sair do modo convidado"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"excluir, convidado, atividade, remover, dados, visitante, apagar"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Permitir que o visitante use o telefone"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Permitir que o convidado faça ligações"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"O histórico de ligações será compartilhado com o usuário visitante"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Ativar chamadas telefônicas e SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Tornar esse usuário um administrador"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"rede, estado da rede móvel, status do serviço, potência do sinal, tipo de rede móvel, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"número de série, versão do hardware"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"informações da bateria, data de fabricação, contagem de ciclos, primeiro uso"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"nível do patch de segurança do android, versão da banda de base, versão do kernel"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, claro, escuro, modo, sensibilidade à luz, fotofobia, escurecer, deixar mais escuro, modo escuro, enxaqueca"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"tema escuro"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Padrão do dispositivo"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Falha ao aplicar sobreposição"</string>
     <string name="special_access" msgid="1767980727423395147">"Acesso especial para apps"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> app pode usar dados ilimitados</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> apps podem usar dados ilimitados</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Ver mais"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Tarefas em segundo plano longas"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Permitir tarefas em segundo plano de longa duração"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Alternar mudanças de compatibilidade do app"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Mudanças ativadas padrão"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Mudanças desativadas padrão"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Nenhum app dispon."</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"As mudanças na compatibilidade de apps só podem ser modificadas para apps depuráveis. Instale um app depurável e tente novamente."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Depende de outra configuração"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Conta"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Desativar restrições de processos filhos"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Desativar as restrições no uso de recursos do sistema dos processos filhos do app"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Forçar a ativação da função Notas"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Permitir integrações do sistema de anotações pela função Notas. Se essa função já estiver ativada, nada será feito."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Permitir integrações do sistema de anotações pela função Notas. Se essa função já estiver ativada, nada será feito. É necessário reinicializar o dispositivo."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Transmitir"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Transmitir <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Ouça transmissões que estão perto de você"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index e5ccc0f..ecbb88e 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Funcția Bluetooth activată"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Afișează-le pe toate"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Creion"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Aplicația prestabilită pentru note"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Apăsarea butonului creionului"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (profil de serviciu)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Scrie în câmpurile text"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignoră toate apăsările de butoane ale creionului"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Creion"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatură"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Prima zi a săptămânii"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Preferințe numerice"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Folosește setarea prestabilită a aplicației"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Folosește setarea prestabilită"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Duminică"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Versiune nucleu"</string>
     <string name="build_number" msgid="9009733242117579826">"Numărul versiunii"</string>
     <string name="module_version" msgid="1787518340082046658">"Actualizare de sistem Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Informații despre baterie"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Indisponibil"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Stocare"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Spațiul de stocare și memoria cache"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Adresă Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Număr de serie"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Durată de funcționare"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Data fabricării"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Data primei folosiri"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Numărul de cicluri"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Indisponibil"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Se calculează..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Redenumește"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Montează"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Astfel vor fi resetate toate setările pentru Wi‑Fi și Bluetooth. Nu poți anula această acțiune."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Resetează"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth și Wi‑Fi au fost resetate"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Șterge"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Șterge cartelele eSIM"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Acest lucru nu va anula niciun abonament de servicii mobile. Pentru a descărca SIM-uri de înlocuire, contactează operatorul."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Resetează opțiunile"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Folosește și modelul pentru deblocare"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Folosește și PIN-ul pentru deblocare"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Folosește și parola pentru deblocare"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Confirmă modelul"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Confirmă codul PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Confirmă parola"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Pentru a continua, folosește modelul dispozitivului"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Pentru a continua, introdu codul PIN al dispozitivului"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Pentru a continua, introdu parola dispozitivului"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Cod PIN greșit"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Parolă greșită"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Model greșit"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Vezi după aplicații"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Vezi după sisteme"</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">"Este posibil ca numărul de cicluri să nu fie zero la prima utilizare datorită inspecțiilor de calitate realizate înaintea expedierii"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Statistici de proces"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Statistici inteligente despre procesele care rulează"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Utilizarea memoriei"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Ștergi activitatea invitatului?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Aplicațiile și datele din această sesiune pentru invitați vor fi șterse acum și toate activitățile viitoare ale invitaților vor fi șterse de fiecare dată când ieși din modul pentru invitați"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"șterge, invitat, activitate, elimină, date, vizitator, golește"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Invitații pot folosi telefonul"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Permite invitatului să inițieze apeluri"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Utilizatorul invitat va avea acces la istoricul apelurilor"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Activează apelurile telefonice și SMS-urile"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Setează acest utilizator ca administrator"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"rețea, starea rețelei mobile, starea acoperirii, puterea semnalului, tip de rețea mobilă, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"număr de serie, versiune de hardware"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"informații despre baterie, data fabricării, numărul de cicluri, prima folosire"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"nivelul corecției de securitate Android, versiunea benzii de bază, versiune nucleu"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"temă, luminozitate, întunecat, mod, sensibilitate la lumină, fotofobie, întunecă, modul întunecat, migrenă"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"temă întunecată"</string>
@@ -3855,11 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Prestabilit pentru dispozitiv"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Nu s-a reușit aplicarea suprapunerii"</string>
     <string name="special_access" msgid="1767980727423395147">"Acces special pentru aplicații"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> aplicații pot folosi date nerestricționate</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> de aplicații pot folosi date nerestricționate</item>
-      <item quantity="one">1 aplicație poate folosi date nerestricționate</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Vezi mai multe"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Activități de durată în fundal"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Permite activitățile îndelungate în fundal"</string>
@@ -4147,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Activează / dezactivează modificările compatibilității aplicației"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Modificări activate prestabilite"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Modificări dezactivate prestabilite"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Nicio aplicație"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Compatibilitatea aplicațiilor poate fi modificată numai pentru aplicațiile care pot fi remediate. Instalează o aplicație care poate fi remediată și încearcă din nou."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Depinde de altă setare"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Cont"</string>
@@ -4666,7 +4673,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Dezactivează restricțiile pentru procese secundare"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Dezactivează restricțiile pentru folosirea resurselor sistemului de către procesele secundare ale aplicațiilor"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Activează forțat rolul Note"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Activează integrările de sistem pentru luat notițe prin intermediul rolului Note. Dacă rolul Note este deja activat, nu face nimic."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Activează integrările de sistem pentru luat notițe prin intermediul rolului Note. Dacă rolul Note este deja activat, nu face nimic. Necesită repornirea."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Transmite"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Difuzează <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Ascultă transmisii care se redau în apropiere"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 1aa23d0..a77beb6 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Модуль Bluetooth включен"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Показать все"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Стилус"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Приложение для заметок по умолчанию"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Нажатие кнопки на конце стилуса"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (рабочий профиль)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Единицы измерения температуры"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Первый день недели"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Настройки чисел"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Зависит от приложения"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Использовать по умолчанию"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Градусы Цельсия (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Градусы Фаренгейта (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Воскресенье"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Версия ядра"</string>
     <string name="build_number" msgid="9009733242117579826">"Номер сборки"</string>
     <string name="module_version" msgid="1787518340082046658">"Обновление системы через Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Информация о батарее"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Недоступно"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Хранилище"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Хранилище и кеш"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Адрес Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Серийный номер"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Время с момента включения"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Дата изготовления"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Дата первого использования"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Количество циклов"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Недоступно"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Идет подсчет..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Переименовать"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Подключить"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Настройки Wi‑Fi и Bluetooth будут сброшены. Это действие нельзя отменить."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Сбросить"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Настройки Bluetooth и Wi‑Fi сброшены."</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Стереть"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Удалить все данные eSIM"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Это действие не отменит ваши тарифные планы. Чтобы скачать новые SIM-карты, обратитесь к оператору связи."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Сбросить настройки"</string>
@@ -1458,6 +1463,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>
+    <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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Приложения"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Системные сервисы"</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">"Из-за проверки качества перед доставкой количество циклов зарядки может отличаться от нуля при первом использовании."</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Статистика процессов"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Статистика запущенных процессов"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Использование памяти"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Удалить историю гостевого сеанса?"</string>
     <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="8300355036005240911">"Открыть гостю доступ к звонкам"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Разрешить гостям совершать звонки"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Гость получит доступ к журналу звонков"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Включить звонки и SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Назначить этого пользователя администратором"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"сеть, подключение к мобильной сети, доступность мобильной сети, уровень сигнала, тип мобильной сети, роуминг, ICCID, EID"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"серийный номер, версия аппаратного обеспечения"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"информация о батарее, дата изготовления, количество циклов, дата первого использования"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"обновление системы безопасности, прошивка модуля связи, версия ядра"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"тема, свет, темнота, режим, светобоязнь, фотофобия, сделать темнее, затемнить, тёмная тема, мигрень"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"темная тема"</string>
@@ -3855,12 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Вариант по умолчанию"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Не удалось применить наложение"</string>
     <string name="special_access" msgid="1767980727423395147">"Специальный доступ"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> приложение без ограничений мобильного интернета</item>
-      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> приложения без ограничений мобильного интернета</item>
-      <item quantity="many"><xliff:g id="COUNT">%d</xliff:g> приложений без ограничений мобильного интернета</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> приложения без ограничений мобильного интернета</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Ещё"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Продолжительные фоновые задачи"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Разрешить продолжительные фоновые задачи"</string>
@@ -4148,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Показывать изменение настроек совместимости приложений"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Изменения, включенные по умолчанию"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Изменения, отключенные по умолчанию"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Нет приложений"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Настраивать изменение параметров совместимости можно только для приложений, доступных для отладки. Установите такое приложение и повторите попытку."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Эту настройку нельзя изменить, так как она зависит от других параметров."</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Аккаунт"</string>
@@ -4668,7 +4674,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Отключить ограничения для дочерних процессов"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Отключить ограничения на использование системных ресурсов для дочерних процессов приложения"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Принудительно включить роль приложений для заметок"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Разрешить интеграцию систем для заметок через роль приложений для заметок. Если эта роль уже используется, ничего не произойдет."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Разрешить интеграцию систем для заметок через роль приложений для заметок. Если эта роль уже используется, ничего не произойдет. Требуется перезагрузка."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Трансляция"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Транслировать \"<xliff:g id="CURRENTAPP">%1$s</xliff:g>\""</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Подключайтесь к трансляциям рядом с вами."</string>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index f746435..1a2c3ec 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"බ්ලූටූත් ක්‍රියාත්මක කරන ලදී"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"සියල්ල බලන්න"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"පන්හිඳ"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"පෙරනිමි සටහන් යෙදුම"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"කෙළවර බොත්තම එබීම"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (කාර්යාල පැතිකඩ)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"උෂ්ණත්වය"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"සතියෙහි පළමු දිනය"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"අංක මනාප"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"යෙදුම් පෙරනිමිය භාවිතා කරන්න"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"පෙරනිමිය භාවිතා කරන්න"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"සෙල්සියස් (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"ෆැරන්හයිට් (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"ඉරිදා"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"කර්නලයේ අනුවාදය"</string>
     <string name="build_number" msgid="9009733242117579826">"නිමැවුම් අංකය"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play පද්ධති යාවත්කාලීනය"</string>
+    <string name="battery_info" msgid="7873528123969546728">"බැටරි තොරතුරු"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"ලද නොහැක"</string>
     <string name="storage_settings" msgid="7472188817781592677">"ආචයනය"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"ආචයනය සහ හැඹිලිය"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"බ්ලූටූත් ලිපිනය"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"අනුක්‍රමාංකය"</string>
     <string name="status_up_time" msgid="1274778533719495438">"ක්‍රියාකාරීව ඇති කාලය"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"නිෂ්පාදන දිනය"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"පළමු භාවිතයේ දිනය"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"චක්‍ර ගණන"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"නොමැත"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"ගණනය කරමින්…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"යළි නම් කරන්න"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"නංවන්න"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"මෙය සියලු Wi-Fi සහ බ්ලූටූත් සැකසීම් යළි සකසනු ඇත. ඔබට මෙම ක්‍රියාව පසුගමනය කළ නොහැක."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"යළි සකසන්න"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"බ්ලූටූත් සහ Wi‑Fi යළි සකසා ඇත"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"මකන්න"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIMs මකන්න"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"මෙය ජංගම සේවා සැලසුම් කිසිවක් අවලංගු නොකරනු ඇත. ප්‍රතිස්ථාපන SIM බාගැනීමට, ඔබගේ වාහකය අමතන්න."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"සැකසීම් යළි පිහිටුවන ලදි"</string>
@@ -1458,6 +1463,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>
+    <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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"යෙදුම් අනුව බලන්න"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"පද්ධති අනුව බලන්න"</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">"නැව්ගත කිරීමට පෙර තත්ත්ව පරීක්ෂණ හේතුවෙන්, පළමු භාවිතයේ දී චක්‍ර ගණන ශුන්‍ය නොවිය හැක"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"ක්‍රියාවලි සංඛ්‍යා ලේඛන"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"ධාවන ක්‍රියාවලි පිළිබඳ ගීක සංඛ්‍යා ලේඛන"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"මතක භාවිතය"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"ආගන්තුක ක්‍රියාකාරකම මකන්නද?"</string>
     <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="8300355036005240911">"අමුත්තාට දුරකථනය භාවිත කිරීමට ඉඩ දෙන්න"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"අමුත්තන්ට දුරකථන ඇමතුම් ගැනීමට ඉඩ දෙන්න"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"ඇමතුම් ඉතිහාසය අමුත්තා සමග බෙදා ගැනේ"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"දුරකථන ඇමතුම් සහ SMS ක්‍රියාත්මක කරන්න?"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"මෙම පරිශීලකයා පරිපාලකයෙකු කරන්න"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"ජාලය, ජංගම ජාල තත්ත්වය, සේවා තත්ත්වය, සංඥා ප්‍රබලතාව, ජංගම ජාල වර්ගය, සැරිසරණය, ICCID EID"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"අනුක්‍රමික අංකය, දෘඪාංග අනුවාදය"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"බැටරි තතු, නිෂ්පාදිත දිනය, චක්‍ර ගණන, පළමු භාවිතය"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"Android ආරක්ෂක පැච් මට්ටම, බේස්බෑන්ඩ් අනුවාදය, කර්නල් අනුවාදය"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"තේමාව, ළා, අඳුරු, ප්‍රකාරය, ආලෝක සංවේදීතාව, ෆොටෝෆෝබියා, වඩා අඳුරු කරන්න, අඳුරු කළ, අඳුරු ප්‍රකාරය, ඉරුවාරදය"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"අඳුරු තේමාව"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"උපාංගයේ පෙරනිමිය"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"උඩැතිරිය යෙදීමට අසමත් විය"</string>
     <string name="special_access" msgid="1767980727423395147">"විශේෂ යෙදුම් ප්‍රවේශය"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one">යෙදුම් <xliff:g id="COUNT">%d</xliff:g>කට සීමා නොකළ දත්ත භාවිතා කළ හැක</item>
-      <item quantity="other">යෙදුම් <xliff:g id="COUNT">%d</xliff:g>කට සීමා නොකළ දත්ත භාවිතා කළ හැක</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"තවත් බලන්න"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"දිග පසුබිම් කාර්ය"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"දිග වේලාවක් ධාවන වන පසුබිම් කාර්යවලට ඉඩ දෙන්න"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"යෙදුම් ගැළපෙන බව පිළිබඳ වෙනස් කිරීම් ටොගල් කරන්න"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"පෙරනිමි සබල කළ වෙනස් කිරීම්"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"පෙරනිමි අබල කළ වෙනස් කිරීම්"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"ලද හැකි යෙදුම් නැත"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"යෙදුම් ගැළපෙන බවේ වෙනස් කිරීම් නිදොස් කළ හැකි යෙදුම් සඳහා පමණක් වෙනස් කළ හැකිය. නිදොස් කළ හැකි යෙදුමක් ස්ථාපනය කර නැවත උත්සාහ කරන්න."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"වෙනත් සැකසීමක් මත රඳා පවතී"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"ගිණුම"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"ළමා ක්‍රියාවලි සීමාවන් අබල කරන්න"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"යෙදුම් ළමා ක්‍රියාවලීන් පද්ධතියෙහි සම්පත් භාවිතයේ සීමාවන් අබල කරන්න"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"සටහන් භූමිකාව බලෙන් සබල කරන්න"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"සටහන් භූමිකාව හරහා සටහන් ගැනීමේ පද්ධති ඒකාබද්ධ කිරීම් සබල කරන්න. සටහන් භූමිකාව දැනටමත් සබල කර ඇත්නම්, කිසිවක් නොකරයි."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"සටහන් භූමිකාව හරහා සටහන් ගැනීමේ පද්ධති ඒකාබද්ධ කිරීම් සබල කරන්න. සටහන් භූමිකාව දැනටමත් සබල කර ඇත්නම්, කිසිවක් නොකරයි. යළි පණ ගැන්වීම අවශ්‍යයි."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"විකාශනය"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> විකාශනය"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"ඔබ අසල වාදනය වන විකාශනවලට සවන් දෙන්න"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index abff690..b4f9e7e 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Rozhranie Bluetooth je zapnuté"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Zobraziť všetky"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Dotykové pero"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Predvolená aplikácia na poznámky"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Stlačenie tlačidla na tele pera"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (pracovný profil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Písanie v textových poliach"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorovať všetky stlačenia tlačidla dotykového pera"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Dotykové pero"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Teplota"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Prvý deň v týždni"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Predvoľby čísiel"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Použiť predvolené nastavenie aplikácie"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Použiť predvolené"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celzius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Nedeľa"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Verzia jadra"</string>
     <string name="build_number" msgid="9009733242117579826">"Číslo zostavy"</string>
     <string name="module_version" msgid="1787518340082046658">"Aktualizácia systému Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Informácie o batérii"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Nie je k dispozícii"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Priestor"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Ukladací priestor a vyrovnávacia pamäť"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Adresa Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Sériové číslo"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Dĺžka prevádzky"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Dátum výroby"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Dátum prvého použitia"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Počet cyklov"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Nedostupné"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Prebieha výpočet..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Premenovať"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Pripojiť"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Týmto sa resetujú všetky nastavenia rozhrania Bluetooth a pripojenia Wi‑Fi. Túto akciu nemôžete vrátiť späť."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Resetovať"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth a Wi‑Fi boli resetované"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Vymazať"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Vymazať eSIM karty"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Nezrušíte tým žiadne tarify mobilných služieb. Ak si chcete stiahnuť náhradné SIM karty, kontaktujte operátora."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Resetovať nastavenia"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Toto zariadenie odomykať aj vzorom"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Toto zariadenie odomykať aj kódom PIN"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Toto zariadenie odomykať aj heslom"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Overenie vzoru"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Overenie kódu PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Overenie hesla"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Ak chcete pokračovať, použite bezpečnostný vzor zariadenia"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Ak chcete pokračovať, zadajte PIN zariadenia"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Ak chcete pokračovať, zadajte heslo zariadenia"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Nesprávny kód PIN"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Nesprávne heslo"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Nesprávny vzor"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Zobraziť podľa aplikácií"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Zobraziť podľa systémov"</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">"Pred odoslaním sa vykonáva kontrola kvality, preto nemusí byť pri prvom použití počet cyklov nulový"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Štatistiky procesov"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Podrobné štatistiky spustených procesov"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Využitie pamäte"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Chcete odstrániť aktivitu hosťa?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Aplikácie a údaje z tejto relácie hosťa sa teraz odstránia a budúca aktivita hosťa sa odstráni vždy pri ukončení režimu pre hostí"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"odstrániť, hosť, aktivita, odobrať, údaje, návštevník, vymazať"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Povoliť hosťovi používať telefón"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Povoliť hosťom volať"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"S hosťom sa bude zdieľať história hovorov"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Zapnúť telefonáty a SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Nastaviť tohto používateľa ako správcu"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"sieť, stav mobilnej siete, stav služby, sila signálu, typ mobilnej siete, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"sériové číslo, hardvérová verzia"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"informácie o batérii, dátum výroby, počet cyklov, prvé použitie"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"úroveň opráv zabezpečenia androidu, verzia základného pásma, verzia jadra"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"motív, svetlý, tmavý, režim, svetloplachosť, fotofóbia, stmaviť, tmavý režim, migréna"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"tmavý motív"</string>
@@ -3855,12 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Predvolené nastavenie zariadenia"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Nepodarilo sa prekryť"</string>
     <string name="special_access" msgid="1767980727423395147">"Špeciálny prístup aplikácií"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="few">Neobmedzené dáta môžu používať <xliff:g id="COUNT">%d</xliff:g> aplikácie</item>
-      <item quantity="many">Neobmedzené dáta môže používať <xliff:g id="COUNT">%d</xliff:g> aplikácie</item>
-      <item quantity="other">Neobmedzené dáta môže používať <xliff:g id="COUNT">%d</xliff:g> aplikácií</item>
-      <item quantity="one">Neobmedzené dáta môže používať 1 aplikácia</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Zobraziť viac"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Dlhé úlohy na pozadí"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Povoliť dlhotrvajúce úlohy na pozadí"</string>
@@ -4148,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Prepínať zmeny kompatibility aplikácie"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Predvolené aktivované zmeny"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Predvolené deaktivované zmeny"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Žiadne aplikácie"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Zmeny kompatibility môžete upraviť iba v prípade laditeľných aplikácií. Nainštalujte si laditeľnú aplikáciu a skúste to znova."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Závisí od iného nastavenia"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Účet"</string>
@@ -4668,7 +4674,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Vypnúť obmedzenia podradených procesov"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Vypnúť obmedzenia podradených procesov na používanie zdroja systému"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Vynútiť povolenie roly Poznámky"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Povoľte integrácie systému na písanie poznámok prostredníctvom roly Poznámky. Ak je rola Poznámky už povolená, nič sa nestane."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Povoľte integrácie systému na písanie poznámok prostredníctvom roly Poznámky. Ak je rola Poznámky už povolená, nič sa nestane. Vyžaduje sa reštart."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Vysielanie"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Vysielanie aplikácie <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Počúvajte vysielania v okolí"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 77201c3..309385d 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth je vklopljen"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Pokaži vse"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Pisalo"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Privzeta aplikacija za zapiske"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Pritisk gumba pisala"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (delovni profil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Pisanje v besedilnih poljih"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Prezri vse pritiske gumbov pisala"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Pisalo"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatura"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Prvi dan v tednu"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Nastavitve številk"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Uporaba privzete nastavitve aplikacije"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Uporabi privzeto"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celzij (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"nedelja"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Različica jedra"</string>
     <string name="build_number" msgid="9009733242117579826">"Delovna različica"</string>
     <string name="module_version" msgid="1787518340082046658">"Posodobitev sistema prek Googla Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Informacije o bateriji"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Ni na voljo"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Shramba"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Shramba in predpomnilnik"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Naslov Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serijska številka"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Čas delovanja"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Datum izdelave"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Datum prve uporabe"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Število ciklov"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Ni na voljo"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Izračunavanje ..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Preimenuj"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Vpenjanje"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"S tem boste ponastavili vse nastavitve za Wi‑Fi in Bluetooth. Tega dejanja ni mogoče razveljaviti."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Ponastavi"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth in Wi‑Fi sta bila ponastavljena."</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Izbriši"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Izbris kartic e-SIM"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"S tem ne boste prekinili nobenega naročniškega paketa za mobilno telefonijo. Če želite prenesti nadomestne kartice SIM, se obrnite na operaterja."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Ponastavi nastavitve"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Ta naprava se lahko odklepa tudi z vzorcem"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Ta naprava se lahko odklepa tudi s kodo PIN"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Ta naprava se lahko odklepa tudi z geslom"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Potrdite vzorec"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Potrdite kodo PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Potrdite geslo"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Če želite nadaljevati, uporabite vzorec za napravo"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Če želite nadaljevati, vnesite kodo PIN za napravo"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Če želite nadaljevati, vnesite geslo za napravo"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Napačna koda PIN"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Napačno geslo"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Napačen vzorec"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Prikaz po aplikacijah"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Prikaz po sistemih"</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">"Zaradi pregledov kakovosti pred pošiljanjem bo število ciklov ob prvi uporabi morda večje od nič."</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Statistični podatki o procesih"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Statistični podatki o procesih, ki se izvajajo"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Poraba pomnilnika"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Želite izbrisati dejavnost gosta?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Aplikacije in podatki v tej seji gosta bodo zdaj izbrisani, prihodnja dejavnost gosta pa bo izbrisana vsakič, ko zaprete način za goste."</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"brisanje, gost, dejavnost, odstrani, podatki, obiskovalec, izbriši"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Gostu dovoli uporabo telefona"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Gostu dovoli opravljanje telefonskih klicev"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Zgodovina klicev bo deljena s tem gostom."</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Vklopi telefonske klice in sporočila SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Spremeni tega uporabnika v skrbnika"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"omrežje, stanje mobilnega omrežja, stanje storitve, moč signala, vrsta mobilnega omrežja, gostovanje, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"serijska številka, različica strojne opreme"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"informacije o bateriji, datum izdelave, število ciklov, prva uporaba"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"raven varnostnih popravkov za android, različica radijske programske opreme, različica jedra"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, svetla, temna, način, občutljivost na svetlobo, fotofobija, naredi temnejše, potemni, temni način, migrena"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"temna tema"</string>
@@ -3855,12 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Privzeta nastavitev naprave"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Prekrivanje ni uspelo"</string>
     <string name="special_access" msgid="1767980727423395147">"Posebni dostop za aplikacije"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> aplikaciji je dovoljen neomejen prenos podatkov.</item>
-      <item quantity="two"><xliff:g id="COUNT">%d</xliff:g> aplikacijama je dovoljen neomejen prenos podatkov.</item>
-      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> aplikacijam je dovoljen neomejen prenos podatkov.</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplikacijam je dovoljen neomejen prenos podatkov.</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Prikaži več"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Dolgotrajna opravila v ozadju"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Dovoli dolgotrajna opravila v ozadju"</string>
@@ -4148,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Vklop/izklop sprememb združljivosti aplikacij"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Privzeto omogočene spremembe"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Privzeto onemogočene spremembe"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Ni aplikacij"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Spremembe združljivosti aplikacij je mogoče spreminjati samo za aplikacije z možnostjo odpravljanja napak. Namestite aplikacijo z možnostjo odpravljanja napak in poskusite znova."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Ta nastavitev je odvisna od druge nastavitve"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Račun"</string>
@@ -4668,7 +4674,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Onemogoči omejitve za podrejene procese"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Onemogoči omejitev uporabe sistemskih sredstev za podrejene procese aplikacije."</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Vsili omogočanje vloge »Zapiski«"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Omogočanje integracij sistema za ustvarjanje zapiskov prek vloge »Zapiski«. Če je vloga »Zapiski« že omogočena, se ne zgodi nič."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Omogočanje integracij sistema za ustvarjanje zapiskov prek vloge »Zapiski«. Če je vloga »Zapiski« že omogočena, se ne zgodi nič. Zahteva vnovični zagon."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Oddajanje"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Oddajaj aplikacijo <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Poslušajte oddajanja, ki se predvajajo v bližini."</string>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 929879d..c78d125 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth-i është i aktivizuar"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Shiko të gjitha"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stilolapsi"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Aplikacioni i parazgjedhur për shënimet"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Shtypja e butonit të bishtit"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Profili i punës)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Shkruaj në fushat e tekstit"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Shpërfill të gjitha shtypjet e butonave me stilolapsin"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stilolapsi"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatura"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Dita e parë e javës"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Preferencat e numrave"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Përdor parazgjedhjen e aplikacionit"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Përdor fotografinë e parazgjedhur"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Farenhait (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"E diel"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Versioni i bërthamës"</string>
     <string name="build_number" msgid="9009733242117579826">"Numri i ndërtimit"</string>
     <string name="module_version" msgid="1787518340082046658">"Përditësimi i sistemit të Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Informacione për baterinë"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Nuk ofrohet"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Hapësira ruajtëse"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Hapësira ruajtëse dhe memoria specifike"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Adresa e Bluetooth-it"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Numri i serisë"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Koha aktive"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Data e prodhimit"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Data e përdorimit për herë të parë"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Numri i cikleve"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Nuk ofrohet"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Po llogarit…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Riemërto"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Monto"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Kjo do të rivendosë të gjitha cilësimet e Wi‑Fi dhe Bluetooth. Nuk mund ta zhbësh këtë veprim."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Rivendos"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth dhe Wi‑Fi janë rivendosur"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Spastro"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Spastro eSIM-et"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Kjo nuk do të anulojë planet e shërbimit celular. Për të shkarkuar karta zëvendësuese SIM, kontakto me operatorin celular."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Rivendos cilësimet"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Përdor motivin për të shkyçur pajisjen"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Përdor PIN-in për të shkyçur këtë pajisje"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Përdor fjalëkalimin për të shkyçur pajisjen"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Verifiko motivin"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Verifiko kodin PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Verifiko fjalëkalimin"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Përdor motivin e pajisjes për të vazhduar"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Fut kodin PIN të pajisjes për të vazhduar"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Fut fjalëkalimin e pajisjes për të vazhduar"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Kod PIN i gabuar"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Fjalëkalim i gabuar"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Motiv i gabuar"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Pamja sipas aplikacioneve"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Pamja sipas sistemeve"</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">"Për shkak të inspektimeve të cilësisë para transportit, numri i cikleve mund të mos jetë zero në përdorimin e parë"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Statistikat e procesit"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Statistikat teknike për proceset në ekzekutim"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Përdorimi i memories"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Të fshihet aktiviteti i vizitorit?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Tani aplikacionet dhe të dhënat nga ky sesion për vizitorë do të fshihen dhe të gjitha aktivitetet e ardhshme të vizitorit do të fshihen sa herë që të dalësh nga modaliteti \"vizitor\""</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"fshi, vizitor, aktivitet, hiq, të dhëna, i ftuar, spastro"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Lejo vizitorin të përdorë telefonin"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Lejo vizitorin të bëjë telefonata"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Historiku i telefonatave do të ndahet me këtë përdorues vizitor"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Aktivizo telefonatat dhe SMS-të"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Bëje administrator këtë përdorues"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"rrjeti, gjendja e rrjetit celular, gjendja e shërbimit, fuqia e sinjalit, lloji i rrjetit celular, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"numri i serisë, versioni i harduerit"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"informacione për baterinë, data e prodhimit, numri i cikleve, përdorimi për herë të parë"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"niveli i korrigjimit të sigurisë së Android, versioni i brezit të bazës, versioni i bërthamës"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, e çelët, e errët, modaliteti, ndjeshmëria ndaj dritës, fotofobia, bëje më të errët, errëso, modaliteti i errët, migrenë"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"tema e errët"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Parazgjedhja e pajisjes"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Zbatimi i mbivendosjes dështoi"</string>
     <string name="special_access" msgid="1767980727423395147">"Qasja e veçantë e apl."</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> aplikacione mund të përdorin të dhëna të pakufizuara</item>
-      <item quantity="one">1 aplikacion mund të përdorë të dhëna të pakufizuara</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Shiko më shumë"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Detyrat e gjata në sfond"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Lejo detyrat në sfond për një kohë të gjatë"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Aktivizo ose çaktivizo ndryshimet e përputhshmërisë së aplikacionit"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Ndryshimet të aktivizuara si parazgjedhje"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Ndryshimet të çaktivizuara si parazgjedhje"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Nuk ofrohet asnjë aplikacion"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Ndryshimet e pajtueshmërisë së aplikacionit mund të modifikohen vetëm për aplikacionet e korrigjueshme. Instalo një aplikacion të korrigjueshëm dhe provo përsëri."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Varet nga një cilësim tjetër"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Llogaria"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Çaktivizo kufizimet e procesit dytësor"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Çaktivizo kufizimet në përdorimin e burimeve të sistemit të proceseve dytësore të aplikacionit"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Aktivizo me forcë rolin e mbajtjes së shënimeve"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Aktivizo integrimet e sistemit të mbajtjes së shënimeve nëpërmjet rolit të mbajtjes së shënimeve. Nëse roli i mbajtjes së shënimeve është aktivizuar tashmë, mos bëj asgjë."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Aktivizo integrimet e sistemit të mbajtjes së shënimeve nëpërmjet rolit të mbajtjes së shënimeve. Nëse roli i mbajtjes së shënimeve është aktivizuar tashmë, mos bëj asgjë. Kërkon rinisjen."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Transmetimi"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Transmeto <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Dëgjo transmetime që po luhen në afërsi"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 30399ee..ce42661 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth је укључен"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Прикажи све"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Писаљка"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Подразумевана апликација за белешке"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Притисак на дугме са задње стране"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (пословни профил)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Температура"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Први дан недеље"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Подешавања бројева"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Користи подразумевано у апликацији"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Користи подразумевано"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Целзијус (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Фаренхајт (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"недеља"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Верзија језгра"</string>
     <string name="build_number" msgid="9009733242117579826">"Број верзије"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play ажурирање система"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Информације о батерији"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Није доступно"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Меморијски простор"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Меморијски простор и кеш"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth адреса"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Серијски број"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Време рада"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Датум производње"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Датум првог коришћења"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Број циклуса"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Недоступно"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Прорачунавање..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Преименуј"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Прикључи"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Овим ресетујете сва WiFi и Bluetooth подешавања. Не можете да опозовете ову радњу."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Ресетуј"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth и WiFi су ресетовани"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Обриши"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Обриши eSIM-ове"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Овим не отказујете ниједан тарифни пакет. Да бисте преузели нове SIM картице, обратите се мобилном оператеру."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Ресетуј подешавања"</string>
@@ -1458,6 +1463,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>
+    <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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Прикажи према апликацијама"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Прикажи према системима"</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">"Због провере пре слања број циклуса можда неће бити нула при првом коришћењу"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Статистика процеса"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Штреберска статистика о активним процесима"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Искоришћеност меморије"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Избрисаћете активности госта?"</string>
     <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="8300355036005240911">"Дозволи госту да користи телефон"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Дозволи да гост упућује позиве"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Историја позива ће се делити са гостујућим корисником"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Укључи телефонске позиве и SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Поставите овог корисника за администратора"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"мрежа, стање мобилне мреже, стање услуге, јачина сигнала, тип мобилне мреже, роминг, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"серијски број, верзија хардвера"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"информације о батерији, датум производње, број циклуса, прво коришћење"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"ниво безбедносне закрпе за android, верзија основног пропусног опсега, верзија језгра"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"тема, светла, тамна, режим, осетљивост на светлост, фотофобија, затамнити, тамни режим, мигрена"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"тамна тема"</string>
@@ -3855,11 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Подразумевано подешавање за уређај"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Примена преклопног елемента није успела"</string>
     <string name="special_access" msgid="1767980727423395147">"Посебан приступ апликација"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> апликација може да користи неограничену количину података</item>
-      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> апликације могу да користе неограничену количину података</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> апликација може да користи неограничену количину података</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Прикажи још"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Дуготрајни задаци у позадини"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Дозволи дуготрајне задатке у позадини"</string>
@@ -4147,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Укључите/искључите промене компатибилности апликације"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Подразумеване омогућене промене"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Подразумеване онемогућене промене"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Нема апликација"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Промене компатибилности апликација могу да се измене само за апликације са отклоњивим грешкама. Инсталирајте апликацију са отклоњивим грешкама и пробајте поново."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Зависи од другог подешавања"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Налог"</string>
@@ -4666,7 +4673,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Онемогући ограничења за подређене процесе"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Онемогућите ограничења коришћења ресурса система за подређене процесе апликације"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Принудно омогући улогу Белешке"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Омогућите интеграције прављења бележака у систему помоћу улоге Белешке. Ако је улога Белешке већ омогућена, не предузимајте ништа."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Омогућите интеграције прављења бележака у систему помоћу улоге Белешке. Ако је улога Белешке већ омогућена, не предузимајте ништа. Захтева рестартовање."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Емитујте"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Емитујте <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Слушајте емитовања која се пуштају у близини"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 5d35610..b8e85dc 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth har aktiverats"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Se alla"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"E-penna"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Standardapp för anteckningar"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Vid tryck på knappen för e-penna"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (jobbprofil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Skriv i textfälten"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorera alla knapptryckningar på e-pennan"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"E-penna"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatur"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Första dagen i veckan"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Sifferinställningar"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Använd appstandard"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Använd standardinställning"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"söndag"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Kernel-version"</string>
     <string name="build_number" msgid="9009733242117579826">"Version"</string>
     <string name="module_version" msgid="1787518340082046658">"Systemuppdatering för Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Batteriinformation"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Inte tillgängligt"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Lagring"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Lagringsutrymme och cacheminne"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth-adress"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serienummer"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Tid sedan systemstart"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Tillverkningsdatum"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Datum för första användning"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Antal cykler"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Inte tillgängligt"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Beräknas..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Byt namn"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Montera"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Detta återställer alla wifi- och Bluetooth-inställningar. Det går inte att ångra den här åtgärden."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Återställ"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth och wifi har återställts"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Rensa"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Rensa eSIM-kort"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Det här avbryter inte något serviceavtal för telefonen. Om du vill ladda ned SIM-kort som ersätter de gamla kontaktar du operatören."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Återställ inställningar"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Kräv även mönster för att låsa upp enheten"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Kräv även pinkod för att låsa upp enheten"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Kräv även lösenord för att låsa upp enheten"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Bekräfta mönstret"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Bekräfta pinkoden"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Bekräfta lösenordet"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Ange mönstret för enheten om du vill fortsätta"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Ange pinkoden för enheten om du vill fortsätta"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Ange lösenordet för enheten om du vill fortsätta"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Fel pinkod"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Fel lösenord"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Fel mönster"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Visa efter appar"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Visa efter system"</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">"Antalet cykler kanske inte är noll före första användningen på grund av kvalitetsinspektioner"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Processtatistik"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Nördig statistik om processer som körs"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Minnesanvändning"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Vill du radera gästaktivitet?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Appar och data från den här gästsessionen raderas nu och i fortsättningen raderas all gästaktivitet när du avslutar gästläget"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"radera, gäst, aktivitet, ta bort, data, besökare, rensa"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Tillåt gäster att använda telefonen"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Tillåt gäster att ringa samtal"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Samtalshistoriken delas med gästanvändaren"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Aktivera telefonsamtal och sms"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Gör denna användare till administratör"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"nätverk, status för mobilnätverk, status för tjänst, signalstyrka, mobilnätverkstyp, roaming, iccid-nummer, eid-nummer"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"serienummer, maskinvaruversion"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"batteriinformation, tillverkningsdatum, antal cykler, första användning"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"nivå av programkorrigering för android, basbandsversion, kernel-version"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, ljust, mörkt, läge, ljuskänslighet, fotofobi, göra mörkare, mörkare, mörkt läge, migrän"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"mörkt tema"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Enhetens standardinställning"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Det gick inte att använda överlagring"</string>
     <string name="special_access" msgid="1767980727423395147">"Särskild appåtkomst"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> appar får använda obegränsad data</item>
-      <item quantity="one">1 app får använda obegränsad data</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Visa mer"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Långa bakgrundsuppgifter"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Tillåt långvariga bakgrundsuppgifter"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Aktivera eller inaktivera kompabilitetsändringar för appar"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Ändringar som är aktiverade som standard"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Ändringar som är inaktiverade som standard"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Det finns inga appar"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Kompabilitetsändringar för appar kan endast modifieras för felsökningsbara appar. Installera en felsökningsbar app och försök igen."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Beroende av en annan inställning"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Konto"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Inaktivera begränsningar på underordnade processer"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Inaktivera begränsningar på användningen av systemresurser för appens underordnade processer"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Tvinga att aktivera rollen Anteckningar"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Aktivera systemintegrering för att göra anteckningar via rollen Anteckningar. Detta har ingen effekt om rollen Anteckningar redan har aktiverats."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Aktivera systemintegrering för att göra anteckningar via rollen Anteckningar. Detta har ingen effekt om rollen Anteckningar redan har aktiverats. Enheten måste startas om."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Utsändning"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Sänd från <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Lyssna på utsändningar i närheten"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index da9d967..780e36f 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Imewasha Bluetooth"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Angalia vyote"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stylus"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Programu chaguomsingi ya madokezo"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Kubonyeza kitufe cha nyuma"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Wasifu wa kazini)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Andika kwenye sehemu za maandishi"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Puuza mibofyo yote ya kitufe cha stylus"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Halijoto"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Siku ya kwanza ya wiki"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Mapendeleo ya nambari"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Tumia chaguomsingi ya programu"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Tumia mipangilio chaguomsingi"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Selsiasi (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Farenhaiti (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Jumapili"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Toleo la kiini"</string>
     <string name="build_number" msgid="9009733242117579826">"Nambari ya muundo"</string>
     <string name="module_version" msgid="1787518340082046658">"Sasisho la mfumo wa Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Maelezo kuhusu betri"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Haipatikani"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Hifadhi"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Nafasi ya hifadhi na akiba"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Anwani ya Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Nambari ya Ufuatiliaji"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Muda wa kutumika tangu ilipowashwa"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Tarehe ilipoundwa"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Tarehe ulipotumia mara ya kwanza"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Mara ambazo betri imejaa"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Haipatikani"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Inahesabu..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Badilisha jina"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Pachika"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Hali hii itaweka upya mipangilio ya Wi-Fi na Bluetooth. Huwezi kutendua kitendo hiki."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Weka upya"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth na Wi‑Fi vimewekwa upya"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Futa"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Futa eSIM"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Hatua hii haitaghairi mipango yoyote ya huduma za simu. Ili upakue SIM za kubadilisha, wasiliana na mtoa huduma wako."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Badilisha mipangilio"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Pia, tumia mchoro ili ufungue kifaa hiki"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Pia, tumia PIN ufungue kifaa hiki"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Pia, tumia nenosiri ili ufungue kifaa hiki"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Thibitisha mchoro"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Thibitisha PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Thibitisha nenosiri"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Weka mchoro wa kufungua kifaa chako ili uendelee"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Weka PIN ya kifaa chako ili uendelee"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Weka nenosiri la kifaa chako ili uendelee"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Nambari ya PIN si sahihi"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Nenosiri si sahihi"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Mchoro huo si sahihi"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Angalia kulingana na programu"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Angalia kulingana na mifumo"</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">"Kutokana na ukaguzi wa ubora unaofanywa kabla ya usafirishaji, huenda mara ambazo betri imejaa isiwe sufuri unapotumia mara ya kwanza"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Takwimu za Mchakato"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Takwimu za kitaalamu kuhusu michakato inayoendeshwa"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Kumbukumbu iliyotumika"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Ungependa kufuta shughuli za mgeni?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Programu na data kutoka kwenye kipindi hiki cha mgeni itafutwa sasa na kila shughuli ya mgeni ya baadaye itafutwa kila mara unapofunga matumizi ya wageni"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"futa, mgeni, shughuli, ondoa, data, anayetembelea"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Mruhusu mgeni atumie simu"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Ruhusu wageni kupiga simu"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Rekodi ya simu zilizopigwa itashirikiwa na mtumiaji mgeni"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Washa kipengele cha SMS na kupiga simu"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Mruhusu mtumiaji huyu awe msimamizi"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"mtandao, hali ya mtandao wa simu, hali ya huduma, uthabiti wa mtandao, aina ya mtandao wa simu, kutumia mitandao ya ng\'ambo, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"nambari ya ufuatiliaji, toleo la maunzi"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"maelezo kuhusu betri, tarehe ilipoundwa, mara ambazo betri imejaa, tarehe ulipotumia mara ya kwanza"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"kiwango cha rekebisho la usalama wa android, toleo la mitambo ya redio, toleo la kiini"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"mandhari, mwangaza, meusi, hali, ung\'aavu wa mwangaza, woga wa mwangaza, punguza mwangaza, punguza mwangaza, hali nyeusi, kipandauso"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"mandhari meusi"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Hali chaguomsingi ya kifaa"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Imeshindwa kutumia tangazo lililowekelewa juu"</string>
     <string name="special_access" msgid="1767980727423395147">"Idhini maalum za programu"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other">Programu <xliff:g id="COUNT">%d</xliff:g> zinaweza kutumia data bila kudhibitiwa</item>
-      <item quantity="one">Programu 1 inaweza kutumia data bila kudhibitiwa</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Angalia zaidi"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Majukumu ya muda mrefu yanayoendelea chinichini"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Ruhusu majukumu yanayotekelezwa chinichini kwa muda mrefu"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Geuza mabadiliko ya uoanifu wa programu"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Mabadiliko chaguomsingi yaliyowashwa"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Mabadiliko chaguomsingi yaliyozimwa"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Hamna programu"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Mabadiliko ya uoanifu wa programu yanaweza tu kubadilishwa kwa ajili ya programu zinazoweza kutatuliwa. Sakinisha programu inayoweza kutatuliwa na ujaribu tena."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Inategemea mipangilio mingine"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Akaunti"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Zima vizuizi vya mchakato tegemezi"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Zima vizuizi kwenye utumiaji wa rasilimali za mfumo wa michakato tegemezi ya programu"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Lazimisha kipengele cha Madokezo kiwashwe"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Washa ujumuishaji wa mfumo wa kuandika madokezo kupitia kipengele cha Madokezo. Ikiwa tayari umewasha kipengele cha Madokezo, usibadilishe chochote."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Washa ujumuishaji wa mfumo wa kuandika madokezo kupitia kipengele cha Madokezo. Ikiwa tayari umewasha kipengele cha Madokezo na hakitekelezi chochote. Unahitaji kuwasha tena."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Tangazo"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Arifu kwenye <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Sikiliza matangazo yanayochezwa karibu nawe"</string>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index d85b463..c798045 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"புளூடூத் ஆன் செய்யப்பட்டது"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"அனைத்தும் காட்டு"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"ஸ்டைலஸ்"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"குறிப்பு எடுப்பதற்கான இயல்பு ஆப்ஸ்"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"டெயில் பட்டனை அழுத்துதல்"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (பணிக் கணக்கு)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"வெப்பநிலை"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"வாரத்தின் முதல் நாள்"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"எண்களுக்கான விருப்பத்தேர்வுகள்"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"ஆப்ஸின் இயல்புநிலையைப் பயன்படுத்தும்"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"இயல்பு அமைப்பைப் பயன்படுத்து"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"செல்சியஸ் (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"ஃபாரன்ஹீட் (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"ஞாயிறு"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"கர்னல் பதிப்பு"</string>
     <string name="build_number" msgid="9009733242117579826">"பதிப்பு எண்"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play சிஸ்டம் புதுப்பிப்பு"</string>
+    <string name="battery_info" msgid="7873528123969546728">"பேட்டரி தொடர்பான தகவல்கள்"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"கிடைக்கவில்லை"</string>
     <string name="storage_settings" msgid="7472188817781592677">"சேமிப்பிடம்"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"சேமிப்பகம் &amp; தற்காலிக நினைவகம்"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"புளூடூத் முகவரி"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"வரிசை எண்"</string>
     <string name="status_up_time" msgid="1274778533719495438">"இயங்கிய நேரம்"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"தயாரிக்கப்பட்ட தேதி"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"முதலில் உபயோகித்தத் தேதி"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"சுழற்சியின் எண்ணிக்கை"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"இல்லை"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"கணக்கிடுகிறது..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"மறுபெயரிடு"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"பொருத்து"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"இது அனைத்து வைஃபை &amp; புளூடூத் அமைப்புகளை மீட்டமைக்கும். இதைச் செயல்தவிர்க்க முடியாது."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"மீட்டமை"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"புளூடூத் &amp; வைஃபை மீட்டமைக்கப்பட்டன"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"அழி"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIMகளை அழி"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"மொபைல் சேவைத் திட்டங்கள் எவையும் இதனால் ரத்துசெய்யப்படாது. மாற்று சிம்களைப் பதிவிறக்க, உங்கள் மொபைல் நிறுவனத்தைத் தொடர்புகொள்ளவும்."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"அமைப்புகளை மீட்டமை"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"சாதனம் அன்லாக் செய்யப்பட பேட்டர்ன் பயன்படுத்து"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"சாதனம் அன்லாக் செய்யப்பட பின் பயன்படுத்து"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"சாதனம் அன்லாக் செய்யப்பட கடவுச்சொல் பயன்படுத்து"</string>
+    <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">"தவறான பின்"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"தவறான கடவுச்சொல்"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"தவறான பேட்டர்ன்"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"ஆப்ஸ் வாரியாகக் காட்டு"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"சிஸ்டங்கள் வாரியாகக் காட்டு"</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">"ஷிப்பிங்கிற்கு முன்பான தர ஆய்வுகளின் காரணமாக, முதல் பயன்பாட்டில் சுழற்சி எண்ணிக்கை பூஜ்ஜியமாக இருக்காது"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"செயல்முறைப் புள்ளிவிவரங்கள்"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"இயங்கும் செயல்முறைகள் குறித்த ஜிகி புள்ளிவிவரங்கள்"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"நினைவகப் பயன்பாடு"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"கெஸ்ட் செயல்பாடுகளை நீக்கவா?"</string>
     <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="8300355036005240911">"மொபைலைப் பயன்படுத்த கெஸ்ட்டை அனுமதித்தல்"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"அழைப்புகள் செய்ய விருந்தினரை அனுமதித்தல்"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"அழைப்புப் பதிவு \'கெஸ்ட்\' பயனருடன் பகிரப்படும்"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"ஃபோன் அழைப்புகள் &amp; SMSஐ இயக்கு"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"இந்தப் பயனரை நிர்வாகியாக்கு"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"நெட்வொர்க், மொபைல் நெட்வொர்க் நிலை, சேவை நிலை, சிக்னல் வலிமை, மொபைல் நெட்வொர்க் வகை, ரோமிங், ICCID, EID"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"வரிசை எண், வன்பொருள் பதிப்பு"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"பேட்டரி தொடர்பான தகவல்கள், தயாரிக்கப்பட்ட தேதி, சுழற்சியின் எண்ணிக்கை, முதல் உபயோகம்"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"android பாதுகாப்பு பேட்ச் நிலை, பேஸ்பேண்ட் பதிப்பு, கர்னல் பதிப்பு"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"தீம், லைட், டார்க், பயன்முறை, ஒளி உணர்திறன், ஃபோட்டோஃபோபியா, அதிக இருட்டாக்குதல், இருட்டாக்குதல், டார்க் பயன்முறை, தலைவலி"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"டார்க் தீம்"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"சாதனத்தின் இயல்புநிலை"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"மேலடுக்கைப் பயன்படுத்த இயலவில்லை"</string>
     <string name="special_access" msgid="1767980727423395147">"ஆப்ஸின் சிறப்பு அணுகல்"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ஆப்ஸால் எல்லா தகவலையும் பயன்படுத்த முடியும்</item>
-      <item quantity="one">1 ஆப்ஸால் எல்லா தகவலையும் பயன்படுத்த முடியும்</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"மேலும் காட்டு"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"பின்னணியில் நீண்டநேரப் பணிகள்"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"பின்னணியில் நீண்டநேரம் இயங்கும் பணிகளை அனுமதித்தல்"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ஆப்ஸ் இணக்கத்தன்மை தொடர்பான மாற்றங்களை நிலைமாற்றும்"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"இயல்புநிலை இயக்கப்பட்டது தொடர்பான மாற்றங்கள்"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"இயல்புநிலை முடக்கப்பட்டது தொடர்பான மாற்றங்கள்"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"ஆப்ஸ் எதுவுமில்லை"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"பிழைதிருத்தி ஆப்ஸில் மட்டுமே ஆப்ஸ் இணக்கத்தன்மை மாற்றங்களை மாற்ற முடியும். பிழைதிருத்தி ஆப்ஸை நிறுவி மீண்டும் முயலவும்."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"மற்றொரு அமைப்பைச் சார்ந்தது"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"கணக்கு"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"துணைச் செயலாக்கத்திற்கான கட்டுப்பாடுகளை முடக்குதல்"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"ஆப்ஸின் துணைச் செயலாக்கத்தில் சிஸ்டம் தொடர்பான ஆதாரக் கட்டுப்பாடுகளை முடக்கவும்"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Notes பணியை விரைந்து இயக்கு"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Notes பணிகள் மூலம் குறிப்பு எடுக்கும் சிஸ்டத்திற்கான ஒருங்கிணைப்புகளை இயக்கும். Notes பணிகள் ஏற்கெனவே இயக்கப்பட்டிருந்தால் வேறெதுவும் செய்யாது."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Notes பணிகள் மூலம் குறிப்பு எடுக்கும் சிஸ்டத்திற்கான ஒருங்கிணைப்புகளை இயக்கும். Notes பணிகள் ஏற்கெனவே இயக்கப்பட்டிருந்தால் வேறெதுவும் செய்யாது. மறுபடி தொடங்கவேண்டும்."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"பிராட்காஸ்ட்"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> ஆப்ஸை ஒலிபரப்பு"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"உங்களுக்கு அருகில் பிளே ஆகின்ற பிராட்காஸ்ட்டுகளைக் கேளுங்கள்"</string>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 312721a..f8a9497 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"బ్లూటూత్ ఆన్ చేయబడింది"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"అన్నీ చూడండి"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"స్టైలస్"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"ఆటోమేటిక్ సెట్టింగ్ గమనికల యాప్"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"స్టైలస్ బటన్‌ను నొక్కండి"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (వర్క్ ప్రొఫైల్)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"ఉష్ణోగ్రత"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"వారంలో మొదటి రోజు"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"నంబర్‌ల ప్రాధాన్యతలు"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"యాప్ ఆటోమేటిక్ సెట్టింగ్‌ను ఉపయోగించండి"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"ఆటోమేటిక్ సెట్టింగ్‌ను ఉపయోగించండి"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"సెల్సియస్ (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"ఫారెన్‌హీట్ (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"ఆదివారం"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"కెర్నల్ వెర్షన్"</string>
     <string name="build_number" msgid="9009733242117579826">"బిల్డ్ నంబర్"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play సిస్టమ్ అప్‌డేట్"</string>
+    <string name="battery_info" msgid="7873528123969546728">"బ్యాటరీ సమాచారం"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"అందుబాటులో లేదు"</string>
     <string name="storage_settings" msgid="7472188817781592677">"స్టోరేజ్"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"స్టోరేజ్ &amp; కాష్"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"బ్లూటూత్ అడ్రస్"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"సీరియల్ నంబర్"</string>
     <string name="status_up_time" msgid="1274778533719495438">"గడిచిన సమయం"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"తయారు చేసిన తేదీ"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"మొదటి సారి ఉపయోగించిన తేదీ"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"సైకిల్ సంఖ్య"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"అందుబాటులో లేదు"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"గణిస్తోంది..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"పేరు మార్చండి"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"మౌంట్ చేయి"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"ఇది అన్ని Wi‑Fi &amp; బ్లూటూత్ సెట్టింగ్‌లను రీసెట్ చేస్తుంది. ఒక్కసారి రీసెట్ చేస్తే మళ్లీ వెనక్కి తెచ్చుకోలేరు."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"రీసెట్ చేయండి"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"బ్లూటూత్ &amp; Wi‑Fi రీసెట్ చేయబడ్డాయి"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"తొలగించండి"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIMలను ఫ్యాక్టరీ రీసెట్ చేయండి"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"ఇది ఏవిధమైన మొబైల్ సర్వీస్ ప్లాన్‌లను రద్దు చేయదు. రీప్లేస్‌మెంట్ SIMలను డౌన్‌లోడ్ చేయడానికి మీ క్యారియర్‌ను సంప్రదించండి."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"సెట్టింగ్‌లను రీసెట్ చేయండి"</string>
@@ -1458,6 +1463,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>
+    <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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"యాప్‌ల ప్రకారం చూడండి"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"సిస్టమ్‌ల ప్రకారం చూడండి"</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">"షిప్పింగ్‌కు ముందు క్వాలిటి తనిఖీల కారణంగా, మొదటి ఉపయోగంలో సైకిల్ కౌంట్ సున్నాగా ఉండకపోవచ్చు"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"ప్రాసెస్ గణాంకాలు"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"అమలవుతున్న ప్రాసెస్‌ల గురించి అసాధారణమైన గణాంకాలు"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"మెమరీ వినియోగం"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"గెస్ట్ యాక్టివిటీని తొలగించాలా?"</string>
     <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="8300355036005240911">"ఫోన్ ఉపయోగించడానికి గెస్ట్‌ను అనుమతించండి"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"ఫోన్ కాల్స్ కోసం గెస్ట్‌ను అనుమతించండి"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"కాల్ హిస్టరీ, గెస్ట్ యూజర్‌తో షేర్ చేయబడుతుంది"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"ఫోన్ కాల్స్‌ &amp; SMS ఆన్ చేయండి"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"ఈ యూజర్‌ను అడ్మిన్ చేయండి"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"నెట్‌వర్క్, మొబైల్ నెట్‌వర్క్ స్టేటస్, సర్వీస్ స్టేటస్, సిగ్నల్ సామర్థ్యం, మొబైల్ నెట్‌వర్క్ రకం, రోమింగ్, ICCID, EID"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"క్రమ సంఖ్య, హార్డ్‌వేర్ వెర్షన్"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"బ్యాటరీ సమాచారం, తయారు చేసిన తేదీ, సైకిల్ సంఖ్య, మొదటి సారి ఉపయోగించిన తేదీ"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"android సెక్యూరిటీ ప్యాచ్ స్థాయి, బేస్‌బ్యాండ్ వెర్షన్, కెర్నెల్ వెర్షన్"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"రూపం, లైట్, ముదురు, మోడ్, కాంతి సున్నితత్వం, ఫోటోఫోబియా, ముదురుగా చేయి, మరింత ముదురు, డార్క్ మోడ్, మైగ్రేన్"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"ముదురు రంగు రూపం"</string>
@@ -3189,7 +3202,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>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"పరికర ఆటోమేటిక్ సెట్టింగ్"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"అతివ్యాప్తిని వర్తింపచేయడం విఫలమయ్యింది"</string>
     <string name="special_access" msgid="1767980727423395147">"ప్రత్యేక యాప్ యాక్సెస్"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> యాప్‌లు, అపరిమిత డేటాను ఉపయోగించగలవు</item>
-      <item quantity="one">1 యాప్, అపరిమిత డేటాను ఉపయోగించగలదు</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"మరిన్ని చూడండి"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"లాంగ్ బ్యాక్‌గ్రౌండ్ టాస్క్‌లు"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"లాంగ్ రన్నింగ్ బ్యాక్‌గ్రౌండ్ టాస్క్స్ అనుమతించండి"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"యాప్ అనుకూలత మార్పులను టోగుల్ చేయడం"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"ఆటోమేటిక్‌గా ఎనేబుల్ చేయబడిన మార్పులు"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"ఆటోమేటిక్‌గా డిజేబుల్‌ చేయబడిన మార్పులు"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"యాప్‌లు ఏవీ లేవు"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"డీబగ్ చేయగల యాప్‌లకు మాత్రమే యాప్ అనుకూలత మార్పులు సవరించబడతాయి. డీబగ్ చేయగల యాప్‌ను ఇన్‌స్టాల్ చేసి మళ్లీ ట్రై చేయండి."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"మరో సెట్టింగ్‌పై ఆధారపడి ఉంటుంది"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"ఖాతా"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"చైల్డ్ ప్రాసెస్ పరిమితులను డిజేబుల్ చేయండి"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"యాప్ చైల్డ్ ప్రాసెస్‌ల సిస్టమ్ రిసోర్స్ వినియోగంపై పరిమితులను డిజేబుల్ చేయండి"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Notes రోల్‌ను ఫోర్స్ ఎనేబుల్ చేయండి"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Notes రోల్ ద్వారా నోట్-టేకింగ్ సిస్టమ్ ఇంటిగ్రేషన్‌లను ఎనేబుల్ చేయండి. Notes రోల్ ఇప్పటికే ఎనేబుల్ చేయబడి ఉంటే, ఏమీ చేయాల్సిన అవసరం లేదు."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Notes రోల్ ద్వారా నోట్-టేకింగ్ సిస్టమ్ ఇంటిగ్రేషన్‌లను ఎనేబుల్ చేయండి. Notes రోల్ ఇప్పటికే ఎనేబుల్ చేయబడి ఉంటే, ఏమీ చేయాల్సిన అవసరం లేదు. రీబూట్ చేయడం అవసరం."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"ప్రసారం"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> ప్రసారం చేయండి"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"మీకు సమీపంలో ప్లే అవుతున్న ప్రసారాలను వినండి"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index fdfba9c..e9e4c24 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"เปิดบลูทูธแล้ว"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"ดูทั้งหมด"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"สไตลัส"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"แอปโน้ตเริ่มต้น"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"มีการกดปุ่มค้าง"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (โปรไฟล์งาน)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"อุณหภูมิ"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"วันแรกของสัปดาห์"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"ค่ากำหนดตัวเลข"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"ใช้ค่าเริ่มต้นของแอป"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"ใช้ค่าเริ่มต้น"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"เซลเซียส (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"ฟาเรนไฮต์ (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"วันอาทิตย์"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"เวอร์ชันเคอร์เนล"</string>
     <string name="build_number" msgid="9009733242117579826">"หมายเลขบิลด์"</string>
     <string name="module_version" msgid="1787518340082046658">"การอัปเดตระบบ Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"ข้อมูลแบตเตอรี่"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"ไม่พร้อมใช้งาน"</string>
     <string name="storage_settings" msgid="7472188817781592677">"พื้นที่เก็บข้อมูล"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"พื้นที่เก็บข้อมูลและแคช"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"ที่อยู่บลูทูธ"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"หมายเลขซีเรียล"</string>
     <string name="status_up_time" msgid="1274778533719495438">"เวลาใช้งาน"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"วันที่ผลิต"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"วันที่ใช้งานครั้งแรก"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"จำนวนรอบ"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"ไม่พร้อมใช้งาน"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"กำลังคำนวณ..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"เปลี่ยนชื่อ"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"ต่อเชื่อม"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"การดำเนินการนี้จะรีเซ็ตการตั้งค่า Wi-Fi และบลูทูธทั้งหมด โดยคุณจะยกเลิกไม่ได้"</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"รีเซ็ต"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"รีเซ็ตบลูทูธและ Wi-Fi แล้ว"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"ลบ"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"ลบ eSIM"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"การดำเนินการนี้จะไม่ยกเลิกแพ็กเกจมือถือ หากต้องการดาวน์โหลดซิมสำหรับใช้แทน โปรดติดต่อผู้ให้บริการ"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"รีเซ็ตการตั้งค่า"</string>
@@ -1458,6 +1463,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>
+    <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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"ดูตามแอป"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"ดูตามระบบ"</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">"เนื่องจากมีการตรวจสอบคุณภาพก่อนจัดส่ง จำนวนรอบจึงอาจไม่เป็นศูนย์เมื่อใช้งานครั้งแรก"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"สถิติเกี่ยวกับกระบวนงาน"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"สถิติเชิงลึกเกี่ยวกับกระบวนงานที่ทำงานอยู่"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"การใช้หน่วยความจำ"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"ลบกิจกรรมของผู้ใช้ชั่วคราวไหม"</string>
     <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="8300355036005240911">"อนุญาตให้ผู้ใช้ชั่วคราวใช้โทรศัพท์"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"อนุญาตให้ผู้เยี่ยมชมโทรออกได้"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"ระบบจะแชร์ประวัติการโทรกับผู้ใช้ชั่วคราว"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"เปิดการโทรและ SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"กำหนดให้ผู้ใช้รายนี้เป็นผู้ดูแลระบบ"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"เครือข่าย, สถานะเครือข่ายมือถือ, สถานะบริการ, ความแรงของสัญญาณ, ประเภทเครือข่ายมือถือ, โรมมิ่ง, ICCID, EID"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"หมายเลขซีเรียล, เวอร์ชันฮาร์ดแวร์"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"ข้อมูลแบตเตอรี่ วันที่ผลิต จำนวนรอบ การใช้งานครั้งแรก"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"ระดับแพตช์ความปลอดภัย android, เวอร์ชันเบสแบนด์, เวอร์ชันเคอร์เนล"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"ธีม สว่าง มืด โหมด ความไวต่อแสง อาการกลัวแสง ทำให้มืด ปรับให้มืด โหมดมืด ไมเกรน"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"ธีมมืด"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"ค่าเริ่มต้นของอุปกรณ์"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"ใช้การวางซ้อนไม่สำเร็จ"</string>
     <string name="special_access" msgid="1767980727423395147">"สิทธิ์เข้าถึงพิเศษของแอป"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other">ใช้อินเทอร์เน็ตได้ไม่จำกัด <xliff:g id="COUNT">%d</xliff:g> แอป</item>
-      <item quantity="one">ใช้อินเทอร์เน็ตได้ไม่จำกัด 1 แอป</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"ดูเพิ่มเติม"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"งานเบื้องหลังซึ่งใช้เวลานาน"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"อนุญาตงานที่ทำอยู่เบื้องหลังซึ่งใช้เวลานาน"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"สลับการเปลี่ยนแปลงความเข้ากันได้ของแอป"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"การเปลี่ยนแปลงที่เปิดใช้โดยค่าเริ่มต้น"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"การเปลี่ยนแปลงที่ปิดใช้โดยค่าเริ่มต้น"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"ไม่มีแอป"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"จะแก้ไขการเปลี่ยนแปลงความเข้ากันได้ของแอปได้เฉพาะแอปที่แก้ไขข้อบกพร่องได้เท่านั้น ติดตั้งแอปที่แก้ไขข้อบกพร่องได้แล้วลองอีกครั้ง"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"ขึ้นอยู่กับการตั้งค่าอื่น"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"บัญชี"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"ปิดการจำกัดการประมวลผลข้อมูลย่อย"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"ปิดการจำกัดการใช้ทรัพยากรระบบในการประมวลย่อยของแอป"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"บังคับเปิดใช้บทบาท \"โน้ต\""</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"เปิดใช้การผสานรวมระบบการจดโน้ตผ่านบทบาท \"โน้ต\" หากเปิดใช้ไว้อยู่แล้วก็ไม่ต้องดำเนินการใดๆ"</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"เปิดใช้การผสานรวมระบบการจดบันทึกผ่านบทบาท \"การจดบันทึก\" หากเปิดใช้ไว้อยู่แล้วก็ไม่ต้องดำเนินการใดๆ ต้องรีบูต"</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"การออกอากาศ"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"ออกอากาศ <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"ฟังการออกอากาศที่เล่นอยู่ใกล้คุณ"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 7d48423..df4ef00 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Naka-on ang Bluetooth"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Tingnan lahat"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stylus"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Default na app ng mga tala"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Pagpindot sa tail button"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Profile sa trabaho)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Sumulat sa mga field ng text"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Huwag pansinin ang lahat ng pagpindot ng button sa stylus"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Temperatura"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Unang araw ng linggo"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Mga kagustuhan sa mga numero"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Gamitin ang default ng app"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Gamitin ang default"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Linggo"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Bersyon ng kernel"</string>
     <string name="build_number" msgid="9009733242117579826">"Numero ng build"</string>
     <string name="module_version" msgid="1787518340082046658">"Pag-update ng system ng Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Impormasyon ng baterya"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Hindi available"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Storage"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Storage at cache"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Address ng bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Serial number"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Up time"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Petsa ng paggawa"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Petsa ng unang paggamit"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Bilang ng cycle"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Hindi available"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Kinakalkula..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Palitan ang pangalan"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"I-mount"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Ire-reset nito ang lahat ng setting ng Wi‑Fi at Bluetooth. Hindi mo maa-undo ang pagkilos na ito."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"I-reset"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Na-reset ang Bluetooth at Wi‑Fi"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Burahin"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Burahin ang mga eSIM"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Hindi nito kakanselahin ang anumang plan ng serbisyo sa mobile. Para mag-download ng mga kapalit na SIM, makipag-ugnayan sa iyong carrier."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"I-reset ang mga setting"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Gamitin din ang pattern para i-unlock ito"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Gamitin din ang PIN para i-unlock ito"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Gamitin din ang password para i-unlock ito"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"I-verify ang pattern"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"I-verify ang PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"I-verify ang password"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Gamitin ang iyong pattern sa device para magpatuloy"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Ilagay ang iyong PIN sa device para magpatuloy"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Ilagay ang iyong password sa device para magpatuloy"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Maling PIN"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Maling password"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Maling pattern"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Tingnan ayon sa mga app"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Tingnan ayon sa mga system"</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">"Dahil sa mga pag-inspeksyon ng kalidad bago ang pagpapadala, hindi puwedeng zero sa unang paggamit ang bilang ng cycle"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Stats ng Proseso"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Mahahalagang istatistika tungkol sa mga tumatakbong proseso"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Memory na ginamit"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"I-delete ang aktibidad ng bisita?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Made-delete na ngayon ang mga app at data mula sa session na ito ng bisita, at made-delete ang lahat ng aktibidad ng bisita sa hinaharap sa tuwing aalis ka ng guest mode"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"i-delete, bisita, aktibidad, alisin, data, bumibisita, burahin"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Payagang gamitin ng bisita ang telepono"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Payagan ang bisita na tumawag"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Ibabahagi sa bisitang user ang history ng tawag"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"I-on ang mga pagtawag sa telepono at SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Gawing admin ang user na ito"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"network, status ng mobile network, status ng serbisyo, lakas ng signal, uri ng mobile network, naka-roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"serial number, bersyon ng hardware"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"impormasyon ng baterya, petsa ng paggawa, bilang ng cycle, unang paggamit"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"antas ng patch ng seguridad ng android, bersyon ng baseband, kernel version"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, light, dark, mode, pagkasensitibo sa ilaw, photophobia, gawing mas madilim, padilimin, dark mode, migraine"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"madilim na tema"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Default ng device"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Hindi nailapat ang overlay"</string>
     <string name="special_access" msgid="1767980727423395147">"Espesyal na access ng app"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one">May <xliff:g id="COUNT">%d</xliff:g> app na maaaring gumamit ng walang limitasyong data</item>
-      <item quantity="other">May <xliff:g id="COUNT">%d</xliff:g> na app na maaaring gumamit ng walang limitasyong data</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Tumingin pa"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Matagal na gawain sa background"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Payagang magpagana ng matagal na gawain sa background"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"I-toggle ang mga pagbabago sa compatibility ng app"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Mga default na naka-enable na pagbabago"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Mga default na naka-disable na pagbabago"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Walang available app"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Puwede lang baguhin ang mga pagbabago sa compatibility ng app para sa mga nade-debug na app. Mag-install ng nade-debug na app at subukan ulit."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Nakadepende sa isa pang setting"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Account"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"I-disable ang mga paghihigpit sa proseso ng child"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"I-disable ang mga paghihigpit sa paggamit ng resource ng system para sa mga proseso ng child ng app"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Sapilitang i-enable ang tungkuling Mga Tala"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"I-enable ang mga integration ng system ng pagtatala sa pamamagitan ng tungkuling Mga Tala. Kung naka-enable na ang tungkuling Mga Tala, wala itong gagawin."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"I-enable ang mga integration ng system ng pagtatala sa pamamagitan ng tungkuling Mga Tala. Kung naka-enable na ang tungkuling Mga Tala, wala itong gagawin. Nagre-require ng pag-reboot."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Broadcast"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"I-broadcast ang <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Makinig sa mga broadcast na nagpe-play malapit sa iyo"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 591bada..18db61c 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth açık"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Tümünü göster"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Ekran kalemi"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Varsayılan not uygulaması"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Ekran kalemi düğmesine basma"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (İş profili)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Metin alanlarına yazın"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ekran kalemiyle basılan düğmeleri yoksay"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Ekran kalemi"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Sıcaklık"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Haftanın ilk günü"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Sayı tercihleri"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Uygulamanın varsayılan ayarını kullan"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Varsayılanı kullan"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Santigrat (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Fahrenhayt (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Pazar"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Çekirdek sürümü"</string>
     <string name="build_number" msgid="9009733242117579826">"Derleme numarası"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play sistem güncellemesi"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Pil bilgileri"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Yok"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Depolama"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Depolama alanı ve önbellek"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth adresi"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Seri numarası"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Açık kalma süresi"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Üretim tarihi"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"İlk kullanıldığı tarih"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Şarj döngü sayısı"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Yok"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Hesaplanıyor..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Yeniden adlandır"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Ekle"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Bu işlem tüm kablosuz ve Bluetooth ayarlarını sıfırlar. Bu işlem geri alınamaz."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Sıfırla"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth ve kablosuz ayarları sıfırlandı"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Sil"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM\'leri sil"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Bu işlem, mobil hizmet planlarını iptal etmeyecektir. Yedek SIM\'leri indirmek için operatörünüzle iletişime geçin."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Ayarları sıfırla"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Bu cihazın kilidini desenle de aç"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Bu cihazın kilidini PIN\'le de aç"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Bu cihazın kilidini şifreyle de aç"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Deseni doğrulayın"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"PIN\'i doğrulayın"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Şifreyi doğrulayın"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Devam etmek için cihazınızın desenini kullanın"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Devam etmek için cihazınızın PIN\'ini girin"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Devam etmek için cihazınızın şifresini girin"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Yanlış PIN"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Yanlış şifre"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Yanlış desen"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Uygulama bazında göster"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Sistem bazında göster"</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">"Kargolanmadan önce yapılan kalite denetimleri nedeniyle şarj döngü sayısı ilk kullanımda sıfır olmayabilir"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"İşlem İstatistikleri"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Meraklısı için, çalışan işlemlerle ilgili istatistikler"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Bellek kullanımı"</string>
@@ -2668,7 +2680,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 fazla kullanıcı"</string>
+    <string name="user_settings_title" msgid="6550866465409807877">"Birden çok 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>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Misafir etkinliği silinsin mi?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Bu misafir oturumundaki uygulamalar ve veriler şimdi silinecektir. Bundan sonraki tüm misafir etkinlikleri ise misafir modundan her çıktığınızda silinir."</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"sil, misafir, etkinlik, veri, ziyaretçi"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Misafirin, telefonu kullanmasına izin verin"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Misafirin telefon etmesine izin ver"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Çağrı geçmişi bu kullanıcıyla paylaşılacak"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Telefon aramalarını ve mesajları aç"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Bu kullanıcıyı yönetici yap"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"ağ, mobil ağ durumu, hizmet durumu, sinyal gücü, mobil ağ türü, dolaşım, ICCID, SIM kimliği"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"SIM kimliği"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"seri numarası, donanım sürümü"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"pil bilgileri, üretim tarihi, şarj döngü sayısı, ilk kullanım"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"android güvenlik yaması düzeyi, ana bant sürümü, çekirdek sürümü"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"tema, açık, koyu, mod, ışık hassasiyeti, ışık korkusu, karanlık yap, karart, koyu mod, migren"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"koyu tema"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Cihaz varsayılanı"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Yer paylaşımı uygulanamadı"</string>
     <string name="special_access" msgid="1767980727423395147">"Özel uygulama erişimi"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> uygulama sınırsız veri kullanabilir</item>
-      <item quantity="one">1 uygulama sınırsız veri kullanabilir</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Daha fazla göster"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Uzun süren arka plan görevleri"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Uzun süre çalışan arka plan görevlerine izin verin"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Uygulama uyumluluk değişikliklerini aç/kapat"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Varsayılan olarak etkin değişiklikler"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Varsayılan olarak devre dışı değişiklikler"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Mevcut uygulama yok"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Uygulama uyumluluğuyla ilgili değişiklikler sadece hata ayıklaması yapılabilecek uygulamalar için değiştirilebilir. Hata ayıklaması yapılabilecek bir uygulama yükleyip tekrar deneyin"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Bu ayar başka bir ayara bağlı"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Hesap"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Alt işlem kısıtlamalarını devre dışı bırak"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Uygulamadaki alt işlemlerin sistem kaynağı kullanımıyla ilgili kısıtlamaları devre dışı bırakın"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Notlar rolünü zorla etkinleştir"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Notlar rolü aracılığıyla not alma sistemi entegrasyonlarını etkinleştirin. Notlar rolü daha önce etkinleştirilmişse hiçbir değişiklik olmaz."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Notlar rolü aracılığıyla not alma sistemi entegrasyonlarını etkinleştirin. Notlar rolü daha önce etkinleştirilmişse hiçbir değişiklik olmaz. Yeniden başlatmayı gerektirir."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Yayın"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> uygulamasında anons yapın"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Yakınınızda oynatılan yayınları dinleyin"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 370166f..8aec09a 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth увімкнено"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Показати всі"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Стилус"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Стандартний додаток для нотаток"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Натискання кнопки стилуса"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (робочий профіль)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Температура"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Перший день тижня"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Параметри чисел"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Використовувати значення за умовчанням"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Використовувати налаштування за умовчанням"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Градуси Цельсія (°С)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Градуси Фаренгейта (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Неділя"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Версія ядра"</string>
     <string name="build_number" msgid="9009733242117579826">"Номер складання"</string>
     <string name="module_version" msgid="1787518340082046658">"Оновлення системи Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Інформація про акумулятор"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Невідомо"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Пам\'ять"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Сховище й кеш"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Адреса Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Серійний номер"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Час із моменту ввімкнення"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Дата виготовлення"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Дата першого використання"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Кількість циклів"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Недоступно"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Обчислення…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Перейменувати"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Підключити"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Буде скинуто всі налаштування Wi-Fi і Bluetooth. Цю дію неможливо відмінити."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Скинути"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Налаштування Wi-Fi і Bluetooth скинуто"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Видалити"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Видалити всі дані з eSIM-карт"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Мобільні тарифні плани не буде скасовано. Щоб завантажити нові SIM-карти, зв\'яжіться з оператором."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Скинути налаштування"</string>
@@ -1458,6 +1463,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>
+    <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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Переглянути за додатками"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Переглянути за системами"</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">"Оскільки перед відправленням проводяться перевірки якості, під час першого використання кількість циклів може не дорівнювати нулю"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Статистика про процеси"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Статистика про запущені процеси"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Використання пам’яті"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Видалити дії в режимі гостя?"</string>
     <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="8300355036005240911">"Дозволити гостю користуватися телефоном"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Дозволити гостю телефонувати"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"У режимі гостя користувач матиме доступ до історії викликів"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Увімкнути телефонні дзвінки й SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Надати цьому користувачу права адміністратора"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"мережа, стан мобільної мережі, стан сервісу, рівень сигналу, тип мобільної мережі, роумінг, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"серійний номер, версія апаратного забезпечення"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"інформація про акумулятор, дата виготовлення, кількість циклів, перше використання"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"рівень виправлення системи безпеки android, версія каналу зв’язку, версія ядра"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"тема, світло, темний, режим, чутливість до світла, фотофобія, зробити темнішим, затемнити, темний режим, мігрень"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"темна тема"</string>
@@ -3855,12 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Налаштування пристрою за умовчанням"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Не вдалося застосувати накладання"</string>
     <string name="special_access" msgid="1767980727423395147">"Спеціальний доступ"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> додаток із необмеженим доступом до даних</item>
-      <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> додатки з необмеженим доступом до даних</item>
-      <item quantity="many"><xliff:g id="COUNT">%d</xliff:g> додатків із необмеженим доступом до даних</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> додатка з необмеженим доступом до даних</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Показати більше"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Довгі фонові завдання"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Дозволити довготривалі фонові завдання"</string>
@@ -3871,7 +3878,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>
@@ -4148,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Увімкнути або вимкнути зміни сумісності додатка"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Зміни, увімкнені за умовчанням"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Зміни, вимкнені за умовчанням"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Немає додатків"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Налаштування сумісності можна змінювати лише для налагоджуваних додатків. Установіть налагоджуваний додаток і спробуйте ще раз."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Залежить від іншого налаштування"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Обліковий запис"</string>
@@ -4668,7 +4674,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Вимкнути обмеження для дочірніх процесів"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Вимкнути обмеження на використання системних ресурсів дочірніми процесами додатка"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Примусово ввімкнути набір функцій \"Нотатки\""</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Увімкніть системні інтеграції для створення нотаток за допомогою набору функцій \"Нотатки\". Якщо набір функцій \"Нотатки\" вже ввімкнено, нічого не відбудеться."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Увімкніть системні інтеграції для створення нотаток за допомогою набору функцій \"Нотатки\". Якщо набір функцій \"Нотатки\" вже ввімкнено, нічого не відбудеться. Потрібен перезапуск."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Трансляція"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Змінити додаток для трансляції на <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Слухайте трансляції з пристроїв поблизу"</string>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 73703a0..dd017ad 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"بلوٹوتھ کو آن کر دیا گیا"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"سبھی دیکھیں"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"اسٹائلس"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"ڈیفالٹ نوٹس ایپ"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"‏Tail بٹن دبائیں"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (دفتری پروفائل)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"درجہ حرارت"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"ہفتے کا پہلا دن"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"نمبرز کی ترجیحات"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"ایپ کا ڈیفالٹ استعمال کریں"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"ڈیفالٹ کا استعمال کریں"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"‏سیلسیئس(‎°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"‏فارن ہائیٹ(‎°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"اتوار"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"کرنل ورژن"</string>
     <string name="build_number" msgid="9009733242117579826">"بلڈ نمبر"</string>
     <string name="module_version" msgid="1787518340082046658">"‏‫Google Play سسٹم اپ ڈیٹ"</string>
+    <string name="battery_info" msgid="7873528123969546728">"بیٹری کی معلومات"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"دستیاب نہیں ہے"</string>
     <string name="storage_settings" msgid="7472188817781592677">"اسٹوریج"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"اسٹوریج اور کیش"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"بلوٹوتھ پتہ"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"سیریل نمبر"</string>
     <string name="status_up_time" msgid="1274778533719495438">"آلہ اتنی دیر سے چل رہا ہے"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"مینوفیکچر کی تاریخ"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"پہلے استعمال کی تاریخ"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"چارج سائیکل کی تعداد"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"دستیاب نہیں ہیں"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"حساب لگایا جا رہا ہے…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"نام تبدیل کریں"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"ماؤنٹ کریں"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"‏اس سے Wi-Fi اور بلوٹوتھ کی تمام ترتیبات ری سیٹ ہو جائیں گی۔ آپ اس کاروائی کو کالعدم نہیں کر سکتے ہیں۔"</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"ری سیٹ کریں"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"‏بلوٹوتھ اور Wi‑Fi کو ری سیٹ کر دیا گیا ہے"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"مٹائیں"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"‏eSIMs مٹائیں"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"‏اس سے موبائل سروس کا کوئی بھی پلان منسوخ نہیں ہوگا۔ متبادل SIMs کو ڈاؤن لوڈ کرنے کے لیے، اپنے کیریئر سے رابطہ کریں۔"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"ترتیبات ری سیٹ کریں"</string>
@@ -1458,6 +1463,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>
+    <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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"ایپس کے لحاظ سے دیکھیں"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"سسٹمز کے لحاظ سے دیکھیں"</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">"شپنگ سے پہلے معیار کے معائنوں کی وجہ سے، سائیکل کی تعداد پہلے استعمال پر صفر نہیں ہوسکتی ہے"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"پروسیس اعداد و شمار"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"جاری پروسیسز کے بارے میں مفید اعداد و شمار"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"میموری کا استعمال"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"مہمان کی سرگرمی کو حذف کریں؟"</string>
     <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="8300355036005240911">"مہمان کو فون استعمال کرنے کی اجازت دیں"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"مہمان کو فون کال کرنے کی اجازت دیں"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"کال کی سرگزشت کا مہمان صارف کے ساتھ اشتراک کیا جائے گا"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"‏فون کالز اور SMS آن کریں"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"اس صارف کو منتظم بنائیں"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"‏نیٹ ورک، موبائل نیٹ ورک کی صورتحال، سروس کی صورتحال، سگنل کی قوت، موبائل نیٹ ورک کی قسم، رومنگ، iccid، ‏eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"نمبر شمار، ہارڈ ویئر کا ورژن"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"بیٹری کی معلومات، مینوفیکچر کی تاریخ، چارج سائیکل کی تعداد، پہلا استعمال"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"‏Android سیکیورٹی پیچ کی سطح، بیس بینڈ ورژن، کرنل ورژن"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"تھیم، ہلکی، گہری، وضع، ہلکی حساسیت، فوٹو فوبیا، رنگ کو زیادہ گہرا کرنا، رنگ گہرا کرنا، تاریک وضع، آدھے سر کا درد"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"گہری تھیم"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"آلہ ڈیفالٹ"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"اوورلے کو لاگو کرنا ناکام ہو گیا"</string>
     <string name="special_access" msgid="1767980727423395147">"ایپ کی خاص رسائی"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ایپس غیر محدود ڈیٹا کا استعمال کر سکتی ہیں</item>
-      <item quantity="one">1 ایپ غیر محدود ڈیٹا کا استعمال کر سکتی ہے</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"مزید دیکھیں"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"لمبے پس منظر کے ٹاسکس"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"لمبے وقت تک چلنے والے پس منظر کے ٹاسکس کی اجازت دیں"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ایپ کی موافقت کی تبدیلیاں ٹوگل کریں"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"فعال کردہ ڈیفالٹ تبدیلیاں"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"غیر فعال کردہ ڈیفالٹ تبدیلیاں"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"کوئی ایپ دستیاب نہیں"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"ایپ کی موافقت کی تبدیلیاں صرف قابل ڈیبگ اپپس کے لیے ہی ترمیم کی جا سکتی ہیں۔ قابل ڈیبگ ایپ انسٹال کریں اور دوبارہ کوشش کریں۔"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"دوسری ترتیب پر منحصر ہے"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"اکاؤنٹ"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"بچے کے پروسیس کی پابندیوں کو غیر فعال کریں"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"ایسی ایپ کے سسٹم کے وسیلے کے استعمال پر کاروائیوں کو غیر فعال کریں جنہیں پچہ پروسیس کرتا ہے"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"نوٹس رول کو زبردستی فعال کریں"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"نوٹس رول کے ذریعے نوٹ لینے کے نظام کے انضمام کو فعال کریں۔ اگر نوٹس رول پہلے ہی فعال ہے، تو کچھ کرنے کی ضرورت نہیں ہے۔"</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"نوٹس رول کے ذریعے نوٹ لینے کے نظام کے انضمام کو فعال کریں۔ اگر نوٹس رول پہلے ہی فعال ہے، تو کچھ کرنے کی ضرورت نہیں ہے۔ ریبوٹ کی ضرورت ہے۔"</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"براڈکاسٹ"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> پر براڈکاسٹ کریں"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"وہ براڈکاسٹس سنیں جو آپ کے قریب چل رہے ہیں"</string>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 0944272..993fdba 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth yoqildi"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Hammasi"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stilus"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Birlamchi qaydlar ilovasi"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Stilus tugmasi bosilishi"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Ish profili)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Matn maydonlarida yozish"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Stilus bilan bosilgan barcha tugmalarni eʼtiborsiz qoldirish"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stilus"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Harorat"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Haftaning birinchi kuni"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Raqamlar sozlamalari"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Ilovaga sozlamani oʻzi belgilashiga ruxsat bering"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Birlamchidan foydalanish"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Selsiy (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Farengeyt (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Yakshanba"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Yadro versiyasi"</string>
     <string name="build_number" msgid="9009733242117579826">"Nashr raqami"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play tizim yangilanishi"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Batareyaga oid axborot"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Mavjud emas"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Xotira"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Xotira va kesh"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Bluetooth manzili"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Seriya raqami"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Faollik vaqti"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Ishlab chiqarilgan sana"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Ilk foydalanish sanasi"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Davrlar soni"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Mavjud emas"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Hisoblanmoqda…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Qayta nomlash"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Ulash"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Bunda barcha Bluetooth va Wi-Fi sozlamalari asliga qaytariladi. Bu amalni ortga qaytara olmaysiz."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Tiklash"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth va Wi-Fi sozlamalari tiklandi"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Tozalash"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM kartalarni tozalash"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Bunda mobil xizmatning hech qaysi tarif rejasi bekor qilinmaydi. Yangi eSIM profilini yuklab olish uchun aloqa operatoriga murojaat qiling"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Asliga qaytarish"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Bu qurilmani grafik kalit bilan ochish mumkin"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Bu qurilmani PIN kod bilan ochish mumkin"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Bu qurilmani parol bilan ochish mumkin"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Grafik kalitni tasdiqlash"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"PIN kodni tasdiqlash"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Parolni tasdiqlash"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Davom etish uchun grafik kalitni chizing"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Davom etish uchun qurilmangiz PIN kodini kiriting"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Davom etish uchun qurilmangiz parolini kiriting"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"PIN-kod noto‘g‘ri"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Parol noto‘g‘ri"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Grafik kalit xato"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Ilovalar boʻyicha koʻrish"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Tizim boʻyicha koʻrish"</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">"Yetkazib berishdan oldin sifat nazorati tufayli, quvvatlash davrlari soni birinchi foydalanishda noldan farq qilishi mumkin."</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Jarayonlar statistikasi"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Ish jarayonlari haqidagi g‘alati statistikalar"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Band xotira"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Mehmon faoliyati tozalansinmi?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Joriy mehmon seansidagi ilova va maʼlumotlar hozir tozalanadi va har safar mehmon rejimidan chiqish vaqtida barcha keyingi mehmon faolliklari tozalanadi"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"oʻchirish, mehmon, harakatlar, olib tashlash, maʼlumotlar, tashrifchi, tozalash"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Mehmonga telefon ishlatishi uchun ruxsat"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Mehmonga telefon qilishga ruxsat berish"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Chaqiruvlar tarixi mehmon foydalanuvchiga ham ulashiladi"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Telefon chaqiruvlari va SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Foydalanuvchiga administrator huquqini berish"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"tarmoq, mobil tarmoq holati, xizmat holati, signal kuchi, mobil tarmoq turi, rouming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"seriya raqami, apparat versiyasi"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"batareya haqida axborot, ishlab chiqarilgan sana, davrlar soni, ilk foydalanish"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"android tizimi xavfsizligi uchun yangilanish, aloqa moduli versiyasi, yadro versiyasi"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"mavzu, yorqin, qorongʻi, rejim, yorugʻlik sezuvchanligi, fotofobiya, qorongʻilashtirish, qorongʻi, tungi rejim, bosh ogʻriq"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"tungi mavzu"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Qurilma standarti"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Ustiga joylanmadi"</string>
     <string name="special_access" msgid="1767980727423395147">"Maxsus ruxsatlar"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ta ilova uchun trafik cheklanmagan</item>
-      <item quantity="one">1 ta ilova uchun trafik cheklanmagan</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Yana"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Fondagi uzoq muddatli vazifalar"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Fondagi uzoq muddatli vazifalarga ruxsat berish"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Ilova mosligiga oʻzgartirishlarni koʻrsatish"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Standart yoniq oʻzgartirishlar"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Standart yoqilmagan oʻzgartirishlar"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Mos ilova topilmadi"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Ilova mosligini faqat nosozliklari aniqlanadigan ilovalarda oʻzgartirish mumkin. Nosozliklari aniqlanadigan ilovani oʻrnating va qayta urining."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Bu sozlama boshqa parametrlarga bog‘liq"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Hisob"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Quyi jarayon cheklovlarini faolsizlantiring"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Ilova quyi jarayonlarning tizim resurslaridan foydalanishiga cheklovni faolsizlantiring"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Qaydlar vakolati majburan yoqilsin"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Qaydlar vakolati yordamida qayd yozish tizim funksiyasini yoqish. Qaydlar vakolati allaqachon yoniq, hech nima qilmaydi."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Qaydlar vakolati yordamida qayd yozish tizim funksiyasini yoqish. Qaydlar vakolati allaqachon yoniq, hech nima qilmaydi. Qayta ishga tushirish talab etiladi."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Translatsiya"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"<xliff:g id="CURRENTAPP">%1$s</xliff:g> ilovasiga translatsiya"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Atrofingizdagi translatsiyaga ulaning"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 20c3879..ac4352d 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Đã bật Bluetooth"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Xem tất cả"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Bút cảm ứng"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"Ứng dụng ghi chú mặc định"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Nhấp vào nút ở đuôi"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Hồ sơ công việc)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Viết vào trường văn bản"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Bỏ qua tất cả các lần nhấn nút bằng bút cảm ứng"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Bút cảm ứng"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Nhiệt độ"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Ngày đầu tiên trong tuần"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Lựa chọn ưu tiên về số"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Sử dụng chế độ mặc định của ứng dụng"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Dùng tùy chọn mặc định"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"Độ C (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"Độ F (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"Chủ Nhật"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Phiên bản Kernel"</string>
     <string name="build_number" msgid="9009733242117579826">"Số bản dựng"</string>
     <string name="module_version" msgid="1787518340082046658">"Bản cập nhật hệ thống Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Thông tin về pin"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Không có sẵn"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Bộ nhớ"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Bộ nhớ và bộ nhớ đệm"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Địa chỉ Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Số sê-ri"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Thời gian hoạt động"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Ngày sản xuất"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Ngày bắt đầu sử dụng"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Số chu kỳ"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Không có"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Đang tính toán..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Đổi tên"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Gắn"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Thao tác này sẽ đặt lại tất cả các chế độ cài đặt Bluetooth và Wi‑Fi. Bạn không thể huỷ thao tác này sau khi đã thực hiện."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Đặt lại"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Đã đặt lại Bluetooth và Wi‑Fi"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Xóa"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Xoá eSIM"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Thao tác này sẽ không hủy gói dịch vụ di động nào. Để tải SIM thay thế xuống, hãy liên hệ với nhà mạng của bạn."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Đặt lại chế độ cài đặt"</string>
@@ -1458,6 +1463,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Cũng dùng hình mở khoá để mở khoá thiết bị này"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Cũng dùng mã PIN để mở khoá thiết bị này"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Cũng dùng mật khẩu để mở khoá thiết bị này"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Xác minh hình mở khoá"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Xác minh mã PIN"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Xác minh mật khẩu"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Sử dụng hình mở khoá trên thiết bị của bạn để tiếp tục"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Nhập mã PIN thiết bị của bạn để tiếp tục"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Nhập mật khẩu thiết bị của bạn để tiếp tục"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Mã PIN sai"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Mật khẩu sai"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Hình mở khóa không chính xác"</string>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Xem theo ứng dụng"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Xem theo hệ thống"</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">"Do quy trình kiểm tra chất lượng trước khi vận chuyển, số chu kỳ có thể không bằng 0 trong lần đầu bạn sử dụng"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Số liệu thống kê về quy trình"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Số liệu thống kê chi tiết về các quy trình đang chạy"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Mức sử dụng bộ nhớ"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Xoá hoạt động ở chế độ khách?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Các ứng dụng và dữ liệu trong phiên khách này sẽ bị xoá ngay bây giờ, và tất cả hoạt động sau này ở chế độ khách sẽ bị xoá mỗi khi bạn thoát khỏi chế độ khách"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"xoá, khách, hoạt động, dữ liệu, khách truy cập"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Cho phép khách sử dụng điện thoại"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Cho phép khách gọi điện thoại"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Nhật ký cuộc gọi sẽ được chia sẻ với người dùng khách"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Bật cuộc gọi điện thoại và SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Đặt người dùng này làm quản trị viên"</string>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"mạng, trạng thái mạng di động, trạng thái dịch vụ, cường độ tín hiệu, loại mạng di động, chuyển vùng, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"số sê-ri, phiên bản phần cứng"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"thông tin về pin, ngày sản xuất, số chu kỳ, ngày bắt đầu sử dụng"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"cấp bản vá bảo mật android, phiên bản băng tần cơ sở, phiên bản kernel"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"giao diện, sáng, tối, chế độ, nhạy cảm với ánh sáng, chứng sợ ánh sáng, làm tối hơn, làm tối, chế độ tối, chứng đau nửa đầu"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"giao diện tối"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Theo giá trị mặc định của thiết bị"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Không áp dụng được lớp phủ"</string>
     <string name="special_access" msgid="1767980727423395147">"Quyền truy cập đặc biệt"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ứng dụng có thể sử dụng dữ liệu không bị hạn chế</item>
-      <item quantity="one">1 ứng dụng có thể sử dụng dữ liệu không bị hạn chế</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Xem thêm"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Tác vụ trong nền dài hạn"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Cho phép chạy tác vụ trong nền dài hạn"</string>
@@ -4146,7 +4155,6 @@
     <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>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Các thay đổi được bật theo mặc định"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Các thay đổi bị tắt theo mặc định"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Không có ứng dụng"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Bạn chỉ có thể sửa đổi các thay đổi về khả năng tương thích của ứng dụng đối với các ứng dụng có thể gỡ lỗi. Hãy cài đặt một ứng dụng có thể gỡ lỗi rồi thử lại."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Phụ thuộc vào một cài đặt khác"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Tài khoản"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Tắt các mục hạn chế đối với tiến trình con"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Tắt các mục hạn chế đối với việc sử dụng tài nguyên hệ thống của các tiến trình con của ứng dụng"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Buộc bật vai trò Ghi chú"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Cho phép tích hợp hệ thống ghi chú qua vai trò Ghi chú. Nếu vai trò Ghi chú đã được bật thì không làm gì cả."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Cho phép tích hợp hệ thống ghi chú qua vai trò Ghi chú. Nếu vai trò Ghi chú đã được bật, bạn không cần làm gì cả. Bạn cần phải khởi động lại thiết bị."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Truyền phát"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Phát <xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Nghe nội dung truyền phát đang phát ở gần bạn"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 7c0e6c6..5af8ec9 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"已开启蓝牙"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"查看全部"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"触控笔"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"默认的记事应用"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"按下尾部按钮时"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g>（工作资料）"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"温度"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"一周的第一天"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"数字偏好设置"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"使用应用默认设置"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"使用默认字符串"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"摄氏度 (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"华氏度 (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"星期日"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"内核版本"</string>
     <string name="build_number" msgid="9009733242117579826">"Build 号"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play 系统更新"</string>
+    <string name="battery_info" msgid="7873528123969546728">"电池信息"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"无法获取"</string>
     <string name="storage_settings" msgid="7472188817781592677">"存储"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"存储和缓存"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"蓝牙地址"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"序列号"</string>
     <string name="status_up_time" msgid="1274778533719495438">"开机累计时长"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"制造日期"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"首次使用日期"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"充电循环次数"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"未提供"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"正在计算..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"重命名"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"装载"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"这将重置所有 WLAN 和蓝牙设置。此操作无法撤消。"</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"重置"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"蓝牙和 WLAN 已重置"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"清除"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"清空 eSIM 卡"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"此操作并不会取消任何移动服务套餐。如要下载替代 SIM 卡，请与您的运营商联系。"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"重置设置"</string>
@@ -1458,6 +1463,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>
+    <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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"按应用查看"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"按系统查看"</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">"由于发货前需要检查质量，第一次使用时的充电循环次数可能不为零"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"进程统计信息"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"运行中进程的相关技术统计信息"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"内存用量"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"要删除访客活动吗？"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"此访客会话中的应用和数据将会立即删除；日后您每次退出访客模式时，系统都会删除访客活动记录"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"删除, 访客, 活动, 移除, 数据, 访问者, 清除, delete, guest, activity, remove, data, visitor, erase"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"允许访客使用电话"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"允许访客打电话"</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>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"网络, 移动网络状态, 服务状态, 信号强度, 移动网络类型, 漫游, ICCID, EID, network, mobile network state, service state, signal strength, mobile network type, roaming, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID, eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"序列号, 硬件版本"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"电池信息, battery info, 制造日期, manufacture date, 充电循环次数, cycle count, 首次使用, first use"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"Android 安全补丁程序级别, 基带版本, 内核版本"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"主题, 浅色, 深色, 模式, 光敏度, 畏光, 调暗, 调低亮度, 深色模式, 偏头痛, theme, light, dark, mode, light sensitivity, photophobia, make darker, darken, dark mode, migraine"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"深色主题"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"设备默认设置"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"无法应用叠加"</string>
     <string name="special_access" msgid="1767980727423395147">"特殊应用权限"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> 个应用可以无限量使用流量</item>
-      <item quantity="one">1 个应用可以无限量使用流量</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"查看更多"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"长期后台任务"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"允许执行长期运行的后台任务"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"在应用兼容性变更之间切换"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"默认启用的应用兼容性变更"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"默认停用的应用兼容性变更"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"没有可用的应用"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"只能修改可调试应用的应用兼容性变更。请安装可调试的应用，然后重试。"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"必须一并更改其他设置"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"帐号"</string>
@@ -4536,7 +4544,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>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"停止限制子进程"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"停止限制应用子进程的系统资源用量"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"强制启用“记事”角色"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"通过“记事”角色启用记事系统集成。如果“记事”角色已启用，则无需执行任何操作。"</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"通过“记事”角色启用记事系统集成。如果“记事”角色已启用，则无需执行任何操作。需要重新启动。"</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"广播"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"广播“<xliff:g id="CURRENTAPP">%1$s</xliff:g>”的内容"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"收听在您附近播放的广播"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 12e3614..a8e33ff 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"已開啟藍牙"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"查看全部"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"觸控筆"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"預設筆記應用程式"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"按下尾部按鈕時"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (工作設定檔)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"溫度"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"每週的第一天"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"數字偏好設定"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"使用應用程式預設值"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"使用預設"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"攝氏 (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"華氏 (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"星期日"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"核心版本"</string>
     <string name="build_number" msgid="9009733242117579826">"版本號碼"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play 系統更新"</string>
+    <string name="battery_info" msgid="7873528123969546728">"電池資訊"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"無法使用"</string>
     <string name="storage_settings" msgid="7472188817781592677">"儲存空間"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"儲存空間與快取空間"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"藍牙位址"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"序號"</string>
     <string name="status_up_time" msgid="1274778533719495438">"開機時間"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"製造日期"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"首次使用日期"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"週期數"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"未有提供"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"正在計算..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"重新命名"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"安裝"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"此操作將重設所有 Wi‑Fi 和藍牙設定，且無法復原。"</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"重設"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"已重設藍牙和 Wi‑Fi"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"清除"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"清除 eSIM 卡"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"此操作不會取消任何流動服務計劃。如要下載替換用的 SIM 卡，請聯絡流動網絡供應商。"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"重設設定"</string>
@@ -1458,6 +1463,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>
+    <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>
@@ -2326,6 +2337,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"按應用程式查看"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"按系統查看"</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">"由於出貨前需要進行質量檢查，因此你首次使用時的週期數未必是零"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"程序統計資料"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"執行中程序的技術統計資料"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"記憶體用量"</string>
@@ -2703,7 +2715,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"要刪除訪客活動嗎？"</string>
     <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="8300355036005240911">"允許訪客使用手機"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"允許訪客使用通話功能"</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>
@@ -2929,6 +2941,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"網絡, 流動網絡狀態, 服務狀態, 訊號強度, 流動網絡類型, 漫遊, ICCID, EID"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"EID"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"序號, 硬件版本"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"電池資訊、製造日期、週期數、首次使用"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"Android 安全性修補程式等級, 基頻版本, 核心版本"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"主題, 淺色, 深色, 模式, 光敏度, 光敏, 調暗, 調低亮度, 暗光模式, 偏頭痛"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"深色主題背景"</string>
@@ -3855,10 +3868,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"裝置預設設定"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"無法套用重疊"</string>
     <string name="special_access" msgid="1767980727423395147">"特別應用程式權限"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> 個應用程式可使用無限數據</item>
-      <item quantity="one">1 個應用程式可使用無限數據</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"查看更多"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"長時間執行的背景工作"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"允許長時間執行的背景工作"</string>
@@ -4146,7 +4155,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"切換應用程式兼容性變更"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"預設為啟用的變更"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"預設為已停用的變更"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"沒有可用的應用程式"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"你只能修改 debuggable 應用程式的兼容性。請安裝 debuggable 應用程式，然後再試。"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"必須一併變更其他設定"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"帳戶"</string>
@@ -4664,7 +4672,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"停用對子處理過程的限制"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"停用對應用程式子處理過程的系統資源使用限制"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"強制啟用「筆記」角色"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"透過「筆記」角色啟用筆記系統整合。如已啟用「筆記」角色，則無需執行任何操作。"</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"透過「筆記」角色啟用筆記系統整合。如已啟用「筆記」角色，則無需執行任何操作。 (需要重新啟動裝置)。"</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"廣播"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"廣播「<xliff:g id="CURRENTAPP">%1$s</xliff:g>」的內容"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"收聽正在你附近播放的廣播"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 6f8d37f..81b4e09 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"已開啟藍牙"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"查看全部"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"觸控筆"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"預設的記事應用程式"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"按下按鈕後隨即開啟"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (工作資料夾)"</string>
     <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>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"溫度"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"一週的第一天"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"數字顯示方式偏好"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"使用應用程式預設值"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"使用預設值"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"攝氏 (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"華氏 (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"星期日"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"核心版本"</string>
     <string name="build_number" msgid="9009733242117579826">"版本號碼"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play 系統更新"</string>
+    <string name="battery_info" msgid="7873528123969546728">"電池資訊"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"無法取得"</string>
     <string name="storage_settings" msgid="7472188817781592677">"儲存空間"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"儲存空間和快取"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"藍牙位址"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"序號"</string>
     <string name="status_up_time" msgid="1274778533719495438">"開機累計時間"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"製造日期"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"首次使用日期"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"週期數"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"無法顯示"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"計算中…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"重新命名"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"掛載"</string>
@@ -1269,7 +1275,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"這項操作會重設所有 Wi‑Fi 和藍牙設定，而且無法復原。"</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"重設"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"已重設藍牙和 Wi‑Fi"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"清除"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"清除 eSIM 卡"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"這項操作不會取消任何電信資費方案。如要下載替換用的 SIM 卡，請與你的電信業者聯絡。"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"重設設定"</string>
@@ -1458,6 +1463,18 @@
     <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_invalid_pin" msgid="7530854476819820600">"PIN 碼錯誤"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"密碼錯誤"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"圖案錯誤"</string>
@@ -1830,7 +1847,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>
@@ -2326,6 +2343,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"應用程式"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"系統"</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">"送貨前會進行品質檢測，因此初次使用時，電池循環次數可能不是零"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"處理程序統計資料"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"執行中處理程序的相關完善統計資料"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"記憶體用量"</string>
@@ -2703,7 +2721,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"要刪除訪客活動嗎？"</string>
     <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="8300355036005240911">"允許訪客使用手機"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"允許訪客使用通話功能"</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>
@@ -2929,6 +2947,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"網路, 行動網路狀態, 服務狀態, 訊號強度, 行動網路類型, 漫遊, iccid, eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"序號、硬體版本"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"電池資訊, 製造日期, 週期數, 首次使用"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"Android 安全性修補程式等級、基頻版本、核心版本"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"主題, 淺度, 深色, 模式, 對光線敏感, 畏光, 調暗, 降低亮度, 深色模式, 偏頭痛"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"深色主題"</string>
@@ -3855,10 +3874,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"裝置預設設定"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"無法套用重疊顯示"</string>
     <string name="special_access" msgid="1767980727423395147">"特殊應用程式存取權"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> 個應用程式不受數據用量限制</item>
-      <item quantity="one">1 個應用程式不受數據用量限制</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"查看更多項目"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"長期背景作業"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"允許長期執行的背景作業"</string>
@@ -4146,7 +4161,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"切換應用程式相容性變更"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"預設啟用的應用程式有相容性異動"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"預設停用的應用程式有相容性異動"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"沒有可用的應用程式"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"你只能修改可偵錯應用程式的應用程式相容性變更。請安裝可進行偵錯的應用程式，然後再試一次。"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"必須一併變更其他設定"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"帳戶"</string>
@@ -4664,7 +4678,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"停止限制子程序"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"停止限制應用程式子程序的系統資源用量"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"強制啟用「記事」角色"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"透過「記事」角色啟用記事系統整合作業。如果「記事」角色已啟動，系統不會有任何動作。"</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"透過「記事」角色啟用記事系統整合作業。如果「記事」角色已啟用，系統不會有任何動作 (必須重新啟動裝置)。"</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"廣播"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"播送「<xliff:g id="CURRENTAPP">%1$s</xliff:g>」的內容"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"收聽附近正在播放的廣播"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 4341b09..82e2015 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -119,7 +119,8 @@
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"I-Bluetooth ivuliwe"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Buka konke"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"I-Stylus"</string>
-    <string name="stylus_default_notes_app" msgid="3896158797687806941">"I-app yamanothi wokuzenzakalelayo"</string>
+    <string name="stylus_default_notes_app" msgid="4165657465911764628">"Ukucindezela inkinobho yomsila"</string>
+    <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Iphrofayela yomsebenzi)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Bhala ezinkambini zombhalo"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ziba konke ukucindezela inkinobho ye-stylus"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"I-Stylus"</string>
@@ -177,7 +178,7 @@
     <string name="temperature_preferences_title" msgid="5009881556503629058">"Izinga lokushisa"</string>
     <string name="first_day_of_week_preferences_title" msgid="1971850087589599553">"Usuku lokuqala lweviki"</string>
     <string name="numbers_preferences_title" msgid="8197418984391195446">"Izintandokazi zezinombolo"</string>
-    <string name="default_string_of_regional_preference" msgid="7662581547334113719">"Sebenzisa okuzenzakalelayo kwe-app"</string>
+    <string name="default_string_of_regional_preference" msgid="3428899072914884203">"Sebenzisa okuzenzakalelayo"</string>
     <string name="celsius_temperature_unit" msgid="8896459071273084507">"I-Celsius (°C)"</string>
     <string name="fahrenheit_temperature_unit" msgid="1118677820614569801">"I-Fahrenheit (°F)"</string>
     <string name="sunday_first_day_of_week" msgid="7644548348295686051">"ISonto"</string>
@@ -1124,6 +1125,7 @@
     <string name="kernel_version" msgid="3513538109381366881">"Inguqulo ye-Kernel"</string>
     <string name="build_number" msgid="9009733242117579826">"Inombolo yesakhi"</string>
     <string name="module_version" msgid="1787518340082046658">"Isibuyekezo sesistimu se-Google Play"</string>
+    <string name="battery_info" msgid="7873528123969546728">"Ulwazi lebhetri"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"Akutholakali"</string>
     <string name="storage_settings" msgid="7472188817781592677">"Isitoreji"</string>
     <string name="storage_settings_for_app" msgid="229425418984637483">"Isitoreji nenqolobane"</string>
@@ -1156,6 +1158,10 @@
     <string name="status_bt_address" msgid="6919660304578476547">"Ikheli le-Bluetooth"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"Inombolo yomkhiqizo"</string>
     <string name="status_up_time" msgid="1274778533719495438">"Isikhathi esiphezulu"</string>
+    <string name="battery_manufacture_date" msgid="7139426520156833987">"Ilanga lokukhiqiza"</string>
+    <string name="battery_first_use_date" msgid="3157207331722711317">"Ilanga lokuqala ukusebenzisa"</string>
+    <string name="battery_cycle_count" msgid="2912949283386571900">"Isibalo somjikelezo"</string>
+    <string name="battery_cycle_count_not_available" msgid="2426584515665184664">"Ayitholakali"</string>
     <string name="memory_calculating_size" msgid="3898240439798661242">"Iyabala..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Qamba kabusha"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Khweza"</string>
@@ -1270,7 +1276,6 @@
     <string name="reset_bluetooth_wifi_desc" msgid="4030295669083059711">"Lokhu kuzosetha kabusha yonke i-Wi-Fi namasethingi e-Bluetooth. Awukwazi ukuhlehlisa lesi senzo."</string>
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Setha kabusha"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"I-Bluetooth ne-Wi-Fi zisethwe kabusha"</string>
-    <string name="erase_euicc_data_button" msgid="728078969563311737">"Sula"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Sula ama-eSIMs"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Lokhu ngeke kukhansele noma yiziphi izinhlelo zesevisi yeselula. Ukuze ulande okokumisela ama-SIM, xhumana nenkampani yakho yenethiwekhi."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Setha kabusha izilungiselelo"</string>
@@ -1459,6 +1464,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Futhi sebenzisa iphethini ukuvula le divayisi"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Futhi sebenzisa Iphinikhodi ukuvula le divayisi"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Futhi sebenzisa iphasiwedi ukuvula le divayisi"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Qinisekisa iphethini"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Qinisekisa iphinikhodi"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Qinisekisa iphasiwedi"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Sebenzisa iphethini yedivayisi yakho ukuze uqhubeke"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Faka i-PIN yedivayisi yakho ukuze uqhubeke"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Faka iphasiwedi yedivayisi yakho ukuze uqhubeke"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Iphinikhodi engalungile"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Iphasiwedi engalungile"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Iphethini engalungile"</string>
@@ -2327,6 +2338,7 @@
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Buka ngama-app"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Buka ngamasistimu"</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">"Ngenxa yokuhlolwa kwekhwalithi ngaphambi kokuthunyelwa, isibalo somjikelezo singase singabi nguziro ekusetshenzisweni kokuqala"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Izibalo zenqubo"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Izibalo ze-Geeky mayelana nezinqubo zokuqalisa"</string>
     <string name="app_memory_use" msgid="7559666138324410666">"Ukusetshenziswa kwememori"</string>
@@ -2704,7 +2716,7 @@
     <string name="remove_guest_on_exit_dialog_title" msgid="2310442892536079416">"Sula umsebenzi wesihambeli?"</string>
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"Ama-app nedatha okusuka kulesi sikhathi sesihambeli kuzosulwa manje, wonke umsebenzi wesihambeli wesikhathi esizayo uzosulwa njalo lapho uphuma kwimodi yesivakashi."</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"sula, isivakashi, umsebenzi, susa, idatha, isivakashi, sula"</string>
-    <string name="enable_guest_calling" msgid="8300355036005240911">"Vumela isihambeli ukusebenzisa ifoni"</string>
+    <string name="enable_guest_calling" msgid="4620657197834392094">"Vumela isihambeli ukuthi senze amakholi wefoni"</string>
     <string name="enable_guest_calling_summary" msgid="4748224917641204782">"Umlando wekholi uzokwabiwa nomsebenzisi wesihambeli"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"Vula amakholi wefoni ne-SMS"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"Yenza lo msebenzisi abe umphathi"</string>
@@ -2930,6 +2942,7 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"inethiwekhi, isimo senethiwekhi yeselula, isimo sesevisi, amandla esiginali, uhlobo lwenethiwekhi yeselula, ukuzula, i-iccid, i-eid"</string>
     <string name="keywords_esim_eid" msgid="8128175058237372457">"i-eid"</string>
     <string name="keywords_model_and_hardware" msgid="4723665865709965044">"inombolo yomkhiqizo, inguqulo yehadiwe"</string>
+    <string name="keywords_battery_info" msgid="3319796850366687033">"ulwazi lwebhethri, ilanga lokukhiqiza, ukubalwa komjikelezo, ukusebenzisa kokuqala"</string>
     <string name="keywords_android_version" msgid="1629882125290323070">"ileveli yepeshi yokuvikelwa kwe-android, inguqulo ye-baseband, inguqulo ye-kernel"</string>
     <string name="keywords_dark_ui_mode" msgid="6373999418195344014">"itimu, ukukhanya, imodi emnyama, ukuzelwa kokukhanyayo, i-photophobia, yenza kube mnyama, mnyama, imodi emnyama, i-migraine"</string>
     <string name="keywords_systemui_theme" msgid="6341194275296707801">"itimu emnyama"</string>
@@ -3856,10 +3869,6 @@
     <string name="overlay_option_device_default" msgid="7986355499809313848">"Idivayisi ezenzakalelayo"</string>
     <string name="overlay_toast_failed_to_apply" msgid="4839587811338164960">"Yehlulekile ukusebenzisa imbondela"</string>
     <string name="special_access" msgid="1767980727423395147">"Ukufinyelela kwi-app okukhethekile"</string>
-    <plurals name="special_access_summary" formatted="false" msgid="4995506406763570815">
-      <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> izinhlelo zokusebenza zingasebenzisa idatha engakhawulelwe</item>
-      <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> izinhlelo zokusebenza zingasebenzisa idatha engakhawulelwe</item>
-    </plurals>
     <string name="special_access_more" msgid="132919514147475846">"Bona okwengeziwe"</string>
     <string name="long_background_tasks_label" msgid="3169590134850226687">"Imisebenzi yangemuva emide"</string>
     <string name="long_background_tasks_switch_title" msgid="2491623894899492543">"Vumela imisebenzi yangemuva esebenza isikhathi eside"</string>
@@ -4147,7 +4156,6 @@
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Guqula ushintsho lokuhambisana kohlelo lokusebenza"</string>
     <string name="platform_compat_default_enabled_title" msgid="8973137337738388024">"Ushintsho olunikwe amandla oluzenzakalelayo"</string>
     <string name="platform_compat_default_disabled_title" msgid="3975847180953793602">"Ushintsho olukhutshaziwe oluzenzakalelayo"</string>
-    <string name="platform_compat_dialog_title_no_apps" msgid="4387656000745989506">"Azikho izinhlelo zokusebenza ezitholakalayo"</string>
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Izinguquko zokuhambelana kohlelo lokusebenza zingalungiswa kuphela kuzinhlelo zokusebenza ezingalungiswa amaphutha. Faka uhlelo lokusebenza olungalungiswa amaphutha bese uzama futhi"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Kuncike kwesinye isilungiselelo"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"I-Akhawunti"</string>
@@ -4665,7 +4673,7 @@
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Khubaza imikhawulo yenqubo yengane"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Khubaza imikhawulo ekusetshenzisweni kwensiza yesistimu yezinqubo zezingane ze-app"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Phoqa ukunika amandla indima yamanothi"</string>
-    <string name="enable_notes_role_summary" msgid="136916915155048249">"Nika amandla ukuhlanganiswa kwesistimu yokuthatha amanothi ngendima Yamanothi. Uma indima Yamanothi isivele inikwe amandla, ayenzi lutho."</string>
+    <string name="enable_notes_role_summary" msgid="5495721409392395089">"Nika amandla ukuhlanganiswa kwesistimu yokuthatha amanothi ngendima Yamanothi. Uma indima Yamanothi isivele inikwe amandla, ayenzi lutho. Kudinga ukuqalisa."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Sakaza"</string>
     <string name="bluetooth_broadcast_dialog_broadcast_app" msgid="1016617579194329005">"Sakaza i-<xliff:g id="CURRENTAPP">%1$s</xliff:g>"</string>
     <string name="bluetooth_broadcast_dialog_find_message" msgid="6621660851669953883">"Lalela ukusakaza okuseduze kwakho"</string>
diff --git a/res/values/config.xml b/res/values/config.xml
index 5ae0220..687fa15 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -548,6 +548,9 @@
     <!-- Whether to show Smooth Display feature in Settings Options -->
     <bool name="config_show_smooth_display">false</bool>
 
+    <!-- Whether to show Stay awake on fold feature in Settings Options -->
+    <bool name="config_stay_awake_on_fold">false</bool>
+
     <!-- Whether to show emergency settings in top-level Settings -->
     <bool name="config_show_emergency_settings">true</bool>
 
@@ -608,6 +611,31 @@
         <item>3</item>
     </integer-array>
 
+    <!-- App aspect ratio settings screen, user aspect ratio override options. Must be the same
+         length and order as config_userAspectRatioOverrideValues below. -->
+    <string-array name="config_userAspectRatioOverrideEntries" translatable="false">
+        <item>@string/user_aspect_ratio_app_default</item>
+        <item>@string/user_aspect_ratio_fullscreen</item>
+        <item>@string/user_aspect_ratio_half_screen</item>
+        <item>@string/user_aspect_ratio_device_size</item>
+        <item>@string/user_aspect_ratio_16_9</item>
+        <item>@string/user_aspect_ratio_4_3</item>
+        <item>@string/user_aspect_ratio_3_2</item>
+    </string-array>
+
+    <!-- App aspect ratio settings screen, user aspect ratio override options. Must be the same
+         length and order as config_userAspectRatioOverrideEntries above. The values must
+         correspond to PackageManager.UserMinAspectRatio -->
+    <integer-array name="config_userAspectRatioOverrideValues" translatable="false">
+        <item>0</item> <!-- USER_MIN_ASPECT_RATIO_UNSET -->
+        <item>6</item> <!-- USER_MIN_ASPECT_RATIO_FULLSCREEN -->
+        <item>1</item> <!-- USER_MIN_ASPECT_RATIO_SPLIT_SCREEN -->
+        <item>2</item> <!-- USER_MIN_ASPECT_RATIO_DISPLAY_SIZE -->
+        <item>4</item> <!-- USER_MIN_ASPECT_RATIO_16_9 -->
+        <item>3</item> <!-- USER_MIN_ASPECT_RATIO_4_3 -->
+        <item>5</item> <!-- USER_MIN_ASPECT_RATIO_3_2 -->
+    </integer-array>
+
     <!-- The settings/preference description for each settable device state defined in the array
          "config_perDeviceStateRotationLockDefaults".
          The item in position "i" describes the auto-rotation setting for the device state also in
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index de33ec7..a7a124a 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -229,6 +229,15 @@
     <!-- Minimum height for setting a lock pattern -->
     <dimen name="choose_lockscreen_min_height">200dp</dimen>
 
+    <!-- Choose lock Password requirement dimensions -->
+    <dimen name="password_requirement_view_margin_top">16dp</dimen>
+
+    <!-- Screen lock option button dimensions -->
+    <dimen name="screen_lock_options_button_margin_top">32dp</dimen>
+
+    <!-- Choose lock Password requirement font size -->
+    <dimen name="password_requirement_font_size">16sp</dimen>
+
     <!-- Select dialog -->
     <dimen name="select_dialog_padding_start">20dp</dimen>
     <dimen name="select_dialog_item_margin_start">12dp</dimen>
diff --git a/res/values/ids.xml b/res/values/ids.xml
index c1cfe2e..efd1791 100644
--- a/res/values/ids.xml
+++ b/res/values/ids.xml
@@ -40,4 +40,8 @@
 
     <!-- For a layout container to add AppLocaleDetails into -->
     <item type="id" name="layout_app_locale_details" />
+
+    <!-- For screen lock options button -->
+    <item type="id" name="screen_lock_options" />
+
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 1ad45d5..ba5f72d 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -258,8 +258,10 @@
 
     <!-- Title for stylus device details page [CHAR LIMIT=50] -->
     <string name="stylus_device_details_title">Stylus</string>
-    <!-- Preference title for setting the default note taking app [CHAR LIMIT=none] -->
-    <string name="stylus_default_notes_app">Default notes app</string>
+    <!-- Preference title for setting the app that opens user presses stylus button [CHAR LIMIT=none] -->
+    <string name="stylus_default_notes_app">Tail button press</string>
+    <!-- Summary for the app that opens when user presses stylus tail button, if set to a work profile app [CHAR LIMIT=none] -->
+    <string name="stylus_default_notes_summary_work"><xliff:g id="app_name" example="Mail">%s</xliff:g> (Work profile)</string>
     <!-- Preference title for toggling whether handwriting in textfields is enabled [CHAR LIMIT=none] -->
     <string name="stylus_textfield_handwriting">Write in text fields</string>
     <!-- Preference title for toggling whether stylus button presses are ignored [CHAR LIMIT=none] -->
@@ -411,7 +413,7 @@
     <!-- The title of the menu entry of Numbers system preference. [CHAR LIMIT=50]  -->
     <string name="numbers_preferences_title">Numbers preferences</string>
     <!-- The summary of default string for each regional preference. [CHAR LIMIT=50] -->
-    <string name="default_string_of_regional_preference">Use app default</string>
+    <string name="default_string_of_regional_preference">Use default</string>
     <!-- The title of Celsius for preference of temperature unit. [CHAR LIMIT=50] -->
     <string name="celsius_temperature_unit">Celsius (\u00B0C)</string>
     <!-- The title of Fahrenheit for preference of temperature unit. [CHAR LIMIT=50] -->
@@ -863,7 +865,7 @@
 
     <!-- Biometric settings --><skip />
     <!-- Title shown for menu item that launches biometric settings. [CHAR LIMIT=66] -->
-    <string name="security_settings_biometric_preference_title">Face &amp; Fingerprint Unlock</string>
+    <string name="security_settings_biometric_preference_title">Fingerprint &amp; Face Unlock</string>
     <!-- Title shown for work menu item that launches biometric settings. [CHAR LIMIT=66] -->
     <string name="security_settings_work_biometric_preference_title">Face &amp; Fingerprint Unlock for work</string>
     <!-- Message shown in summary field of biometric settings. [CHAR LIMIT=66] -->
@@ -1215,14 +1217,8 @@
     <!-- Title for preference that guides the user to skip Face Unlock setup [CHAR LIMIT=60]-->
     <string name="face_unlock_skip_face">Continue without Face Unlock</string>
 
-    <!-- Title for preference that guides the user through creating a backup unlock pattern for biometrics unlock [CHAR LIMIT=45]-->
-    <string name="biometrics_unlock_set_unlock_pattern">Pattern \u2022 Face \u2022 Fingerprint</string>
-    <!-- Title for preference that guides the user through creating a backup unlock PIN for biometrics unlock [CHAR LIMIT=45]-->
-    <string name="biometrics_unlock_set_unlock_pin">PIN \u2022 Face \u2022 Fingerprint</string>
-    <!-- Title for preference that guides the user through creating a backup unlock password for biometrics unlock [CHAR LIMIT=45]-->
-    <string name="biometrics_unlock_set_unlock_password">Password \u2022 Face \u2022 Fingerprint</string>
     <!-- Title for preference that guides the user to skip face unlock setup [CHAR LIMIT=60]-->
-    <string name="biometrics_unlock_skip_biometrics">Continue without face or fingerprint</string>
+    <string name="biometrics_unlock_skip_biometrics">Continue without fingerprint or face</string>
 
     <!-- Summary for "Configure lockscreen" when lock screen is off [CHAR LIMIT=45] -->
     <string name="unlock_set_unlock_mode_off">None</string>
@@ -2361,6 +2357,10 @@
     <string name="display_white_balance_title">Display white balance</string>
     <!-- Display settings screen, display white balance settings summary [CHAR LIMIT=NONE] -->
     <string name="display_white_balance_summary"></string>
+    <!-- Display settings screen, setting name to enable staying awake on fold [CHAR LIMIT=30] -->
+    <string name="stay_awake_on_fold_title">Stay unlocked on fold</string>
+    <!-- Display settings screen, setting summary to enable staying awake on fold [CHAR LIMIT=NONE] -->
+    <string name="stay_awake_on_fold_summary">Keep front display unlocked when folded until screen timeout</string>
     <!-- Display settings screen, peak refresh rate settings title [CHAR LIMIT=30] -->
     <string name="peak_refresh_rate_title">Smooth Display</string>
     <!-- Display settings screen, peak refresh rate settings summary [CHAR LIMIT=NONE] -->
@@ -2658,6 +2658,8 @@
     <string name="build_number">Build number</string>
     <!-- About phone screen, tapping this button will take user to a seperate UI to check Google Play system update [CHAR LIMIT=60] -->
     <string name="module_version">Google Play system update</string>
+    <!-- About phone screen, show a list of battery information  [CHAR LIMIT=60] -->
+    <string name="battery_info">Battery information</string>
 
     <!-- About phone screen, show when a value of some status item is unavailable. -->
     <string name="device_info_not_available">Not available</string>
@@ -2729,6 +2731,16 @@
     <string name="status_serial_number">Serial number</string>
     <!-- About phone, status item title.  How long the device has been running since its last reboot. -->
     <string name="status_up_time">Up time</string>
+
+    <!-- About phone, status item title. The battery manufacture date. [CHAR LIMIT=60]-->
+    <string name="battery_manufacture_date">Manufacture date</string>
+    <!-- About phone, status item title. Date of first use of the battery. [CHAR LIMIT=60]-->
+    <string name="battery_first_use_date">Date of first use</string>
+    <!-- About phone, status item title. Count of battery full charge/discharge cycles [CHAR LIMIT=60]-->
+    <string name="battery_cycle_count">Cycle count</string>
+    <!-- About phone, status item title. The status summary for cycle count that's not available. [CHAR LIMIT=40] -->
+    <string name="battery_cycle_count_not_available">Unavailable</string>
+
     <!-- SD card & phone storage settings summary. Displayed when the total memory usage is being calculated. Will be replaced with a number like "12.3 GB" when finished calucating. [CHAR LIMIT=30] -->
     <string name="memory_calculating_size">Calculating\u2026</string>
 
@@ -3012,8 +3024,6 @@
     <string name="reset_bluetooth_wifi_complete_toast">Bluetooth &amp; Wi\u2011Fi have been reset</string>
 
     <!-- Erase Euicc -->
-    <!-- Confirmation button of dialog to confirm resetting user's app preferences [CHAR LIMIT=NONE] -->
-    <string name="erase_euicc_data_button">Erase</string>
     <!-- Erase Euicc dialog and SD card & phone storage settings screen, title for the menu option and checkbox to let user decide whether erase eSIM data together [CHAR LIMIT=50] -->
     <string name="reset_esim_title">Erase eSIMs</string>
     <!-- Erase Euicc dialog and SD card & phone storage settings screen, message for the checkbox to let user decide whether erase eSIM data together [CHAR LIMIT=NONE] -->
@@ -3483,6 +3493,18 @@
     <!-- Checkbox label to set password as new screen lock if remote device credential validation succeeds. [CHAR LIMIT=43] -->
     <string name="lockpassword_remote_validation_set_password_as_screenlock">Also use password to unlock this device</string>
 
+    <!-- Header shown when pattern needs to be solved before the device exits repair mode. [CHAR LIMIT=40] -->
+    <string name="lockpassword_confirm_repair_mode_pattern_header">Verify pattern</string>
+    <!-- Header shown when the pin needs to be solved before the device exits repair mode. [CHAR LIMIT=40] -->
+    <string name="lockpassword_confirm_repair_mode_pin_header">Verify PIN</string>
+    <!-- Header shown when the password needs to be solved before the device exits repair mode. [CHAR LIMIT=40] -->
+    <string name="lockpassword_confirm_repair_mode_password_header">Verify password</string>
+    <!-- An explanation text that the pattern needs to be solved before the device exits repair mode. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_repair_mode_pattern_details">Use your device pattern to continue</string>
+    <!-- An explanation text that the PIN needs to be solved before the device exits repair mode. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_repair_mode_pin_details">Enter your device PIN to continue</string>
+    <!-- An explanation text that the password needs to be solved before the device exits repair mode. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_repair_mode_password_details">Enter your device password to continue</string>
 
     <!-- Security & location settings screen, change security method screen instruction if user
          enters incorrect PIN [CHAR LIMIT=30] -->
@@ -5511,6 +5533,8 @@
     <string name="battery_usage_less_than_percent">&lt; <xliff:g id="percentage">%1$s</xliff:g></string>
     <!-- Process Stats strings -->
     <skip />
+    <!-- Description of battery information footer text. [CHAR LIMIT=NONE] -->
+    <string name="battery_cycle_count_footer">Due to quality inspections before shipping, the cycle count may not be zero on first use</string>
 
     <!-- [CHAR LIMIT=NONE] Activity title for Process Stats summary -->
     <string name="process_stats_summary_title">Process Stats</string>
@@ -6405,7 +6429,7 @@
     <!-- Search keywords for the "Delete Guest Activity" section in Multiple Users Screen. [CHAR LIMIT=NONE] -->
     <string name="remove_guest_on_exit_keywords">delete, guest, activity, remove, data, visitor, erase</string>
     <!-- Title of preference to enable guest calling[CHAR LIMIT=40] -->
-    <string name="enable_guest_calling">Allow guest to use phone</string>
+    <string name="enable_guest_calling">Allow guest to make phone calls</string>
     <!-- Summary of preference to enable guest calling [CHAR LIMIT=NONE] -->
     <string name="enable_guest_calling_summary">Call history will be shared with guest user</string>
 
@@ -7008,6 +7032,9 @@
     <string name="keywords_app_pinning">screen pinning</string>
     <string name="keywords_profile_challenge">work challenge, work, profile</string>
     <string name="keywords_unification">work profile, managed profile, unify, unification, work, profile</string>
+    <string name="keywords_stay_awake_on_lock">
+        awake, sleep, do not lock, stay unlocked on fold, folding, closing, fold, close, screen off
+    </string>
     <string name="keywords_gesture">gestures</string>
     <string name="keywords_wallet">wallet</string>
     <string name="keywords_payment_settings">pay, tap, payments</string>
@@ -7022,6 +7049,7 @@
     <string name="keywords_sim_status_iccid_esim">network, mobile network state, service state, signal strength, mobile network type, roaming, iccid, eid</string>
     <string name="keywords_esim_eid">eid</string>
     <string name="keywords_model_and_hardware">serial number, hardware version</string>
+    <string name="keywords_battery_info">battery info, manufacture date, cycle count, first use</string>
     <string name="keywords_android_version">android security patch level, baseband version, kernel version</string>
     <!-- Search keywords for dark mode settings [CHAR LIMIT=NONE] -->
     <string name="keywords_dark_ui_mode">theme, light, dark, mode, light sensitivity, photophobia, make darker, darken, dark mode, migraine</string>
@@ -9705,12 +9733,6 @@
     <!-- [CHAR_LIMIT=60] Label for special access screen -->
     <string name="special_access">Special app access</string>
 
-    <!-- Summary for special access settings [CHAR_LIMIT=NONE] -->
-    <plurals name="special_access_summary">
-        <item quantity="one">1 app can use unrestricted data</item>
-        <item quantity="other"><xliff:g id="count" example="10">%d</xliff:g> apps can use unrestricted data</item>
-    </plurals>
-
     <!-- Title for the See more preference item in Special app access settings [CHAR LIMIT=30] -->
     <string name="special_access_more">See more</string>
 
@@ -10511,7 +10533,7 @@
     <!-- Debugging developer settings: enable angle as system driver? [CHAR LIMIT=50] -->
     <string name="enable_angle_as_system_driver">Enable ANGLE</string>
     <!-- Debugging developer settings: enable angle as system driver summary [CHAR LIMIT=NONE] -->
-    <string name="enable_angle_as_system_driver_summary">Enable ANGLE as system OpenGL ES driver</string>
+    <string name="enable_angle_as_system_driver_summary">Enable ANGLE as default OpenGL ES driver. Enabling it on incompatible devices may break some applications.</string>
     <!--Dialog body text used to explain a reboot is required after changing ANGLE as system GLES driver setting-->
     <string name="reboot_dialog_enable_angle_as_system_driver">A reboot is required to change the system OpenGL ES driver</string>
 
@@ -10527,8 +10549,6 @@
     <string name="platform_compat_default_disabled_title">Default disabled changes</string>
     <!-- Title for target SDK gated app compat changes category (do not translate 'targetSdkVersion') [CHAR LIMIT=50] -->
     <string name="platform_compat_target_sdk_title">Enabled for targetSdkVersion &gt;= <xliff:g id="number" example="29">%d</xliff:g></string>
-    <!-- Title for the dialog shown when no debuggable apps are available [CHAR LIMIT=30] -->
-    <string name="platform_compat_dialog_title_no_apps">No apps available</string>
     <!-- Explanatory text shown when no debuggable apps are available [CHAR LIMIT=NONE] -->
     <string name="platform_compat_dialog_text_no_apps">App compatibility changes can only be modified for debuggable apps. Install a debuggable app and try again.</string>
 
@@ -11987,7 +12007,7 @@
     <!-- Developer settings: Title for force enabling Notes role. [CHAR LIMIT=50]-->
     <string name="enable_notes_role_title">Force enable Notes role</string>
     <!-- Developer settings: Summary for disabling phantom process monitoring. [CHAR LIMIT=NONE]-->
-    <string name="enable_notes_role_summary">Enable note-taking system integrations via the Notes role. If the Notes role is already enabled, does nothing.</string>
+    <string name="enable_notes_role_summary">Enable note-taking system integrations via the Notes role. If the Notes role is already enabled, does nothing. Requires reboot.</string>
 
 
     <!-- BT LE Audio Device: Media Broadcast -->
@@ -12061,6 +12081,33 @@
     other {Apps installed more than # months ago}
     }</string>
 
+    <!-- App Aspect Ratio (User Aspect Ratio Override) -->
+    <!-- [CHAR LIMIT=60] Aspect ratio title setting to choose app aspect ratio -->
+    <string name="aspect_ratio_title">Aspect ratio</string>
+    <!-- [CHAR LIMIT=NONE] Aspect ratio setting summary to choose aspect ratio for apps unoptimized for device -->
+    <string name="aspect_ratio_summary">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>
+    <!-- [CHAR LIMIT=NONE] Aspect ratio suggested apps filter label -->
+    <string name="user_aspect_ratio_suggested_apps_label">Suggested apps</string>
+    <!-- [CHAR LIMIT=NONE] Filter label for apps that have user aspect ratio override applied -->
+    <string name="user_aspect_ratio_overridden_apps_label">Apps you have overridden</string>
+    <!-- [CHAR LIMIT=NONE] App default aspect ratio entry -->
+    <string name="user_aspect_ratio_app_default">App default</string>
+    <!-- [CHAR LIMIT=NONE] Fullscreen aspect ratio entry -->
+    <string name="user_aspect_ratio_fullscreen">Full screen</string>
+    <!-- [CHAR LIMIT=NONE] Half screen aspect ratio entry -->
+    <string name="user_aspect_ratio_half_screen">Half screen</string>
+    <!-- [CHAR LIMIT=NONE] Device display size aspect ratio entry -->
+    <string name="user_aspect_ratio_device_size">Device aspect ratio</string>
+    <!-- [CHAR LIMIT=NONE] 16:9 aspect ratio entry -->
+    <string name="user_aspect_ratio_16_9">16:9</string>
+    <!-- [CHAR LIMIT=NONE] 3:2 aspect ratio entry -->
+    <string name="user_aspect_ratio_3_2">3:2</string>
+    <!-- [CHAR LIMIT=NONE] 4:3 aspect ratio entry -->
+    <string name="user_aspect_ratio_4_3">4:3</string>
+    <!-- [CHAR LIMIT=NONE] Warning description for app info aspect ratio page -->
+    <string name="app_aspect_ratio_footer">The app will restart when you change aspect ratio. You may lose unsaved changes.</string>
+
+
     <!-- Accessibility label for fingerprint sensor [CHAR LIMIT=NONE] -->
     <string name="accessibility_fingerprint_label">Fingerprint sensor</string>
 
diff --git a/res/values/styles.xml b/res/values/styles.xml
index fe15226..ee78a45 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -947,4 +947,10 @@
         <item name="biometricsEnrollProgressHelp">@color/udfps_enroll_progress_help</item>
         <item name="biometricsEnrollProgressHelpWithTalkback">@color/udfps_enroll_progress_help_with_talkback</item>
     </style>
+
+    <style name="ScreenLockPasswordHintTextFontStyle">
+        <item name="android:textColor">?android:attr/textColorPrimary</item>
+        <item name="android:fontFamily">google-sans-text</item>
+    </style>
+
 </resources>
diff --git a/res/xml/apps.xml b/res/xml/apps.xml
index ae51bae..73bcbc9 100644
--- a/res/xml/apps.xml
+++ b/res/xml/apps.xml
@@ -80,6 +80,17 @@
         android:order="10"/>
 
     <Preference
+        android:key="aspect_ratio_apps"
+        android:title="@string/aspect_ratio_title"
+        android:summary="@string/summary_placeholder"
+        android:order="14"
+        settings:controller="com.android.settings.applications.appcompat.UserAspectRatioAppsPreferenceController"
+        android:fragment="com.android.settings.applications.manageapplications.ManageApplications">
+        <extra android:name="classname"
+               android:value="com.android.settings.Settings$UserAspectRatioAppListActivity"/>
+    </Preference>
+
+    <Preference
         android:key="hibernated_apps"
         android:title="@string/unused_apps"
         android:summary="@string/summary_placeholder"
@@ -105,7 +116,6 @@
         android:key="special_access"
         android:fragment="com.android.settings.applications.specialaccess.SpecialAccessSettings"
         android:title="@string/special_access"
-        android:order="20"
-        settings:controller="com.android.settings.applications.SpecialAppAccessPreferenceController"/>
+        android:order="20"/>
 
 </PreferenceScreen>
diff --git a/res/xml/battery_info.xml b/res/xml/battery_info.xml
new file mode 100644
index 0000000..8e3c31f
--- /dev/null
+++ b/res/xml/battery_info.xml
@@ -0,0 +1,50 @@
+<?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.
+  -->
+
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:title="@string/battery_info"
+    settings:keywords="@string/keywords_battery_info">
+
+    <Preference
+        android:key="battery_info_manufacture_date"
+        android:title="@string/battery_manufacture_date"
+        android:summary="@string/summary_placeholder"
+        settings:controller="com.android.settings.deviceinfo.batteryinfo.BatteryManufactureDatePreferenceController"
+        settings:enableCopying="true"/>
+
+    <Preference
+        android:key="battery_info_first_use_date"
+        android:title="@string/battery_first_use_date"
+        android:summary="@string/summary_placeholder"
+        settings:controller="com.android.settings.deviceinfo.batteryinfo.BatteryFirstUseDatePreferenceController"
+        settings:enableCopying="true"/>
+
+    <Preference
+        android:key="battery_info_cycle_count"
+        android:title="@string/battery_cycle_count"
+        android:summary="@string/summary_placeholder"
+        settings:controller="com.android.settings.deviceinfo.batteryinfo.BatteryCycleCountPreferenceController"
+        settings:enableCopying="true"/>
+
+    <com.android.settingslib.widget.FooterPreference
+        android:key="battery_info_footer"
+        android:title="@string/battery_cycle_count_footer"
+        android:selectable="false"
+        settings:searchable="false" />
+</PreferenceScreen>
diff --git a/res/xml/development_settings.xml b/res/xml/development_settings.xml
index 68e4e78..32acac6 100644
--- a/res/xml/development_settings.xml
+++ b/res/xml/development_settings.xml
@@ -258,7 +258,7 @@
             android:key="platform_compat_dashboard"
             android:title="@string/platform_compat_dashboard_title"
             android:summary="@string/platform_compat_dashboard_summary"
-            android:fragment="com.android.settings.development.compat.PlatformCompatDashboard"
+            settings:controller="com.android.settings.spa.development.compat.PlatformCompatPreferenceController"
             />
 
         <SwitchPreference
@@ -464,6 +464,11 @@
             android:title="@string/pointer_location"
             android:summary="@string/pointer_location_summary" />
 
+        <SwitchPreference
+            android:key="show_key_presses"
+            android:title="@string/show_key_presses"
+            android:summary="@string/show_key_presses_summary" />
+
     </PreferenceCategory>
 
     <PreferenceCategory
diff --git a/res/xml/display_settings.xml b/res/xml/display_settings.xml
index ad5236e..f94ba70 100644
--- a/res/xml/display_settings.xml
+++ b/res/xml/display_settings.xml
@@ -48,6 +48,13 @@
             settings:keywords="@string/keywords_ambient_display_screen"
             settings:controller="com.android.settings.security.screenlock.LockScreenPreferenceController"/>
 
+        <SwitchPreference
+            android:key="stay_awake_on_fold"
+            android:title="@string/stay_awake_on_fold_title"
+            android:summary="@string/stay_awake_on_fold_summary"
+            settings:keywords="@string/keywords_stay_awake_on_lock"
+            settings:controller="com.android.settings.display.StayAwakeOnFoldPreferenceController"/>
+
         <com.android.settingslib.RestrictedPreference
             android:key="screen_timeout"
             android:title="@string/screen_timeout"
diff --git a/res/xml/languages.xml b/res/xml/languages.xml
index 0f45540..5269d99 100644
--- a/res/xml/languages.xml
+++ b/res/xml/languages.xml
@@ -18,7 +18,7 @@
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:title="@string/language_settings">
+    android:title="@string/language_picker_title">
 
     <com.android.settingslib.widget.TopIntroPreference
         android:title="@string/desc_introduction_of_language_picker"
diff --git a/res/xml/modifier_keys_settings.xml b/res/xml/modifier_keys_settings.xml
index 63e7ee1..25525ae 100644
--- a/res/xml/modifier_keys_settings.xml
+++ b/res/xml/modifier_keys_settings.xml
@@ -21,25 +21,22 @@
     android:title="@string/modifier_keys_settings"
     android:key="modifier_keys_all"
     settings:controller="com.android.settings.inputmethod.ModifierKeysPreferenceController">
-    <Preference
+
+    <com.android.settingslib.widget.LayoutPreference
         android:key="modifier_keys_caps_lock"
-        android:title="@string/modifier_keys_caps_lock"
-        android:summary="@string/modifier_keys_default_summary"/>
+        android:layout="@layout/modifier_keys_custom_key" />
 
-    <Preference
+    <com.android.settingslib.widget.LayoutPreference
         android:key="modifier_keys_ctrl"
-        android:title="@string/modifier_keys_ctrl"
-        android:summary="@string/modifier_keys_default_summary"/>
+        android:layout="@layout/modifier_keys_custom_key" />
 
-    <Preference
+    <com.android.settingslib.widget.LayoutPreference
         android:key="modifier_keys_meta"
-        android:title="@string/modifier_keys_meta"
-        android:summary="@string/modifier_keys_default_summary"/>
+        android:layout="@layout/modifier_keys_custom_key" />
 
-    <Preference
+    <com.android.settingslib.widget.LayoutPreference
         android:key="modifier_keys_alt"
-        android:title="@string/modifier_keys_alt"
-        android:summary="@string/modifier_keys_default_summary"/>
+        android:layout="@layout/modifier_keys_custom_key" />
 
     <Preference
         android:key="modifier_keys_restore"
diff --git a/res/xml/my_device_info.xml b/res/xml/my_device_info.xml
index 4cbe13f..6576742 100644
--- a/res/xml/my_device_info.xml
+++ b/res/xml/my_device_info.xml
@@ -144,6 +144,14 @@
             android:summary="@string/summary_placeholder"
             android:fragment="com.android.settings.deviceinfo.firmwareversion.FirmwareVersionSettings"
             settings:controller="com.android.settings.deviceinfo.firmwareversion.FirmwareVersionPreferenceController"/>
+
+        <!-- Battery information -->
+        <Preference
+            android:key="battery_info"
+            android:order="43"
+            android:title="@string/battery_info"
+            android:fragment="com.android.settings.deviceinfo.batteryinfo.BatteryInfoFragment"
+            settings:keywords="@string/keywords_battery_info"/>
     </PreferenceCategory>
 
     <PreferenceCategory
diff --git a/res/xml/security_settings_fingerprint_limbo.xml b/res/xml/security_settings_fingerprint_limbo.xml
new file mode 100644
index 0000000..02a3dfb
--- /dev/null
+++ b/res/xml/security_settings_fingerprint_limbo.xml
@@ -0,0 +1,51 @@
+<?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.
+  -->
+
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:title="@string/security_settings_fingerprint_preference_title">
+
+    <PreferenceCategory
+        android:key="security_settings_fingerprints_enrolled"
+        settings:controller="com.android.settings.biometrics.fingerprint.FingerprintsEnrolledCategoryPreferenceController">
+    </PreferenceCategory>
+
+    <androidx.preference.Preference
+        android:icon="@drawable/ic_add_24dp"
+        android:key="key_fingerprint_add"
+        android:title="@string/fingerprint_add_title" />
+
+    <PreferenceCategory
+        android:key="security_settings_fingerprint_unlock_category"
+        android:title="@string/security_settings_fingerprint_settings_preferences_category"
+        android:visibility="gone">
+
+        <com.android.settingslib.RestrictedSwitchPreference
+            android:key="security_settings_require_screen_on_to_auth"
+            android:title="@string/security_settings_require_screen_on_to_auth_title"
+            android:summary="@string/security_settings_require_screen_on_to_auth_description"
+            settings:keywords="@string/security_settings_require_screen_on_to_auth_keywords"
+            settings:controller="com.android.settings.biometrics.fingerprint.FingerprintSettingsRequireScreenOnToAuthPreferenceController" />
+    </PreferenceCategory>
+
+    <PreferenceCategory
+        android:key="security_settings_fingerprint_footer">
+    </PreferenceCategory>
+
+</PreferenceScreen>
+
diff --git a/res/xml/stylus_usi_details_fragment.xml b/res/xml/stylus_usi_details_fragment.xml
index 8a1d036..639c284 100644
--- a/res/xml/stylus_usi_details_fragment.xml
+++ b/res/xml/stylus_usi_details_fragment.xml
@@ -30,4 +30,7 @@
     <PreferenceCategory
         android:key="device_stylus"/>
 
+    <PreferenceCategory
+        android:key="stylus_usb_firmware"
+        settings:controller="com.android.settings.connecteddevice.stylus.StylusUsbFirmwareController"/>
 </PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/user_aspect_ratio_details.xml b/res/xml/user_aspect_ratio_details.xml
new file mode 100644
index 0000000..fc921dd
--- /dev/null
+++ b/res/xml/user_aspect_ratio_details.xml
@@ -0,0 +1,59 @@
+<?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.
+  -->
+
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:title="@string/aspect_ratio_title">
+
+    <com.android.settingslib.widget.ActionButtonsPreference
+        android:key="header_view" />
+
+    <com.android.settingslib.widget.SelectorWithWidgetPreference
+        android:key="app_default_pref"
+        android:title="@string/user_aspect_ratio_app_default"/>
+
+    <com.android.settingslib.widget.SelectorWithWidgetPreference
+        android:key="fullscreen_pref"
+        android:title="@string/user_aspect_ratio_fullscreen"/>
+
+    <com.android.settingslib.widget.SelectorWithWidgetPreference
+        android:key="half_screen_pref"
+        android:title="@string/user_aspect_ratio_half_screen"/>
+
+    <com.android.settingslib.widget.SelectorWithWidgetPreference
+        android:key="display_size_pref"
+        android:title="@string/user_aspect_ratio_device_size"/>
+
+    <com.android.settingslib.widget.SelectorWithWidgetPreference
+        android:key="16_9_pref"
+        android:title="@string/user_aspect_ratio_16_9"/>
+
+    <com.android.settingslib.widget.SelectorWithWidgetPreference
+        android:key="4_3_pref"
+        android:title="@string/user_aspect_ratio_4_3"/>
+
+    <com.android.settingslib.widget.SelectorWithWidgetPreference
+        android:key="3_2_pref"
+        android:title="@string/user_aspect_ratio_3_2"/>
+
+    <com.android.settingslib.widget.FooterPreference
+        android:title="@string/app_aspect_ratio_footer"
+        android:selectable="false"
+        settings:searchable="false"/>
+
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/layout/wifi_api_test.xml b/res/xml/wifi_api_test.xml
similarity index 100%
rename from res/layout/wifi_api_test.xml
rename to res/xml/wifi_api_test.xml
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index a67aeaa..a1a7cda 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -56,6 +56,7 @@
     /** Container for {@link FaceSettings} to use with a pre-defined task affinity. */
     public static class FaceSettingsInternalActivity extends SettingsActivity { /* empty */ }
     public static class FingerprintSettingsActivity extends SettingsActivity { /* empty */ }
+    public static class FingerprintSettingsActivityV2 extends SettingsActivity { /* empty */ }
     public static class CombinedBiometricSettingsActivity extends SettingsActivity { /* empty */ }
     public static class CombinedBiometricProfileSettingsActivity extends SettingsActivity { /* empty */ }
     public static class TetherSettingsActivity extends SettingsActivity {
@@ -360,6 +361,8 @@
     public static class NotificationAppListActivity extends SettingsActivity { /* empty */ }
     /** Activity to manage Cloned Apps page */
     public static class ClonedAppsListActivity extends SettingsActivity { /* empty */ }
+    /** Activity to manage Aspect Ratio app list page */
+    public static class UserAspectRatioAppListActivity extends SettingsActivity { /* empty */ }
     public static class NotificationReviewPermissionsActivity extends SettingsActivity { /* empty */ }
     public static class AppNotificationSettingsActivity extends SettingsActivity { /* empty */ }
     public static class ChannelNotificationSettingsActivity extends SettingsActivity { /* empty */ }
diff --git a/src/com/android/settings/SettingsActivityUtil.kt b/src/com/android/settings/SettingsActivityUtil.kt
index cac341f..65d26de 100644
--- a/src/com/android/settings/SettingsActivityUtil.kt
+++ b/src/com/android/settings/SettingsActivityUtil.kt
@@ -35,6 +35,7 @@
 import com.android.settings.spa.app.specialaccess.InstallUnknownAppsListProvider
 import com.android.settings.spa.app.specialaccess.MediaManagementAppsAppListProvider
 import com.android.settings.spa.app.specialaccess.ModifySystemSettingsAppListProvider
+import com.android.settings.spa.app.specialaccess.NfcTagAppsSettingsProvider
 import com.android.settings.spa.app.specialaccess.PictureInPictureListProvider
 import com.android.settings.spa.app.specialaccess.WifiControlAppListProvider
 import com.android.settings.wifi.ChangeWifiStateDetails
@@ -62,6 +63,8 @@
             MediaManagementAppsAppListProvider.getAppInfoRoutePrefix(),
         ChangeWifiStateDetails::class.qualifiedName to
             WifiControlAppListProvider.getAppInfoRoutePrefix(),
+        NfcTagAppsSettingsProvider::class.qualifiedName to
+            NfcTagAppsSettingsProvider.getAppInfoRoutePrefix(),
     )
 
     @JvmStatic
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index f9f4cdf..370b17a 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -708,9 +708,13 @@
         final int userId = bundle.getInt(Intent.EXTRA_USER_ID, UserHandle.myUserId());
         if (userId == LockPatternUtils.USER_FRP) {
             return allowAnyUser ? userId : checkUserOwnsFrpCredential(context, userId);
-        } else {
-            return allowAnyUser ? userId : enforceSameOwner(context, userId);
         }
+        if (userId == LockPatternUtils.USER_REPAIR_MODE) {
+            enforceRepairModeActive(context);
+            // any users can exit repair mode
+            return userId;
+        }
+        return allowAnyUser ? userId : enforceSameOwner(context, userId);
     }
 
     /**
@@ -730,6 +734,16 @@
     }
 
     /**
+     * Throws {@link SecurityException} if repair mode is not active on the device.
+     */
+    private static void enforceRepairModeActive(Context context) {
+        if (LockPatternUtils.isRepairModeActive(context)) {
+            return;
+        }
+        throw new SecurityException("Repair mode is not active on the device.");
+    }
+
+    /**
      * Returns the given user id if it belongs to the current user.
      *
      * @throws SecurityException if the given userId does not belong to the current user group.
diff --git a/src/com/android/settings/accessibility/AccessibilityQuickSettingsPrimarySwitchPreferenceController.java b/src/com/android/settings/accessibility/AccessibilityQuickSettingsPrimarySwitchPreferenceController.java
index 9681a42..e82cd96 100644
--- a/src/com/android/settings/accessibility/AccessibilityQuickSettingsPrimarySwitchPreferenceController.java
+++ b/src/com/android/settings/accessibility/AccessibilityQuickSettingsPrimarySwitchPreferenceController.java
@@ -66,6 +66,10 @@
     @Override
     public void onDestroy() {
         mHandler.removeCallbacksAndMessages(null);
+        final boolean isTooltipWindowShowing = mTooltipWindow != null && mTooltipWindow.isShowing();
+        if (isTooltipWindowShowing) {
+            mTooltipWindow.dismiss();
+        }
     }
 
     @Override
@@ -126,10 +130,17 @@
             return;
         }
 
-        mTooltipWindow = new AccessibilityQuickSettingsTooltipWindow(mContext);
-        mTooltipWindow.setup(getTileTooltipContent(),
-                R.drawable.accessibility_auto_added_qs_tooltip_illustration);
-        mTooltipWindow.showAtTopCenter(mPreference.getSwitch());
+        // TODO (287728819): Move tooltip showing to SystemUI
+        // Since the lifecycle of controller is independent of that of the preference, doing
+        // null check on switch is a temporary solution for the case that switch view
+        // is not ready when we would like to show the tooltip.  If the switch is not ready,
+        // we give up showing the tooltip and also do not reshow it in the future.
+        if (mPreference.getSwitch() != null) {
+            mTooltipWindow = new AccessibilityQuickSettingsTooltipWindow(mContext);
+            mTooltipWindow.setup(getTileTooltipContent(),
+                    R.drawable.accessibility_auto_added_qs_tooltip_illustration);
+            mTooltipWindow.showAtTopCenter(mPreference.getSwitch());
+        }
         AccessibilityQuickSettingUtils.optInValueToSharedPreferences(mContext, tileComponentName);
         mNeedsQSTooltipReshow = false;
     }
diff --git a/src/com/android/settings/accessibility/AvailableHearingDeviceUpdater.java b/src/com/android/settings/accessibility/AvailableHearingDeviceUpdater.java
index b3d3715..f600b03 100644
--- a/src/com/android/settings/accessibility/AvailableHearingDeviceUpdater.java
+++ b/src/com/android/settings/accessibility/AvailableHearingDeviceUpdater.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.accessibility;
 
-import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 
 import com.android.settings.bluetooth.AvailableMediaBluetoothDeviceUpdater;
@@ -37,11 +36,9 @@
 
     @Override
     public boolean isFilterMatched(CachedBluetoothDevice cachedDevice) {
-        final BluetoothDevice device = cachedDevice.getDevice();
-        final boolean isConnectedHearingAidDevice = (cachedDevice.isConnectedHearingAidDevice()
-                && (device.getBondState() == BluetoothDevice.BOND_BONDED));
-
-        return isConnectedHearingAidDevice && isDeviceInCachedDevicesList(cachedDevice);
+        return cachedDevice.isHearingAidDevice()
+                && isDeviceConnected(cachedDevice)
+                && isDeviceInCachedDevicesList(cachedDevice);
     }
 
     @Override
diff --git a/src/com/android/settings/accessibility/HearingAidHelper.java b/src/com/android/settings/accessibility/HearingAidHelper.java
index 66a37f8..1b9bdc4 100644
--- a/src/com/android/settings/accessibility/HearingAidHelper.java
+++ b/src/com/android/settings/accessibility/HearingAidHelper.java
@@ -56,7 +56,8 @@
      * @return a list of hearing aids {@link BluetoothDevice} objects
      */
     public List<BluetoothDevice> getConnectedHearingAidDeviceList() {
-        if (!isHearingAidSupported()) {
+        if (mBluetoothAdapter == null || !mBluetoothAdapter.isEnabled()
+                || !isHearingAidSupported()) {
             return new ArrayList<>();
         }
         final List<BluetoothDevice> deviceList = new ArrayList<>();
@@ -88,9 +89,6 @@
      * supported.
      */
     public boolean isHearingAidSupported() {
-        if (mBluetoothAdapter == null || !mBluetoothAdapter.isEnabled()) {
-            return false;
-        }
         final List<Integer> supportedList = mBluetoothAdapter.getSupportedProfiles();
         return supportedList.contains(BluetoothProfile.HEARING_AID)
                 || supportedList.contains(BluetoothProfile.HAP_CLIENT);
diff --git a/src/com/android/settings/accessibility/HearingAidUtils.java b/src/com/android/settings/accessibility/HearingAidUtils.java
index 42484f9..4315093 100644
--- a/src/com/android/settings/accessibility/HearingAidUtils.java
+++ b/src/com/android/settings/accessibility/HearingAidUtils.java
@@ -23,6 +23,7 @@
 
 import com.android.settings.bluetooth.HearingAidPairingDialogFragment;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.CsipSetCoordinatorProfile;
 import com.android.settingslib.bluetooth.HearingAidInfo;
 
 /** Provides utility methods related hearing aids. */
@@ -40,6 +41,11 @@
      */
     public static void launchHearingAidPairingDialog(FragmentManager fragmentManager,
             @NonNull CachedBluetoothDevice device) {
+        // No need to show the pair another ear dialog if the device supports and enables CSIP.
+        // CSIP will pair other devices in the same set automatically.
+        if (isCsipSupportedAndEnabled(device)) {
+            return;
+        }
         if (device.isConnectedAshaHearingAidDevice()
                 && device.getDeviceMode() == HearingAidInfo.DeviceMode.MODE_BINAURAL
                 && device.getSubDevice() == null) {
@@ -56,4 +62,10 @@
         HearingAidPairingDialogFragment.newInstance(device.getAddress()).show(fragmentManager,
                 HearingAidPairingDialogFragment.TAG);
     }
+
+    private static boolean isCsipSupportedAndEnabled(@NonNull CachedBluetoothDevice device) {
+        return device.getProfiles().stream().anyMatch(
+                profile -> (profile instanceof CsipSetCoordinatorProfile)
+                        && (profile.isEnabled(device.getDevice())));
+    }
 }
diff --git a/src/com/android/settings/accessibility/HearingDevicePairingDetail.java b/src/com/android/settings/accessibility/HearingDevicePairingDetail.java
index de86dcf..117a8ed 100644
--- a/src/com/android/settings/accessibility/HearingDevicePairingDetail.java
+++ b/src/com/android/settings/accessibility/HearingDevicePairingDetail.java
@@ -28,7 +28,8 @@
 import com.android.settings.bluetooth.BluetoothDevicePairingDetailBase;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 
-import java.util.Collections;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * HearingDevicePairingDetail is a page to scan hearing devices. This page shows scanning icons and
@@ -42,10 +43,16 @@
 
     public HearingDevicePairingDetail() {
         super();
-        final ScanFilter filter = new ScanFilter.Builder()
-                .setServiceData(BluetoothUuid.HEARING_AID, new byte[]{0}, new byte[]{0})
-                .build();
-        setFilter(Collections.singletonList(filter));
+        final List<ScanFilter> filterList = new ArrayList<>();
+        // Filters for ASHA hearing aids
+        filterList.add(new ScanFilter.Builder().setServiceUuid(BluetoothUuid.HEARING_AID).build());
+        filterList.add(new ScanFilter.Builder()
+                .setServiceData(BluetoothUuid.HEARING_AID, new byte[0]).build());
+        // Filters for LE audio hearing aids
+        filterList.add(new ScanFilter.Builder().setServiceUuid(BluetoothUuid.HAS).build());
+        filterList.add(new ScanFilter.Builder()
+                .setServiceData(BluetoothUuid.HAS, new byte[0]).build());
+        setFilter(filterList);
     }
 
     @Override
diff --git a/src/com/android/settings/accessibility/PreviewSizeSeekBarController.java b/src/com/android/settings/accessibility/PreviewSizeSeekBarController.java
index 4c860eb..6bd8747 100644
--- a/src/com/android/settings/accessibility/PreviewSizeSeekBarController.java
+++ b/src/com/android/settings/accessibility/PreviewSizeSeekBarController.java
@@ -28,7 +28,6 @@
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.widget.LabeledSeekBarPreference;
-import com.android.settings.widget.SeekBarPreference;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnCreate;
 import com.android.settingslib.core.lifecycle.events.OnDestroy;
@@ -111,6 +110,10 @@
     public void onDestroy() {
         // remove runnables in the queue.
         mHandler.removeCallbacksAndMessages(null);
+        final boolean isTooltipWindowShowing = mTooltipWindow != null && mTooltipWindow.isShowing();
+        if (isTooltipWindowShowing) {
+            mTooltipWindow.dismiss();
+        }
     }
 
     @Override
@@ -210,11 +213,19 @@
             return;
         }
 
-        mTooltipWindow = new AccessibilityQuickSettingsTooltipWindow(mContext);
-        mTooltipWindow.setup(getTileTooltipContent(),
-                R.drawable.accessibility_auto_added_qs_tooltip_illustration);
-        mTooltipWindow.showAtTopCenter(mSeekBarPreference.getSeekbar());
-        AccessibilityQuickSettingUtils.optInValueToSharedPreferences(mContext, tileComponentName);
+        // TODO (287728819): Move tooltip showing to SystemUI
+        // Since the lifecycle of controller is independent of that of the preference, doing
+        // null check on seekbar is a temporary solution for the case that seekbar view
+        // is not ready when we would like to show the tooltip.  If the seekbar is not ready,
+        // we give up showing the tooltip and also do not reshow it in the future.
+        if (mSeekBarPreference.getSeekbar() != null) {
+            mTooltipWindow = new AccessibilityQuickSettingsTooltipWindow(mContext);
+            mTooltipWindow.setup(getTileTooltipContent(),
+                    R.drawable.accessibility_auto_added_qs_tooltip_illustration);
+            mTooltipWindow.showAtTopCenter(mSeekBarPreference.getSeekbar());
+        }
+        AccessibilityQuickSettingUtils.optInValueToSharedPreferences(mContext,
+                tileComponentName);
         mNeedsQSTooltipReshow = false;
     }
 
diff --git a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
index edbd120..6a4344f 100644
--- a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
@@ -296,6 +296,10 @@
     public void onDestroyView() {
         super.onDestroyView();
         removeActionBarToggleSwitch();
+        final boolean isTooltipWindowShowing = mTooltipWindow != null && mTooltipWindow.isShowing();
+        if (isTooltipWindowShowing) {
+            mTooltipWindow.dismiss();
+        }
     }
 
     @Override
diff --git a/src/com/android/settings/applications/AppDashboardFragment.java b/src/com/android/settings/applications/AppDashboardFragment.java
index 7e203b0..11f8405 100644
--- a/src/com/android/settings/applications/AppDashboardFragment.java
+++ b/src/com/android/settings/applications/AppDashboardFragment.java
@@ -66,7 +66,6 @@
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
-        use(SpecialAppAccessPreferenceController.class).setSession(getSettingsLifecycle());
         mAppsPreferenceController = use(AppsPreferenceController.class);
         mAppsPreferenceController.setFragment(this /* fragment */);
         getSettingsLifecycle().addObserver(mAppsPreferenceController);
diff --git a/src/com/android/settings/applications/SpecialAppAccessPreferenceController.java b/src/com/android/settings/applications/SpecialAppAccessPreferenceController.java
deleted file mode 100644
index 42f5930..0000000
--- a/src/com/android/settings/applications/SpecialAppAccessPreferenceController.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the
- * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-package com.android.settings.applications;
-
-import android.app.Application;
-import android.content.Context;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.core.BasePreferenceController;
-import com.android.settings.datausage.AppStateDataUsageBridge;
-import com.android.settings.datausage.AppStateDataUsageBridge.DataUsageState;
-import com.android.settings.datausage.DataSaverBackend;
-import com.android.settingslib.applications.ApplicationsState;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnDestroy;
-import com.android.settingslib.core.lifecycle.events.OnStart;
-import com.android.settingslib.core.lifecycle.events.OnStop;
-
-import java.util.ArrayList;
-
-public class SpecialAppAccessPreferenceController extends BasePreferenceController implements
-        AppStateBaseBridge.Callback, ApplicationsState.Callbacks, LifecycleObserver, OnStart,
-        OnStop, OnDestroy {
-
-    @VisibleForTesting
-    ApplicationsState.Session mSession;
-
-    private final ApplicationsState mApplicationsState;
-    private final AppStateDataUsageBridge mDataUsageBridge;
-    private final DataSaverBackend mDataSaverBackend;
-
-    private Preference mPreference;
-    private boolean mExtraLoaded;
-
-
-    public SpecialAppAccessPreferenceController(Context context, String key) {
-        super(context, key);
-        mApplicationsState = ApplicationsState.getInstance(
-                (Application) context.getApplicationContext());
-        mDataSaverBackend = new DataSaverBackend(context);
-        mDataUsageBridge = new AppStateDataUsageBridge(mApplicationsState, this, mDataSaverBackend);
-    }
-
-    public void setSession(Lifecycle lifecycle) {
-        mSession = mApplicationsState.newSession(this, lifecycle);
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        return AVAILABLE;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(getPreferenceKey());
-    }
-
-    @Override
-    public void onStart() {
-        mDataUsageBridge.resume(true /* forceLoadAllApps */);
-    }
-
-    @Override
-    public void onStop() {
-        mDataUsageBridge.pause();
-    }
-
-    @Override
-    public void onDestroy() {
-        mDataUsageBridge.release();
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        updateSummary();
-    }
-
-    @Override
-    public void onExtraInfoUpdated() {
-        mExtraLoaded = true;
-        updateSummary();
-    }
-
-    private void updateSummary() {
-        if (!mExtraLoaded || mPreference == null) {
-            return;
-        }
-
-        final ArrayList<ApplicationsState.AppEntry> allApps = mSession.getAllApps();
-        int count = 0;
-        for (ApplicationsState.AppEntry entry : allApps) {
-            if (!ApplicationsState.FILTER_DOWNLOADED_AND_LAUNCHER.filterApp(entry)) {
-                continue;
-            }
-            if (entry.extraInfo instanceof DataUsageState
-                    && ((DataUsageState) entry.extraInfo).isDataSaverAllowlisted) {
-                count++;
-            }
-        }
-        mPreference.setSummary(mContext.getResources().getQuantityString(
-                R.plurals.special_access_summary, count, count));
-    }
-
-    @Override
-    public void onRunningStateChanged(boolean running) {
-    }
-
-    @Override
-    public void onPackageListChanged() {
-    }
-
-    @Override
-    public void onRebuildComplete(ArrayList<ApplicationsState.AppEntry> apps) {
-    }
-
-    @Override
-    public void onPackageIconChanged() {
-    }
-
-    @Override
-    public void onPackageSizeChanged(String packageName) {
-    }
-
-    @Override
-    public void onAllSizesComputed() {
-    }
-
-    @Override
-    public void onLauncherInfoChanged() {
-        // when the value of the AppEntry.hasLauncherEntry was changed.
-        updateSummary();
-    }
-
-    @Override
-    public void onLoadEntriesCompleted() {
-    }
-}
diff --git a/src/com/android/settings/applications/appcompat/UserAspectRatioAppsPreferenceController.java b/src/com/android/settings/applications/appcompat/UserAspectRatioAppsPreferenceController.java
new file mode 100644
index 0000000..ff68fb0
--- /dev/null
+++ b/src/com/android/settings/applications/appcompat/UserAspectRatioAppsPreferenceController.java
@@ -0,0 +1,48 @@
+/*
+ * 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.applications.appcompat;
+
+import android.content.Context;
+import android.os.Build;
+
+import androidx.annotation.NonNull;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+
+/**
+ * Preference controller for
+ * {@link com.android.settings.spa.app.appcompat.UserAspectRatioAppsPageProvider}
+ */
+public class UserAspectRatioAppsPreferenceController extends BasePreferenceController {
+
+    public UserAspectRatioAppsPreferenceController(@NonNull Context context,
+            @NonNull String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return UserAspectRatioManager.isFeatureEnabled(mContext)
+                ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        return mContext.getResources().getString(R.string.aspect_ratio_summary, Build.MODEL);
+    }
+}
diff --git a/src/com/android/settings/applications/appcompat/UserAspectRatioDetails.java b/src/com/android/settings/applications/appcompat/UserAspectRatioDetails.java
new file mode 100644
index 0000000..f8406f9
--- /dev/null
+++ b/src/com/android/settings/applications/appcompat/UserAspectRatioDetails.java
@@ -0,0 +1,224 @@
+/*
+ * 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.applications.appcompat;
+
+import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP;
+import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_16_9;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_3_2;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_4_3;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_DISPLAY_SIZE;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_FULLSCREEN;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_SPLIT_SCREEN;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_UNSET;
+
+import android.app.ActivityManager;
+import android.app.IActivityManager;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.os.Bundle;
+import android.os.RemoteException;
+import android.os.UserHandle;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
+import com.android.settings.applications.AppInfoWithHeader;
+import com.android.settingslib.widget.ActionButtonsPreference;
+import com.android.settingslib.widget.SelectorWithWidgetPreference;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * App specific activity to show aspect ratio overrides
+ */
+public class UserAspectRatioDetails extends AppInfoWithHeader implements
+        SelectorWithWidgetPreference.OnClickListener {
+    private static final String TAG = UserAspectRatioDetails.class.getSimpleName();
+
+    private static final String KEY_HEADER_BUTTONS = "header_view";
+    private static final String KEY_PREF_FULLSCREEN = "fullscreen_pref";
+    private static final String KEY_PREF_HALF_SCREEN = "half_screen_pref";
+    private static final String KEY_PREF_DISPLAY_SIZE = "display_size_pref";
+    private static final String KEY_PREF_16_9 = "16_9_pref";
+    private static final String KEY_PREF_4_3 = "4_3_pref";
+    @VisibleForTesting
+    static final String KEY_PREF_DEFAULT = "app_default_pref";
+    @VisibleForTesting
+    static final String KEY_PREF_3_2 = "3_2_pref";
+
+    private final List<SelectorWithWidgetPreference> mAspectRatioPreferences = new ArrayList<>();
+
+    @NonNull private UserAspectRatioManager mUserAspectRatioManager;
+    @NonNull private String mSelectedKey = KEY_PREF_DEFAULT;
+
+    @Override
+    public void onCreate(@NonNull Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        mUserAspectRatioManager = new UserAspectRatioManager(getContext());
+        initPreferences();
+        try {
+            final int userAspectRatio = mUserAspectRatioManager
+                    .getUserMinAspectRatioValue(mPackageName, mUserId);
+            mSelectedKey = getSelectedKey(userAspectRatio);
+        } catch (RemoteException e) {
+            Log.e(TAG, "Unable to get user min aspect ratio");
+        }
+        refreshUi();
+    }
+
+    @Override
+    public void onRadioButtonClicked(@NonNull SelectorWithWidgetPreference selected) {
+        final String selectedKey = selected.getKey();
+        if (mSelectedKey.equals(selectedKey)) {
+            return;
+        }
+        final int userAspectRatio = getSelectedUserMinAspectRatio(selectedKey);
+        try {
+            getAspectRatioManager().setUserMinAspectRatio(mPackageName, mUserId, userAspectRatio);
+        } catch (RemoteException e) {
+            Log.e(TAG, "Unable to set user min aspect ratio");
+            return;
+        }
+        // Only update to selected aspect ratio if nothing goes wrong
+        mSelectedKey = selectedKey;
+        updateAllPreferences(mSelectedKey);
+        Log.d(TAG, "Killing application process " + mPackageName);
+        try {
+            final IActivityManager am = ActivityManager.getService();
+            am.stopAppForUser(mPackageName, mUserId);
+        } catch (RemoteException e) {
+            Log.e(TAG, "Unable to stop application " + mPackageName);
+        }
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        // TODO(b/292566895): add metrics for logging
+        return 0;
+    }
+
+    @Override
+    protected boolean refreshUi() {
+        if (mPackageInfo == null || mPackageInfo.applicationInfo == null) {
+            return false;
+        }
+        updateAllPreferences(mSelectedKey);
+        return true;
+    }
+
+    @Override
+    protected AlertDialog createDialog(int id, int errorCode) {
+        return null;
+    }
+
+    private void launchApplication() {
+        Intent launchIntent = mPm.getLaunchIntentForPackage(mPackageName)
+                .addFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TOP);
+        if (launchIntent != null) {
+            getContext().startActivityAsUser(launchIntent, new UserHandle(mUserId));
+        }
+    }
+
+    @PackageManager.UserMinAspectRatio
+    private int getSelectedUserMinAspectRatio(@NonNull String selectedKey) {
+        switch (selectedKey) {
+            case KEY_PREF_FULLSCREEN:
+                return USER_MIN_ASPECT_RATIO_FULLSCREEN;
+            case KEY_PREF_HALF_SCREEN:
+                return USER_MIN_ASPECT_RATIO_SPLIT_SCREEN;
+            case KEY_PREF_DISPLAY_SIZE:
+                return USER_MIN_ASPECT_RATIO_DISPLAY_SIZE;
+            case KEY_PREF_3_2:
+                return USER_MIN_ASPECT_RATIO_3_2;
+            case KEY_PREF_4_3:
+                return USER_MIN_ASPECT_RATIO_4_3;
+            case KEY_PREF_16_9:
+                return USER_MIN_ASPECT_RATIO_16_9;
+            default:
+                return USER_MIN_ASPECT_RATIO_UNSET;
+        }
+    }
+
+    @NonNull
+    private String getSelectedKey(@PackageManager.UserMinAspectRatio int userMinAspectRatio) {
+        switch (userMinAspectRatio) {
+            case USER_MIN_ASPECT_RATIO_FULLSCREEN:
+                return KEY_PREF_FULLSCREEN;
+            case USER_MIN_ASPECT_RATIO_SPLIT_SCREEN:
+                return KEY_PREF_HALF_SCREEN;
+            case USER_MIN_ASPECT_RATIO_DISPLAY_SIZE:
+                return KEY_PREF_DISPLAY_SIZE;
+            case USER_MIN_ASPECT_RATIO_3_2:
+                return KEY_PREF_3_2;
+            case USER_MIN_ASPECT_RATIO_4_3:
+                return KEY_PREF_4_3;
+            case USER_MIN_ASPECT_RATIO_16_9:
+                return KEY_PREF_16_9;
+            default:
+                return KEY_PREF_DEFAULT;
+        }
+    }
+
+    private void initPreferences() {
+        addPreferencesFromResource(R.xml.user_aspect_ratio_details);
+
+        ((ActionButtonsPreference) findPreference(KEY_HEADER_BUTTONS))
+                .setButton1Text(R.string.launch_instant_app)
+                .setButton1Icon(R.drawable.ic_settings_open)
+                .setButton1OnClickListener(v -> launchApplication());
+
+        addPreference(KEY_PREF_DEFAULT, USER_MIN_ASPECT_RATIO_UNSET);
+        addPreference(KEY_PREF_FULLSCREEN, USER_MIN_ASPECT_RATIO_FULLSCREEN);
+        addPreference(KEY_PREF_DISPLAY_SIZE, USER_MIN_ASPECT_RATIO_DISPLAY_SIZE);
+        addPreference(KEY_PREF_HALF_SCREEN, USER_MIN_ASPECT_RATIO_SPLIT_SCREEN);
+        addPreference(KEY_PREF_16_9, USER_MIN_ASPECT_RATIO_16_9);
+        addPreference(KEY_PREF_4_3, USER_MIN_ASPECT_RATIO_4_3);
+        addPreference(KEY_PREF_3_2, USER_MIN_ASPECT_RATIO_3_2);
+    }
+
+    private void addPreference(@NonNull String key,
+            @PackageManager.UserMinAspectRatio int aspectRatio) {
+        final SelectorWithWidgetPreference pref = findPreference(key);
+        if (pref == null) {
+            return;
+        }
+        if (!mUserAspectRatioManager.containsAspectRatioOption(aspectRatio)) {
+            pref.setVisible(false);
+            return;
+        }
+        pref.setTitle(mUserAspectRatioManager.getUserMinAspectRatioEntry(aspectRatio));
+        pref.setOnClickListener(this);
+        mAspectRatioPreferences.add(pref);
+    }
+
+    private void updateAllPreferences(@NonNull String selectedKey) {
+        for (SelectorWithWidgetPreference pref : mAspectRatioPreferences) {
+            pref.setChecked(selectedKey.equals(pref.getKey()));
+        }
+    }
+
+    @VisibleForTesting
+    UserAspectRatioManager getAspectRatioManager() {
+        return mUserAspectRatioManager;
+    }
+}
diff --git a/src/com/android/settings/applications/appcompat/UserAspectRatioManager.java b/src/com/android/settings/applications/appcompat/UserAspectRatioManager.java
new file mode 100644
index 0000000..c132fd0
--- /dev/null
+++ b/src/com/android/settings/applications/appcompat/UserAspectRatioManager.java
@@ -0,0 +1,224 @@
+/*
+ * 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.applications.appcompat;
+
+import android.app.AppGlobals;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.IPackageManager;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.os.RemoteException;
+import android.provider.DeviceConfig;
+import android.util.ArrayMap;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.android.settings.R;
+
+import com.google.common.annotations.VisibleForTesting;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Helper class for handling app aspect ratio override
+ * {@link PackageManager.UserMinAspectRatio} set by user
+ */
+public class UserAspectRatioManager {
+    private static final Intent LAUNCHER_ENTRY_INTENT =
+            new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LAUNCHER);
+
+    // TODO(b/288142656): Enable user aspect ratio settings by default
+    private static final boolean DEFAULT_VALUE_ENABLE_USER_ASPECT_RATIO_SETTINGS = false;
+    @VisibleForTesting
+    static final String KEY_ENABLE_USER_ASPECT_RATIO_SETTINGS =
+            "enable_app_compat_user_aspect_ratio_settings";
+    static final String KEY_ENABLE_USER_ASPECT_RATIO_FULLSCREEN =
+            "enable_app_compat_user_aspect_ratio_fullscreen";
+    private static final boolean DEFAULT_VALUE_ENABLE_USER_ASPECT_RATIO_FULLSCREEN = true;
+
+    private final Context mContext;
+    private final IPackageManager mIPm;
+    /** Apps that have launcher entry defined in manifest */
+    private final List<ResolveInfo> mInfoHasLauncherEntryList;
+    private final Map<Integer, String> mUserAspectRatioMap;
+
+    public UserAspectRatioManager(@NonNull Context context) {
+        mContext = context;
+        mIPm = AppGlobals.getPackageManager();
+        mInfoHasLauncherEntryList = context.getPackageManager().queryIntentActivities(
+                UserAspectRatioManager.LAUNCHER_ENTRY_INTENT, PackageManager.GET_META_DATA);
+        mUserAspectRatioMap = getUserMinAspectRatioMapping();
+    }
+
+    /**
+     * Whether user aspect ratio settings is enabled for device.
+     */
+    public static boolean isFeatureEnabled(Context context) {
+        final boolean isBuildTimeFlagEnabled = context.getResources().getBoolean(
+                com.android.internal.R.bool.config_appCompatUserAppAspectRatioSettingsIsEnabled);
+        return getValueFromDeviceConfig(KEY_ENABLE_USER_ASPECT_RATIO_SETTINGS,
+                DEFAULT_VALUE_ENABLE_USER_ASPECT_RATIO_SETTINGS) && isBuildTimeFlagEnabled;
+    }
+
+    /**
+     * @return user-specific {@link PackageManager.UserMinAspectRatio} override for an app
+     */
+    @PackageManager.UserMinAspectRatio
+    public int getUserMinAspectRatioValue(@NonNull String packageName, int uid)
+            throws RemoteException {
+        final int aspectRatio = mIPm.getUserMinAspectRatio(packageName, uid);
+        return containsAspectRatioOption(aspectRatio)
+                ? aspectRatio : PackageManager.USER_MIN_ASPECT_RATIO_UNSET;
+    }
+
+    /**
+     * @return corresponding string for {@link PackageManager.UserMinAspectRatio} value
+     */
+    @NonNull
+    public String getUserMinAspectRatioEntry(@PackageManager.UserMinAspectRatio int aspectRatio) {
+        if (!containsAspectRatioOption(aspectRatio))  {
+            return mUserAspectRatioMap.get(PackageManager.USER_MIN_ASPECT_RATIO_UNSET);
+        }
+        return mUserAspectRatioMap.get(aspectRatio);
+    }
+
+    /**
+     * @return corresponding aspect ratio string for package name and user
+     */
+    @NonNull
+    public String getUserMinAspectRatioEntry(@NonNull String packageName, int uid)
+            throws RemoteException {
+        final int aspectRatio = getUserMinAspectRatioValue(packageName, uid);
+        return getUserMinAspectRatioEntry(aspectRatio);
+    }
+
+    /**
+     * Whether user aspect ratio option is specified in
+     * {@link R.array.config_userAspectRatioOverrideValues}
+     * and is enabled by device config
+     */
+    public boolean containsAspectRatioOption(@PackageManager.UserMinAspectRatio int option) {
+        if (option == PackageManager.USER_MIN_ASPECT_RATIO_FULLSCREEN
+                && !isFullscreenOptionEnabled()) {
+            return false;
+        }
+        return mUserAspectRatioMap.containsKey(option);
+    }
+
+    /**
+     * Sets user-specified {@link PackageManager.UserMinAspectRatio} override for an app
+     */
+    public void setUserMinAspectRatio(@NonNull String packageName, int uid,
+            @PackageManager.UserMinAspectRatio int aspectRatio) throws RemoteException {
+        mIPm.setUserMinAspectRatio(packageName, uid, aspectRatio);
+    }
+
+    /**
+     * Whether an app's aspect ratio can be overridden by user. Only apps with launcher entry
+     * will be overridable.
+     */
+    public boolean canDisplayAspectRatioUi(@NonNull ApplicationInfo app) {
+        boolean hasLauncherEntry = mInfoHasLauncherEntryList.stream()
+                .anyMatch(info -> info.activityInfo.packageName.equals(app.packageName));
+        return hasLauncherEntry;
+    }
+
+    /**
+     * Whether fullscreen option in per-app user aspect ratio settings is enabled
+     */
+    @VisibleForTesting
+    boolean isFullscreenOptionEnabled() {
+        final boolean isBuildTimeFlagEnabled = mContext.getResources().getBoolean(
+                com.android.internal.R.bool.config_appCompatUserAppAspectRatioFullscreenIsEnabled);
+        return isBuildTimeFlagEnabled && getValueFromDeviceConfig(
+                KEY_ENABLE_USER_ASPECT_RATIO_FULLSCREEN,
+                DEFAULT_VALUE_ENABLE_USER_ASPECT_RATIO_FULLSCREEN);
+    }
+
+    private static boolean getValueFromDeviceConfig(String name, boolean defaultValue) {
+        return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_WINDOW_MANAGER, name, defaultValue);
+    }
+
+    @NonNull
+    private Map<Integer, String> getUserMinAspectRatioMapping() {
+        final String[] userMinAspectRatioStrings = mContext.getResources().getStringArray(
+                R.array.config_userAspectRatioOverrideEntries);
+        final int[] userMinAspectRatioValues = mContext.getResources().getIntArray(
+                R.array.config_userAspectRatioOverrideValues);
+        if (userMinAspectRatioStrings.length != userMinAspectRatioValues.length) {
+            throw new RuntimeException(
+                    "config_userAspectRatioOverride options cannot be different length");
+        }
+
+        final Map<Integer, String> userMinAspectRatioMap = new ArrayMap<>();
+        for (int i = 0; i < userMinAspectRatioValues.length; i++) {
+            final int aspectRatioVal = userMinAspectRatioValues[i];
+            final String aspectRatioString = getAspectRatioStringOrDefault(
+                    userMinAspectRatioStrings[i], aspectRatioVal);
+            switch (aspectRatioVal) {
+                // Only map known values of UserMinAspectRatio and ignore unknown entries
+                case PackageManager.USER_MIN_ASPECT_RATIO_FULLSCREEN:
+                case PackageManager.USER_MIN_ASPECT_RATIO_UNSET:
+                case PackageManager.USER_MIN_ASPECT_RATIO_SPLIT_SCREEN:
+                case PackageManager.USER_MIN_ASPECT_RATIO_DISPLAY_SIZE:
+                case PackageManager.USER_MIN_ASPECT_RATIO_4_3:
+                case PackageManager.USER_MIN_ASPECT_RATIO_16_9:
+                case PackageManager.USER_MIN_ASPECT_RATIO_3_2:
+                    userMinAspectRatioMap.put(aspectRatioVal, aspectRatioString);
+            }
+        }
+        if (!userMinAspectRatioMap.containsKey(PackageManager.USER_MIN_ASPECT_RATIO_UNSET)) {
+            throw new RuntimeException("config_userAspectRatioOverrideValues options must have"
+                    + " USER_MIN_ASPECT_RATIO_UNSET value");
+        }
+        return userMinAspectRatioMap;
+    }
+
+    @NonNull
+    private String getAspectRatioStringOrDefault(@Nullable String aspectRatioString,
+            @PackageManager.UserMinAspectRatio int aspectRatioVal) {
+        if (aspectRatioString != null) {
+            return aspectRatioString;
+        }
+        // Options are customized per device and if strings are set to @null, use default
+        switch (aspectRatioVal) {
+            case PackageManager.USER_MIN_ASPECT_RATIO_FULLSCREEN:
+                return mContext.getString(R.string.user_aspect_ratio_fullscreen);
+            case PackageManager.USER_MIN_ASPECT_RATIO_SPLIT_SCREEN:
+                return mContext.getString(R.string.user_aspect_ratio_half_screen);
+            case PackageManager.USER_MIN_ASPECT_RATIO_DISPLAY_SIZE:
+                return mContext.getString(R.string.user_aspect_ratio_device_size);
+            case PackageManager.USER_MIN_ASPECT_RATIO_4_3:
+                return mContext.getString(R.string.user_aspect_ratio_4_3);
+            case PackageManager.USER_MIN_ASPECT_RATIO_16_9:
+                return mContext.getString(R.string.user_aspect_ratio_16_9);
+            case PackageManager.USER_MIN_ASPECT_RATIO_3_2:
+                return mContext.getString(R.string.user_aspect_ratio_3_2);
+            default:
+                return mContext.getString(R.string.user_aspect_ratio_app_default);
+        }
+    }
+
+    @VisibleForTesting
+    void addInfoHasLauncherEntry(@NonNull ResolveInfo infoHasLauncherEntry) {
+        mInfoHasLauncherEntryList.add(infoHasLauncherEntry);
+    }
+}
diff --git a/src/com/android/settings/applications/manageapplications/ManageApplications.java b/src/com/android/settings/applications/manageapplications/ManageApplications.java
index 548ca55..d734a27 100644
--- a/src/com/android/settings/applications/manageapplications/ManageApplications.java
+++ b/src/com/android/settings/applications/manageapplications/ManageApplications.java
@@ -269,6 +269,7 @@
     public static final int LIST_TYPE_CLONED_APPS = 17;
     public static final int LIST_TYPE_NFC_TAG_APPS = 18;
     public static final int LIST_TYPE_TURN_SCREEN_ON = 19;
+    public static final int LIST_TYPE_USER_ASPECT_RATIO_APPS = 20;
 
     // List types that should show instant apps.
     public static final Set<Integer> LIST_TYPES_WITH_INSTANT = new ArraySet<>(Arrays.asList(
diff --git a/src/com/android/settings/applications/manageapplications/ManageApplicationsUtil.kt b/src/com/android/settings/applications/manageapplications/ManageApplicationsUtil.kt
index 78a4a6b..8313686 100644
--- a/src/com/android/settings/applications/manageapplications/ManageApplicationsUtil.kt
+++ b/src/com/android/settings/applications/manageapplications/ManageApplicationsUtil.kt
@@ -20,6 +20,7 @@
 import android.util.FeatureFlagUtils
 import com.android.settings.Settings.AlarmsAndRemindersActivity
 import com.android.settings.Settings.AppBatteryUsageActivity
+import com.android.settings.Settings.UserAspectRatioAppListActivity
 import com.android.settings.Settings.ChangeNfcTagAppsActivity
 import com.android.settings.Settings.ChangeWifiStateActivity
 import com.android.settings.Settings.ClonedAppsListActivity
@@ -40,6 +41,7 @@
 import com.android.settings.applications.manageapplications.ManageApplications.LIST_MANAGE_EXTERNAL_STORAGE
 import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_ALARMS_AND_REMINDERS
 import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_APPS_LOCALE
+import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_USER_ASPECT_RATIO_APPS
 import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_BATTERY_OPTIMIZATION
 import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_CLONED_APPS
 import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_GAMES
@@ -57,12 +59,14 @@
 import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_WIFI_ACCESS
 import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_WRITE_SETTINGS
 import com.android.settings.spa.app.AllAppListPageProvider
+import com.android.settings.spa.app.appcompat.UserAspectRatioAppsPageProvider
 import com.android.settings.spa.app.specialaccess.AlarmsAndRemindersAppListProvider
 import com.android.settings.spa.app.specialaccess.AllFilesAccessAppListProvider
 import com.android.settings.spa.app.specialaccess.DisplayOverOtherAppsAppListProvider
 import com.android.settings.spa.app.specialaccess.InstallUnknownAppsListProvider
 import com.android.settings.spa.app.specialaccess.MediaManagementAppsAppListProvider
 import com.android.settings.spa.app.specialaccess.ModifySystemSettingsAppListProvider
+import com.android.settings.spa.app.specialaccess.NfcTagAppsSettingsProvider
 import com.android.settings.spa.app.specialaccess.WifiControlAppListProvider
 import com.android.settings.spa.notification.AppListNotificationsPageProvider
 import com.android.settings.spa.system.AppLanguagesPageProvider
@@ -91,6 +95,7 @@
         ClonedAppsListActivity::class to LIST_TYPE_CLONED_APPS,
         ChangeNfcTagAppsActivity::class to LIST_TYPE_NFC_TAG_APPS,
         TurnScreenOnSettingsActivity::class to LIST_TYPE_TURN_SCREEN_ON,
+        UserAspectRatioAppListActivity::class to LIST_TYPE_USER_ASPECT_RATIO_APPS,
     )
 
     @JvmField
@@ -112,6 +117,8 @@
             LIST_TYPE_NOTIFICATION -> AppListNotificationsPageProvider.name
             LIST_TYPE_APPS_LOCALE -> AppLanguagesPageProvider.name
             LIST_TYPE_MAIN -> AllAppListPageProvider.name
+            LIST_TYPE_NFC_TAG_APPS -> NfcTagAppsSettingsProvider.getAppListRoute()
+            LIST_TYPE_USER_ASPECT_RATIO_APPS -> UserAspectRatioAppsPageProvider.name
             else -> null
         }
     }
diff --git a/src/com/android/settings/applications/specialaccess/DataSaverController.java b/src/com/android/settings/applications/specialaccess/DataSaverController.java
deleted file mode 100644
index d1fd202..0000000
--- a/src/com/android/settings/applications/specialaccess/DataSaverController.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package com.android.settings.applications.specialaccess;
-
-import android.content.Context;
-
-import com.android.settings.R;
-import com.android.settings.core.BasePreferenceController;
-
-public class DataSaverController extends BasePreferenceController {
-
-    public DataSaverController(Context context, String key) {
-        super(context, key);
-    }
-
-    @AvailabilityStatus
-    public int getAvailabilityStatus() {
-        return mContext.getResources().getBoolean(R.bool.config_show_data_saver)
-                ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
-    }
-}
diff --git a/src/com/android/settings/applications/specialaccess/DataSaverController.kt b/src/com/android/settings/applications/specialaccess/DataSaverController.kt
new file mode 100644
index 0000000..baed0aa
--- /dev/null
+++ b/src/com/android/settings/applications/specialaccess/DataSaverController.kt
@@ -0,0 +1,88 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settings.applications.specialaccess
+
+import android.content.Context
+import android.net.NetworkPolicyManager
+import android.os.UserHandle
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.LifecycleOwner
+import androidx.lifecycle.lifecycleScope
+import androidx.lifecycle.repeatOnLifecycle
+import androidx.preference.Preference
+import androidx.preference.PreferenceScreen
+import com.android.settings.R
+import com.android.settings.core.BasePreferenceController
+import com.android.settingslib.spa.framework.util.formatString
+import com.android.settingslib.spaprivileged.model.app.AppListRepository
+import com.android.settingslib.spaprivileged.model.app.AppListRepositoryImpl
+import com.google.common.annotations.VisibleForTesting
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.async
+import kotlinx.coroutines.coroutineScope
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
+
+class DataSaverController(context: Context, key: String) : BasePreferenceController(context, key) {
+
+    private lateinit var preference: Preference
+
+    @AvailabilityStatus
+    override fun getAvailabilityStatus(): Int = when {
+        mContext.resources.getBoolean(R.bool.config_show_data_saver) -> AVAILABLE
+        else -> UNSUPPORTED_ON_DEVICE
+    }
+
+    override fun displayPreference(screen: PreferenceScreen) {
+        super.displayPreference(screen)
+        preference = screen.findPreference(preferenceKey)!!
+    }
+
+    override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
+        viewLifecycleOwner.lifecycleScope.launch {
+            viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
+                preference.summary = getUnrestrictedSummary(mContext)
+            }
+        }
+    }
+
+    companion object {
+        @VisibleForTesting
+        suspend fun getUnrestrictedSummary(
+            context: Context,
+            appListRepository: AppListRepository =
+                AppListRepositoryImpl(context.applicationContext),
+        ) = context.formatString(
+            R.string.data_saver_unrestricted_summary,
+            "count" to getAllowCount(context.applicationContext, appListRepository),
+        )
+
+        private suspend fun getAllowCount(context: Context, appListRepository: AppListRepository) =
+            withContext(Dispatchers.IO) {
+                coroutineScope {
+                    val appsDeferred = async {
+                        appListRepository.loadAndFilterApps(
+                            userId = UserHandle.myUserId(),
+                            isSystemApp = false,
+                        )
+                    }
+                    val uidsAllowed = NetworkPolicyManager.from(context)
+                        .getUidsWithPolicy(NetworkPolicyManager.POLICY_ALLOW_METERED_BACKGROUND)
+                    appsDeferred.await().count { app -> app.uid in uidsAllowed }
+                }
+            }
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
index 2a350f4..46f534d 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
@@ -236,6 +236,9 @@
     protected void onResume() {
         super.onResume();
 
+        //reset mNextClick to make sure introduction page would be closed correctly
+        mNextClicked = false;
+
         final int errorMsg = checkMaxEnrolled();
         if (errorMsg == 0) {
             mErrorText.setText(null);
diff --git a/src/com/android/settings/biometrics/BiometricUtils.java b/src/com/android/settings/biometrics/BiometricUtils.java
index 3356dfa..4e1a2f3 100644
--- a/src/com/android/settings/biometrics/BiometricUtils.java
+++ b/src/com/android/settings/biometrics/BiometricUtils.java
@@ -527,17 +527,18 @@
         // Assume the flow is "Screen Lock" + "Face" + "Fingerprint"
         ssb.append(bidi.unicodeWrap(screenLock));
 
+        if (hasFingerprint) {
+            ssb.append(bidi.unicodeWrap(SEPARATOR));
+            ssb.append(bidi.unicodeWrap(
+                    capitalize(context.getString(R.string.security_settings_fingerprint))));
+        }
+
         if (isFaceSupported) {
             ssb.append(bidi.unicodeWrap(SEPARATOR));
             ssb.append(bidi.unicodeWrap(
                     capitalize(context.getString(R.string.keywords_face_settings))));
         }
 
-        if (hasFingerprint) {
-            ssb.append(bidi.unicodeWrap(SEPARATOR));
-            ssb.append(bidi.unicodeWrap(
-                    capitalize(context.getString(R.string.security_settings_fingerprint))));
-        }
         return ssb.toString();
     }
 
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java b/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
index bff998a..bea0c33 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
@@ -120,6 +120,8 @@
     protected void onCreate(Bundle savedInstanceState) {
         mFaceManager = getFaceManager();
 
+        super.onCreate(savedInstanceState);
+
         if (savedInstanceState == null
                 && !WizardManagerHelper.isAnySetupWizard(getIntent())
                 && !getIntent().getBooleanExtra(EXTRA_FROM_SETTINGS_SUMMARY, false)
@@ -130,8 +132,6 @@
             finish();
         }
 
-        super.onCreate(savedInstanceState);
-
         // Wait super::onCreated() then return because SuperNotCalledExceptio will be thrown
         // if we don't wait for it.
         if (isFinishing()) {
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintAuthenticateSidecar.java b/src/com/android/settings/biometrics/fingerprint/FingerprintAuthenticateSidecar.java
index 4264056..f3c8aba 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintAuthenticateSidecar.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintAuthenticateSidecar.java
@@ -21,6 +21,7 @@
 import android.hardware.fingerprint.FingerprintManager.AuthenticationResult;
 import android.os.CancellationSignal;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.core.InstrumentedFragment;
 
 /**
@@ -80,7 +81,6 @@
 
                 @Override
                 public void onAuthenticationError(int errMsgId, CharSequence errString) {
-                    mCancellationSignal = null;
                     if (mListener != null) {
                         mListener.onAuthenticationError(errMsgId, errString);
                     } else {
@@ -108,10 +108,12 @@
     }
 
     public void stopAuthentication() {
-        if (mCancellationSignal != null && !mCancellationSignal.isCanceled()) {
+        if (mCancellationSignal != null) {
+            // This will automatically check if the cancel has been sent and if so
+            // it won't send it again.
             mCancellationSignal.cancel();
+            mCancellationSignal = null;
         }
-        mCancellationSignal = null;
     }
 
     public void setListener(Listener listener) {
@@ -129,4 +131,9 @@
         }
         mListener = listener;
     }
+
+    @VisibleForTesting
+    boolean isCancelled() {
+        return mCancellationSignal == null || mCancellationSignal.isCanceled();
+    }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
index dbdb024..a62bd67 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
@@ -1101,9 +1101,9 @@
         }
     }
 
-    @SuppressWarnings("MissingSuperCall") // TODO: Fix me
     @Override
     public void onConfigurationChanged(@NonNull Configuration newConfig) {
+        super.onConfigurationChanged(newConfig);
         maybeHideSfpsText(newConfig);
         switch(newConfig.orientation) {
             case Configuration.ORIENTATION_LANDSCAPE: {
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
index e47e9a8..505fe1c 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
@@ -169,7 +169,8 @@
         private static final String KEY_LAUNCHED_CONFIRM = "launched_confirm";
         private static final String KEY_HAS_FIRST_ENROLLED = "has_first_enrolled";
         private static final String KEY_IS_ENROLLING = "is_enrolled";
-        private static final String KEY_REQUIRE_SCREEN_ON_TO_AUTH =
+        @VisibleForTesting
+        static final String KEY_REQUIRE_SCREEN_ON_TO_AUTH =
                 "security_settings_require_screen_on_to_auth";
         private static final String KEY_FINGERPRINTS_ENROLLED_CATEGORY =
                 "security_settings_fingerprints_enrolled";
@@ -534,10 +535,6 @@
 
         private void addFingerprintPreferences(PreferenceGroup root) {
             final String fpPrefKey = addFingerprintItemPreferences(root);
-            if (isSfps()) {
-                scrollToPreference(fpPrefKey);
-                addFingerprintUnlockCategory();
-            }
             for (AbstractPreferenceController controller : mControllers) {
                 if (controller instanceof FingerprintSettingsPreferenceController) {
                     ((FingerprintSettingsPreferenceController) controller).setUserId(mUserId);
@@ -545,6 +542,14 @@
                     ((FingerprintUnlockCategoryController) controller).setUserId(mUserId);
                 }
             }
+
+            // This needs to be after setting ids, otherwise
+            // |mRequireScreenOnToAuthPreferenceController.isChecked| is always checking the primary
+            // user instead of the user with |mUserId|.
+            if (isSfps()) {
+                scrollToPreference(fpPrefKey);
+                addFingerprintUnlockCategory();
+            }
             createFooterPreference(root);
         }
 
diff --git a/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollProgressBarDrawable.java b/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollProgressBarDrawable.java
index aa3f770..75251cf 100644
--- a/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollProgressBarDrawable.java
+++ b/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollProgressBarDrawable.java
@@ -202,6 +202,7 @@
             return;
         }
 
+        mShowingHelp = showingHelp;
         if (mShowingHelp) {
             if (mVibrator != null && mIsAccessibilityEnabled) {
                 mVibrator.vibrate(Process.myUid(), mContext.getOpPackageName(),
@@ -228,7 +229,6 @@
             }
         }
 
-        mShowingHelp = showingHelp;
         mRemainingSteps = remainingSteps;
         mTotalSteps = totalSteps;
 
diff --git a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintManagerInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintManagerInteractor.kt
new file mode 100644
index 0000000..2fbdedf
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintManagerInteractor.kt
@@ -0,0 +1,207 @@
+/*
+ * 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.biometrics.fingerprint2.domain.interactor
+
+import android.content.Context
+import android.content.Intent
+import android.hardware.fingerprint.FingerprintManager
+import android.hardware.fingerprint.FingerprintManager.GenerateChallengeCallback
+import android.hardware.fingerprint.FingerprintManager.RemovalCallback
+import android.hardware.fingerprint.FingerprintSensorPropertiesInternal
+import android.os.CancellationSignal
+import android.util.Log
+import com.android.settings.biometrics.GatekeeperPasswordProvider
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintAuthAttemptViewModel
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel
+import com.android.settings.password.ChooseLockSettingsHelper
+import kotlin.coroutines.resume
+import kotlin.coroutines.suspendCoroutine
+import kotlinx.coroutines.CancellableContinuation
+import kotlinx.coroutines.CoroutineDispatcher
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.flow
+import kotlinx.coroutines.suspendCancellableCoroutine
+import kotlinx.coroutines.withContext
+
+private const val TAG = "FingerprintManagerInteractor"
+
+/** Encapsulates business logic related to managing fingerprints. */
+interface FingerprintManagerInteractor {
+  /** Returns the list of current fingerprints. */
+  val enrolledFingerprints: Flow<List<FingerprintViewModel>>
+
+  /** Returns the max enrollable fingerprints, note during SUW this might be 1 */
+  val maxEnrollableFingerprints: Flow<Int>
+
+  /** Runs [FingerprintManager.authenticate] */
+  suspend fun authenticate(): FingerprintAuthAttemptViewModel
+
+  /**
+   * Generates a challenge with the provided [gateKeeperPasswordHandle] and on success returns a
+   * challenge and challenge token. This info can be used for secure operations such as
+   * [FingerprintManager.enroll]
+   *
+   * @param gateKeeperPasswordHandle GateKeeper password handle generated by a Confirm
+   * @return A [Pair] of the challenge and challenge token
+   */
+  suspend fun generateChallenge(gateKeeperPasswordHandle: Long): Pair<Long, ByteArray>
+
+  /** Returns true if a user can enroll a fingerprint false otherwise. */
+  fun canEnrollFingerprints(numFingerprints: Int): Flow<Boolean>
+
+  /**
+   * Removes the given fingerprint, returning true if it was successfully removed and false
+   * otherwise
+   */
+  suspend fun removeFingerprint(fp: FingerprintViewModel): Boolean
+
+  /** Renames the given fingerprint if one exists */
+  suspend fun renameFingerprint(fp: FingerprintViewModel, newName: String)
+
+  /** Indicates if the device has side fingerprint */
+  suspend fun hasSideFps(): Boolean
+
+  /** Indicates if the press to auth feature has been enabled */
+  suspend fun pressToAuthEnabled(): Boolean
+
+  /** Retrieves the sensor properties of a device */
+  suspend fun sensorPropertiesInternal(): List<FingerprintSensorPropertiesInternal>
+}
+
+class FingerprintManagerInteractorImpl(
+  applicationContext: Context,
+  private val backgroundDispatcher: CoroutineDispatcher,
+  private val fingerprintManager: FingerprintManager,
+  private val gatekeeperPasswordProvider: GatekeeperPasswordProvider,
+  private val pressToAuthProvider: () -> Boolean,
+) : FingerprintManagerInteractor {
+
+  private val maxFingerprints =
+    applicationContext.resources.getInteger(
+      com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser
+    )
+  private val applicationContext = applicationContext.applicationContext
+
+  override suspend fun generateChallenge(gateKeeperPasswordHandle: Long): Pair<Long, ByteArray> =
+    suspendCoroutine {
+      val callback = GenerateChallengeCallback { _, userId, challenge ->
+        val intent = Intent()
+        intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, gateKeeperPasswordHandle)
+        val challengeToken =
+          gatekeeperPasswordProvider.requestGatekeeperHat(intent, challenge, userId)
+
+        gatekeeperPasswordProvider.removeGatekeeperPasswordHandle(intent, false)
+        val p = Pair(challenge, challengeToken)
+        it.resume(p)
+      }
+      fingerprintManager.generateChallenge(applicationContext.userId, callback)
+    }
+
+  override val enrolledFingerprints: Flow<List<FingerprintViewModel>> = flow {
+    emit(
+      fingerprintManager
+        .getEnrolledFingerprints(applicationContext.userId)
+        .map { (FingerprintViewModel(it.name.toString(), it.biometricId, it.deviceId)) }
+        .toList()
+    )
+  }
+
+  override fun canEnrollFingerprints(numFingerprints: Int): Flow<Boolean> = flow {
+    emit(numFingerprints < maxFingerprints)
+  }
+
+  override val maxEnrollableFingerprints = flow { emit(maxFingerprints) }
+
+  override suspend fun removeFingerprint(fp: FingerprintViewModel): Boolean = suspendCoroutine {
+    val callback =
+      object : RemovalCallback() {
+        override fun onRemovalError(
+          fp: android.hardware.fingerprint.Fingerprint,
+          errMsgId: Int,
+          errString: CharSequence
+        ) {
+          it.resume(false)
+        }
+
+        override fun onRemovalSucceeded(
+          fp: android.hardware.fingerprint.Fingerprint?,
+          remaining: Int
+        ) {
+          it.resume(true)
+        }
+      }
+    fingerprintManager.remove(
+      android.hardware.fingerprint.Fingerprint(fp.name, fp.fingerId, fp.deviceId),
+      applicationContext.userId,
+      callback
+    )
+  }
+
+  override suspend fun renameFingerprint(fp: FingerprintViewModel, newName: String) {
+    withContext(backgroundDispatcher) {
+      fingerprintManager.rename(fp.fingerId, applicationContext.userId, newName)
+    }
+  }
+
+  override suspend fun hasSideFps(): Boolean = suspendCancellableCoroutine {
+    it.resume(fingerprintManager.isPowerbuttonFps)
+  }
+
+  override suspend fun pressToAuthEnabled(): Boolean = suspendCancellableCoroutine {
+    it.resume(pressToAuthProvider())
+  }
+
+  override suspend fun sensorPropertiesInternal(): List<FingerprintSensorPropertiesInternal> =
+    suspendCancellableCoroutine {
+      it.resume(fingerprintManager.sensorPropertiesInternal)
+    }
+
+  override suspend fun authenticate(): FingerprintAuthAttemptViewModel =
+    suspendCancellableCoroutine { c: CancellableContinuation<FingerprintAuthAttemptViewModel> ->
+      val authenticationCallback =
+        object : FingerprintManager.AuthenticationCallback() {
+
+          override fun onAuthenticationError(errorCode: Int, errString: CharSequence) {
+            super.onAuthenticationError(errorCode, errString)
+            if (c.isCompleted) {
+              Log.d(TAG, "framework sent down onAuthError after finish")
+              return
+            }
+            c.resume(FingerprintAuthAttemptViewModel.Error(errorCode, errString.toString()))
+          }
+
+          override fun onAuthenticationSucceeded(result: FingerprintManager.AuthenticationResult) {
+            super.onAuthenticationSucceeded(result)
+            if (c.isCompleted) {
+              Log.d(TAG, "framework sent down onAuthError after finish")
+              return
+            }
+            c.resume(FingerprintAuthAttemptViewModel.Success(result.fingerprint?.biometricId ?: -1))
+          }
+        }
+
+      val cancellationSignal = CancellationSignal()
+      c.invokeOnCancellation { cancellationSignal.cancel() }
+      fingerprintManager.authenticate(
+        null,
+        cancellationSignal,
+        authenticationCallback,
+        null,
+        applicationContext.userId
+      )
+    }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/binder/FingerprintSettingsViewBinder.kt b/src/com/android/settings/biometrics/fingerprint2/ui/binder/FingerprintSettingsViewBinder.kt
new file mode 100644
index 0000000..d9f3e43
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/binder/FingerprintSettingsViewBinder.kt
@@ -0,0 +1,177 @@
+/*
+ * 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.biometrics.fingerprint2.ui.binder
+
+import android.hardware.fingerprint.FingerprintManager
+import android.util.Log
+import androidx.lifecycle.LifecycleCoroutineScope
+import com.android.settings.biometrics.fingerprint2.ui.binder.FingerprintSettingsViewBinder.FingerprintView
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.EnrollAdditionalFingerprint
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.EnrollFirstFingerprint
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintAuthAttemptViewModel
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintSettingsNavigationViewModel
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintSettingsViewModel
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintStateViewModel
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FinishSettings
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FinishSettingsWithResult
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.LaunchConfirmDeviceCredential
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.LaunchedActivity
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.PreferenceViewModel
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.ShowSettings
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.Job
+import kotlinx.coroutines.flow.collectLatest
+import kotlinx.coroutines.flow.filterNotNull
+import kotlinx.coroutines.launch
+
+private const val TAG = "FingerprintSettingsViewBinder"
+
+/** Binds a [FingerprintSettingsViewModel] to a [FingerprintView] */
+object FingerprintSettingsViewBinder {
+
+  interface FingerprintView {
+    /**
+     * Helper function to launch fingerprint enrollment(This should be the default behavior when a
+     * user enters their PIN/PATTERN/PASS and no fingerprints are enrolled).
+     */
+    fun launchFullFingerprintEnrollment(
+      userId: Int,
+      gateKeeperPasswordHandle: Long?,
+      challenge: Long?,
+      challengeToken: ByteArray?
+    )
+
+    /** Helper to launch an add fingerprint request */
+    fun launchAddFingerprint(userId: Int, challengeToken: ByteArray?)
+    /**
+     * Helper function that will try and launch confirm lock, if that fails we will prompt user to
+     * choose a PIN/PATTERN/PASS.
+     */
+    fun launchConfirmOrChooseLock(userId: Int)
+
+    /** Used to indicate that FingerprintSettings is finished. */
+    fun finish()
+
+    /** Indicates what result should be set for the returning callee */
+    fun setResultExternal(resultCode: Int)
+    /** Indicates the settings UI should be shown */
+    fun showSettings(state: FingerprintStateViewModel)
+    /** Indicates that a user has been locked out */
+    fun userLockout(authAttemptViewModel: FingerprintAuthAttemptViewModel.Error)
+    /** Indicates a fingerprint preference should be highlighted */
+    suspend fun highlightPref(fingerId: Int)
+    /** Indicates a user should be prompted to delete a fingerprint */
+    suspend fun askUserToDeleteDialog(fingerprintViewModel: FingerprintViewModel): Boolean
+    /** Indicates a user should be asked to renae ma dialog */
+    suspend fun askUserToRenameDialog(
+      fingerprintViewModel: FingerprintViewModel
+    ): Pair<FingerprintViewModel, String>?
+  }
+
+  fun bind(
+    view: FingerprintView,
+    viewModel: FingerprintSettingsViewModel,
+    navigationViewModel: FingerprintSettingsNavigationViewModel,
+    lifecycleScope: LifecycleCoroutineScope,
+  ) {
+
+    /** Result listener for launching enrollments **after** a user has reached the settings page. */
+
+    // Settings display flow
+    lifecycleScope.launch {
+      viewModel.fingerprintState.filterNotNull().collect { view.showSettings(it) }
+    }
+
+    // Dialog flow
+    lifecycleScope.launch {
+      viewModel.isShowingDialog.collectLatest {
+        if (it == null) {
+          return@collectLatest
+        }
+        when (it) {
+          is PreferenceViewModel.RenameDialog -> {
+            val willRename = view.askUserToRenameDialog(it.fingerprintViewModel)
+            if (willRename != null) {
+              Log.d(TAG, "renaming fingerprint $it")
+              viewModel.renameFingerprint(willRename.first, willRename.second)
+            }
+            viewModel.onRenameDialogFinished()
+          }
+          is PreferenceViewModel.DeleteDialog -> {
+            if (view.askUserToDeleteDialog(it.fingerprintViewModel)) {
+              Log.d(TAG, "deleting fingerprint $it")
+              viewModel.deleteFingerprint(it.fingerprintViewModel)
+            }
+            viewModel.onDeleteDialogFinished()
+          }
+        }
+      }
+    }
+
+    // Auth flow
+    lifecycleScope.launch {
+      viewModel.authFlow.filterNotNull().collect {
+        when (it) {
+          is FingerprintAuthAttemptViewModel.Success -> {
+            view.highlightPref(it.fingerId)
+          }
+          is FingerprintAuthAttemptViewModel.Error -> {
+            if (it.error == FingerprintManager.FINGERPRINT_ERROR_LOCKOUT) {
+              view.userLockout(it)
+            }
+          }
+        }
+      }
+    }
+
+    // Launch this on Dispatchers.Default and not main.
+    // Otherwise it takes too long for state transitions such as PIN/PATTERN/PASS
+    // to enrollment, which makes gives the user a janky experience.
+    lifecycleScope.launch(Dispatchers.Default) {
+      var settingsShowingJob: Job? = null
+      navigationViewModel.nextStep.filterNotNull().collect { nextStep ->
+        settingsShowingJob?.cancel()
+        settingsShowingJob = null
+        Log.d(TAG, "next step = $nextStep")
+        when (nextStep) {
+          is EnrollFirstFingerprint ->
+            view.launchFullFingerprintEnrollment(
+              nextStep.userId,
+              nextStep.gateKeeperPasswordHandle,
+              nextStep.challenge,
+              nextStep.challengeToken
+            )
+          is EnrollAdditionalFingerprint ->
+            view.launchAddFingerprint(nextStep.userId, nextStep.challengeToken)
+          is LaunchConfirmDeviceCredential -> view.launchConfirmOrChooseLock(nextStep.userId)
+          is FinishSettings -> {
+            Log.d(TAG, "Finishing due to ${nextStep.reason}")
+            view.finish()
+          }
+          is FinishSettingsWithResult -> {
+            Log.d(TAG, "Finishing with result ${nextStep.result} due to ${nextStep.reason}")
+            view.setResultExternal(nextStep.result)
+            view.finish()
+          }
+          is ShowSettings -> Log.d(TAG, "Showing settings")
+          is LaunchedActivity -> Log.d(TAG, "Launched activity, awaiting result")
+        }
+      }
+    }
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintDeletionDialog.kt b/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintDeletionDialog.kt
new file mode 100644
index 0000000..42e2047
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintDeletionDialog.kt
@@ -0,0 +1,119 @@
+/*
+ * 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.biometrics.fingerprint2.ui.fragment
+
+import android.app.Dialog
+import android.app.admin.DevicePolicyManager
+import android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_FINGERPRINT_LAST_DELETE_MESSAGE
+import android.app.admin.DevicePolicyResources.UNDEFINED
+import android.app.settings.SettingsEnums
+import android.content.DialogInterface
+import android.os.Bundle
+import android.os.UserManager
+import androidx.appcompat.app.AlertDialog
+import com.android.settings.R
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment
+import kotlin.coroutines.resume
+import kotlinx.coroutines.suspendCancellableCoroutine
+
+private const val KEY_IS_LAST_FINGERPRINT = "IS_LAST_FINGERPRINT"
+
+class FingerprintDeletionDialog : InstrumentedDialogFragment() {
+  private lateinit var fingerprintViewModel: FingerprintViewModel
+  private var isLastFingerprint: Boolean = false
+  private lateinit var alertDialog: AlertDialog
+  lateinit var onClickListener: DialogInterface.OnClickListener
+  lateinit var onNegativeClickListener: DialogInterface.OnClickListener
+  lateinit var onCancelListener: DialogInterface.OnCancelListener
+
+  override fun getMetricsCategory(): Int {
+    return SettingsEnums.DIALOG_FINGERPINT_EDIT
+  }
+
+  override fun onCancel(dialog: DialogInterface) {
+    onCancelListener.onCancel(dialog)
+  }
+
+  override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
+    val fp = requireArguments().get(KEY_FINGERPRINT) as android.hardware.fingerprint.Fingerprint
+    fingerprintViewModel = FingerprintViewModel(fp.name.toString(), fp.biometricId, fp.deviceId)
+    isLastFingerprint = requireArguments().getBoolean(KEY_IS_LAST_FINGERPRINT)
+    val title = getString(R.string.fingerprint_delete_title, fingerprintViewModel.name)
+    var message = getString(R.string.fingerprint_v2_delete_message, fingerprintViewModel.name)
+    val context = requireContext()
+
+    if (isLastFingerprint) {
+      val isProfileChallengeUser = UserManager.get(context).isManagedProfile(context.userId)
+      val messageId =
+        if (isProfileChallengeUser) {
+          WORK_PROFILE_FINGERPRINT_LAST_DELETE_MESSAGE
+        } else {
+          UNDEFINED
+        }
+      val defaultMessageId =
+        if (isProfileChallengeUser) {
+          R.string.fingerprint_last_delete_message_profile_challenge
+        } else {
+          R.string.fingerprint_last_delete_message
+        }
+      val devicePolicyManager = requireContext().getSystemService(DevicePolicyManager::class.java)
+      message =
+        devicePolicyManager?.resources?.getString(messageId) {
+          message + "\n\n" + context.getString(defaultMessageId)
+        }
+          ?: ""
+    }
+
+    alertDialog =
+      AlertDialog.Builder(requireActivity())
+        .setTitle(title)
+        .setMessage(message)
+        .setPositiveButton(
+          R.string.security_settings_fingerprint_enroll_dialog_delete,
+          onClickListener
+        )
+        .setNegativeButton(R.string.cancel, onNegativeClickListener)
+        .create()
+    return alertDialog
+  }
+
+  companion object {
+    private const val KEY_FINGERPRINT = "fingerprint"
+    suspend fun showInstance(
+      fp: FingerprintViewModel,
+      lastFingerprint: Boolean,
+      target: FingerprintSettingsV2Fragment,
+    ) = suspendCancellableCoroutine { continuation ->
+      val dialog = FingerprintDeletionDialog()
+      dialog.onClickListener = DialogInterface.OnClickListener { _, _ -> continuation.resume(true) }
+      dialog.onNegativeClickListener =
+        DialogInterface.OnClickListener { _, _ -> continuation.resume(false) }
+      dialog.onCancelListener = DialogInterface.OnCancelListener { continuation.resume(false) }
+
+      continuation.invokeOnCancellation { dialog.dismiss() }
+      val bundle = Bundle()
+      bundle.putObject(
+        KEY_FINGERPRINT,
+        android.hardware.fingerprint.Fingerprint(fp.name, fp.fingerId, fp.deviceId)
+      )
+      bundle.putBoolean(KEY_IS_LAST_FINGERPRINT, lastFingerprint)
+      dialog.arguments = bundle
+      dialog.show(target.parentFragmentManager, FingerprintDeletionDialog::class.java.toString())
+    }
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsPreference.kt b/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsPreference.kt
new file mode 100644
index 0000000..e12785d
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsPreference.kt
@@ -0,0 +1,85 @@
+/*
+ * 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.biometrics.fingerprint2.ui.fragment
+
+import android.content.Context
+import android.util.Log
+import android.view.View
+import androidx.lifecycle.lifecycleScope
+import androidx.preference.PreferenceViewHolder
+import com.android.settings.R
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel
+import com.android.settingslib.widget.TwoTargetPreference
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.launch
+
+private const val TAG = "FingerprintSettingsPreference"
+
+class FingerprintSettingsPreference(
+  context: Context,
+  val fingerprintViewModel: FingerprintViewModel,
+  val fragment: FingerprintSettingsV2Fragment,
+  val isLastFingerprint: Boolean
+) : TwoTargetPreference(context) {
+  private lateinit var myView: View
+
+  init {
+    key = "FINGERPRINT_" + fingerprintViewModel.fingerId
+    Log.d(TAG, "FingerprintPreference $this with frag $fragment $key")
+    title = fingerprintViewModel.name
+    isPersistent = false
+    setIcon(R.drawable.ic_fingerprint_24dp)
+    setOnPreferenceClickListener {
+      fragment.lifecycleScope.launch { fragment.onPrefClicked(fingerprintViewModel) }
+      true
+    }
+  }
+
+  override fun onBindViewHolder(view: PreferenceViewHolder) {
+    super.onBindViewHolder(view)
+    myView = view.itemView
+    view.itemView.findViewById<View>(R.id.delete_button)?.setOnClickListener {
+      fragment.lifecycleScope.launch { fragment.onDeletePrefClicked(fingerprintViewModel) }
+    }
+  }
+
+  /** Highlights this dialog. */
+  suspend fun highlight() {
+    fragment.activity?.getDrawable(R.drawable.preference_highlight)?.let { highlight ->
+      val centerX: Float = myView.width / 2.0f
+      val centerY: Float = myView.height / 2.0f
+      highlight.setHotspot(centerX, centerY)
+      myView.background = highlight
+      myView.isPressed = true
+      myView.isPressed = false
+      delay(300)
+      myView.background = null
+    }
+  }
+
+  override fun getSecondTargetResId(): Int {
+    return R.layout.preference_widget_delete
+  }
+
+  suspend fun askUserToDeleteDialog(): Boolean {
+    return FingerprintDeletionDialog.showInstance(fingerprintViewModel, isLastFingerprint, fragment)
+  }
+
+  suspend fun askUserToRenameDialog(): Pair<FingerprintViewModel, String>? {
+    return FingerprintSettingsRenameDialog.showInstance(fingerprintViewModel, fragment)
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsRenameDialog.kt b/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsRenameDialog.kt
new file mode 100644
index 0000000..a08b3db
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsRenameDialog.kt
@@ -0,0 +1,145 @@
+/*
+ * 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.biometrics.fingerprint2.ui.fragment
+
+import android.app.Dialog
+import android.app.settings.SettingsEnums
+import android.content.DialogInterface
+import android.os.Bundle
+import android.text.InputFilter
+import android.text.Spanned
+import android.text.TextUtils
+import android.util.Log
+import android.widget.ImeAwareEditText
+import androidx.appcompat.app.AlertDialog
+import com.android.settings.R
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment
+import kotlin.coroutines.resume
+import kotlinx.coroutines.suspendCancellableCoroutine
+
+private const val TAG = "FingerprintSettingsRenameDialog"
+
+class FingerprintSettingsRenameDialog : InstrumentedDialogFragment() {
+  lateinit var onClickListener: DialogInterface.OnClickListener
+  lateinit var onCancelListener: DialogInterface.OnCancelListener
+
+  override fun onCancel(dialog: DialogInterface) {
+    Log.d(TAG, "onCancel $dialog")
+    onCancelListener.onCancel(dialog)
+  }
+
+  override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
+    Log.d(TAG, "onCreateDialog $this")
+    val fp = requireArguments().get(KEY_FINGERPRINT) as android.hardware.fingerprint.Fingerprint
+    val fingerprintViewModel = FingerprintViewModel(fp.name.toString(), fp.biometricId, fp.deviceId)
+
+    val context = requireContext()
+    val alertDialog =
+      AlertDialog.Builder(context)
+        .setView(R.layout.fingerprint_rename_dialog)
+        .setPositiveButton(R.string.security_settings_fingerprint_enroll_dialog_ok, onClickListener)
+        .create()
+    alertDialog.setOnShowListener {
+      (dialog?.findViewById(R.id.fingerprint_rename_field) as ImeAwareEditText?)?.apply {
+        val name = fingerprintViewModel.name
+        setText(name)
+        filters = this@FingerprintSettingsRenameDialog.getFilters()
+        selectAll()
+        requestFocus()
+        scheduleShowSoftInput()
+      }
+    }
+
+    return alertDialog
+  }
+
+  private fun getFilters(): Array<InputFilter> {
+    val filter: InputFilter =
+      object : InputFilter {
+
+        override fun filter(
+          source: CharSequence,
+          start: Int,
+          end: Int,
+          dest: Spanned?,
+          dstart: Int,
+          dend: Int
+        ): CharSequence? {
+          for (index in start until end) {
+            val c = source[index]
+            // KXMLSerializer does not allow these characters,
+            // see KXmlSerializer.java:162.
+            if (c.code < 0x20) {
+              return ""
+            }
+          }
+          return null
+        }
+      }
+    return arrayOf(filter)
+  }
+
+  override fun getMetricsCategory(): Int {
+    return SettingsEnums.DIALOG_FINGERPINT_EDIT
+  }
+
+  companion object {
+    private const val KEY_FINGERPRINT = "fingerprint"
+
+    suspend fun showInstance(fp: FingerprintViewModel, target: FingerprintSettingsV2Fragment) =
+      suspendCancellableCoroutine { continuation ->
+        val dialog = FingerprintSettingsRenameDialog()
+        val onClick =
+          DialogInterface.OnClickListener { _, _ ->
+            val dialogTextField =
+              dialog.requireDialog().findViewById(R.id.fingerprint_rename_field) as ImeAwareEditText
+            val newName = dialogTextField.text.toString()
+            if (!TextUtils.equals(newName, fp.name)) {
+              Log.d(TAG, "rename $fp.name to $newName for $dialog")
+              continuation.resume(Pair(fp, newName))
+            } else {
+              continuation.resume(null)
+            }
+          }
+
+        dialog.onClickListener = onClick
+        dialog.onCancelListener =
+          DialogInterface.OnCancelListener {
+            Log.d(TAG, "onCancelListener clicked $dialog")
+            continuation.resume(null)
+          }
+
+        continuation.invokeOnCancellation {
+          Log.d(TAG, "invokeOnCancellation $dialog")
+          dialog.dismiss()
+        }
+
+        val bundle = Bundle()
+        bundle.putObject(
+          KEY_FINGERPRINT,
+          android.hardware.fingerprint.Fingerprint(fp.name, fp.fingerId, fp.deviceId)
+        )
+        dialog.arguments = bundle
+        Log.d(TAG, "showing dialog $dialog")
+        dialog.show(
+          target.parentFragmentManager,
+          FingerprintSettingsRenameDialog::class.java.toString()
+        )
+      }
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsV2Fragment.kt b/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsV2Fragment.kt
new file mode 100644
index 0000000..b82f7c1
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsV2Fragment.kt
@@ -0,0 +1,581 @@
+/*
+ * 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.biometrics.fingerprint2.ui.fragment
+
+import android.app.Activity
+import android.app.admin.DevicePolicyManager
+import android.app.admin.DevicePolicyResources.Strings.Settings.FINGERPRINT_UNLOCK_DISABLED_EXPLANATION
+import android.app.settings.SettingsEnums
+import android.content.Context.FINGERPRINT_SERVICE
+import android.content.Intent
+import android.hardware.fingerprint.FingerprintManager
+import android.os.Bundle
+import android.provider.Settings.Secure
+import android.text.TextUtils
+import android.util.FeatureFlagUtils
+import android.util.Log
+import android.view.View
+import android.widget.Toast
+import androidx.activity.result.ActivityResultLauncher
+import androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult
+import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.lifecycleScope
+import androidx.preference.Preference
+import androidx.preference.PreferenceCategory
+import com.android.internal.widget.LockPatternUtils
+import com.android.settings.R
+import com.android.settings.Utils.SETTINGS_PACKAGE_NAME
+import com.android.settings.biometrics.BiometricEnrollBase
+import com.android.settings.biometrics.BiometricEnrollBase.CONFIRM_REQUEST
+import com.android.settings.biometrics.BiometricEnrollBase.EXTRA_FROM_SETTINGS_SUMMARY
+import com.android.settings.biometrics.BiometricEnrollBase.RESULT_FINISHED
+import com.android.settings.biometrics.GatekeeperPasswordProvider
+import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling
+import com.android.settings.biometrics.fingerprint.FingerprintEnrollIntroductionInternal
+import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractorImpl
+import com.android.settings.biometrics.fingerprint2.ui.binder.FingerprintSettingsViewBinder
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintAuthAttemptViewModel
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintSettingsNavigationViewModel
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintSettingsViewModel
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintStateViewModel
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel
+import com.android.settings.core.SettingsBaseActivity
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment
+import com.android.settings.dashboard.DashboardFragment
+import com.android.settings.password.ChooseLockGeneric
+import com.android.settings.password.ChooseLockSettingsHelper
+import com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE
+import com.android.settingslib.HelpUtils
+import com.android.settingslib.RestrictedLockUtils
+import com.android.settingslib.RestrictedLockUtilsInternal
+import com.android.settingslib.transition.SettingsTransitionHelper
+import com.android.settingslib.widget.FooterPreference
+import com.google.android.setupdesign.util.DeviceHelper
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+
+private const val TAG = "FingerprintSettingsV2Fragment"
+private const val KEY_FINGERPRINTS_ENROLLED_CATEGORY = "security_settings_fingerprints_enrolled"
+private const val KEY_FINGERPRINT_SIDE_FPS_CATEGORY =
+  "security_settings_fingerprint_unlock_category"
+private const val KEY_FINGERPRINT_ADD = "key_fingerprint_add"
+private const val KEY_FINGERPRINT_SIDE_FPS_SCREEN_ON_TO_AUTH =
+  "security_settings_require_screen_on_to_auth"
+private const val KEY_FINGERPRINT_FOOTER = "security_settings_fingerprint_footer"
+
+/**
+ * A class responsible for showing FingerprintSettings. Typical activity Flows are
+ * 1. Settings > FingerprintSettings > PIN/PATTERN/PASS -> FingerprintSettings
+ * 2. FingerprintSettings -> FingerprintEnrollment fow
+ *
+ * This page typically allows for
+ * 1. Fingerprint deletion
+ * 2. Fingerprint enrollment
+ * 3. Renaming a fingerprint
+ * 4. Enabling/Disabling a feature
+ */
+class FingerprintSettingsV2Fragment :
+  DashboardFragment(), FingerprintSettingsViewBinder.FingerprintView {
+  private lateinit var settingsViewModel: FingerprintSettingsViewModel
+  private lateinit var navigationViewModel: FingerprintSettingsNavigationViewModel
+
+  /** Result listener for ChooseLock activity flow. */
+  private val confirmDeviceResultListener =
+    registerForActivityResult(StartActivityForResult()) { result ->
+      val resultCode = result.resultCode
+      val data = result.data
+      onConfirmDevice(resultCode, data)
+    }
+
+  /** Result listener for launching enrollments **after** a user has reached the settings page. */
+  private val launchAdditionalFingerprintListener: ActivityResultLauncher<Intent> =
+    registerForActivityResult(StartActivityForResult()) { result ->
+      lifecycleScope.launch {
+        val resultCode = result.resultCode
+        Log.d(TAG, "onEnrollAdditionalFingerprint($resultCode)")
+
+        if (resultCode == BiometricEnrollBase.RESULT_TIMEOUT) {
+          navigationViewModel.onEnrollAdditionalFailure()
+        } else {
+          navigationViewModel.onEnrollSuccess()
+        }
+      }
+    }
+
+  /** Initial listener for the first enrollment request */
+  private val launchFirstEnrollmentListener: ActivityResultLauncher<Intent> =
+    registerForActivityResult(StartActivityForResult()) { result ->
+      lifecycleScope.launch {
+        val resultCode = result.resultCode
+        val data = result.data
+
+        Log.d(TAG, "onEnrollFirstFingerprint($resultCode, $data)")
+        if (resultCode != RESULT_FINISHED || data == null) {
+          if (resultCode == BiometricEnrollBase.RESULT_TIMEOUT) {
+            navigationViewModel.onEnrollFirstFailure(
+              "Received RESULT_TIMEOUT when enrolling",
+              resultCode
+            )
+          } else {
+            navigationViewModel.onEnrollFirstFailure(
+              "Incorrect resultCode or data was null",
+              resultCode
+            )
+          }
+        } else {
+          val token = data.getByteArrayExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN)
+          val challenge = data.getExtra(BiometricEnrollBase.EXTRA_KEY_CHALLENGE) as Long?
+          navigationViewModel.onEnrollFirst(token, challenge)
+        }
+      }
+    }
+
+  override fun userLockout(authAttemptViewModel: FingerprintAuthAttemptViewModel.Error) {
+    Toast.makeText(activity, authAttemptViewModel.message, Toast.LENGTH_SHORT).show()
+  }
+
+  override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+    // This is needed to support ChooseLockSettingBuilder...show(). All other activity
+    // calls should use the registerForActivity method call.
+    super.onActivityResult(requestCode, resultCode, data)
+    onConfirmDevice(resultCode, data)
+  }
+
+  override fun onCreate(icicle: Bundle?) {
+    super.onCreate(icicle)
+
+    if (icicle != null) {
+      Log.d(TAG, "onCreateWithSavedState")
+    } else {
+      Log.d(TAG, "onCreate()")
+    }
+
+    if (
+      !FeatureFlagUtils.isEnabled(
+        context,
+        FeatureFlagUtils.SETTINGS_BIOMETRICS2_FINGERPRINT_SETTINGS
+      )
+    ) {
+      Log.d(TAG, "Finishing due to feature not being enabled")
+      finish()
+      return
+    }
+
+    val context = requireContext()
+    val userId = context.userId
+
+    preferenceScreen.isVisible = false
+
+    val fingerprintManager = context.getSystemService(FINGERPRINT_SERVICE) as FingerprintManager
+
+    val backgroundDispatcher = Dispatchers.IO
+    val activity = requireActivity()
+    val userHandle = activity.user.identifier
+
+    val interactor =
+      FingerprintManagerInteractorImpl(
+        context.applicationContext,
+        backgroundDispatcher,
+        fingerprintManager,
+        GatekeeperPasswordProvider(LockPatternUtils(context.applicationContext))
+      ) {
+        var toReturn: Int =
+          Secure.getIntForUser(
+            context.contentResolver,
+            Secure.SFPS_PERFORMANT_AUTH_ENABLED,
+            -1,
+            userHandle,
+          )
+        if (toReturn == -1) {
+          toReturn =
+            if (
+              context.resources.getBoolean(com.android.internal.R.bool.config_performantAuthDefault)
+            ) {
+              1
+            } else {
+              0
+            }
+          Secure.putIntForUser(
+            context.contentResolver,
+            Secure.SFPS_PERFORMANT_AUTH_ENABLED,
+            toReturn,
+            userHandle
+          )
+        }
+
+        toReturn == 1
+      }
+
+    val token = intent.getByteArrayExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN)
+    val challenge = intent.getLongExtra(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, -1L)
+
+    navigationViewModel =
+      ViewModelProvider(
+        this,
+        FingerprintSettingsNavigationViewModel.FingerprintSettingsNavigationModelFactory(
+          userId,
+          interactor,
+          backgroundDispatcher,
+          token,
+          challenge
+        )
+      )[FingerprintSettingsNavigationViewModel::class.java]
+
+    settingsViewModel =
+      ViewModelProvider(
+        this,
+        FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
+          userId,
+          interactor,
+          backgroundDispatcher,
+          navigationViewModel,
+        )
+      )[FingerprintSettingsViewModel::class.java]
+
+    FingerprintSettingsViewBinder.bind(
+      this,
+      settingsViewModel,
+      navigationViewModel,
+      lifecycleScope,
+    )
+  }
+
+  override fun getMetricsCategory(): Int {
+    return SettingsEnums.FINGERPRINT
+  }
+
+  override fun getPreferenceScreenResId(): Int {
+    return R.xml.security_settings_fingerprint_limbo
+  }
+
+  override fun getLogTag(): String {
+    return TAG
+  }
+
+  override fun onStop() {
+    super.onStop()
+    navigationViewModel.maybeFinishActivity(requireActivity().isChangingConfigurations)
+  }
+
+  override fun onPause() {
+    super.onPause()
+    settingsViewModel.shouldAuthenticate(false)
+    val transaction = parentFragmentManager.beginTransaction()
+    for (frag in parentFragmentManager.fragments) {
+      if (frag is InstrumentedDialogFragment) {
+        Log.d(TAG, "removing dialog settings fragment $frag")
+        frag.dismiss()
+        transaction.remove(frag)
+      }
+    }
+    transaction.commit()
+  }
+
+  override fun onResume() {
+    super.onResume()
+    settingsViewModel.shouldAuthenticate(true)
+  }
+
+  /** Used to indicate that preference has been clicked */
+  fun onPrefClicked(fingerprintViewModel: FingerprintViewModel) {
+    Log.d(TAG, "onPrefClicked(${fingerprintViewModel})")
+    settingsViewModel.onPrefClicked(fingerprintViewModel)
+  }
+
+  /** Used to indicate that a delete pref has been clicked */
+  fun onDeletePrefClicked(fingerprintViewModel: FingerprintViewModel) {
+    Log.d(TAG, "onDeletePrefClicked(${fingerprintViewModel})")
+    settingsViewModel.onDeleteClicked(fingerprintViewModel)
+  }
+
+  override fun showSettings(state: FingerprintStateViewModel) {
+    val category =
+      this@FingerprintSettingsV2Fragment.findPreference(KEY_FINGERPRINTS_ENROLLED_CATEGORY)
+        as PreferenceCategory?
+
+    category?.removeAll()
+
+    state.fingerprintViewModels.forEach { fingerprint ->
+      category?.addPreference(
+        FingerprintSettingsPreference(
+          requireContext(),
+          fingerprint,
+          this@FingerprintSettingsV2Fragment,
+          state.fingerprintViewModels.size == 1,
+        )
+      )
+    }
+    category?.isVisible = true
+
+    createFingerprintsFooterPreference(state.canEnroll, state.maxFingerprints)
+    preferenceScreen.isVisible = true
+
+    val sideFpsPref =
+      this@FingerprintSettingsV2Fragment.findPreference(KEY_FINGERPRINT_SIDE_FPS_CATEGORY)
+        as PreferenceCategory?
+    sideFpsPref?.isVisible = false
+
+    if (state.hasSideFps) {
+      sideFpsPref?.isVisible = state.fingerprintViewModels.isNotEmpty()
+      val otherPref =
+        this@FingerprintSettingsV2Fragment.findPreference(
+          KEY_FINGERPRINT_SIDE_FPS_SCREEN_ON_TO_AUTH
+        ) as Preference?
+      otherPref?.isVisible = state.fingerprintViewModels.isNotEmpty()
+    }
+    addFooter(state.hasSideFps)
+  }
+  private fun addFooter(hasSideFps: Boolean) {
+    val footer =
+      this@FingerprintSettingsV2Fragment.findPreference(KEY_FINGERPRINT_FOOTER)
+        as PreferenceCategory?
+    val admin =
+      RestrictedLockUtilsInternal.checkIfKeyguardFeaturesDisabled(
+        activity,
+        DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT,
+        requireActivity().userId
+      )
+    val activity = requireActivity()
+    val helpIntent =
+      HelpUtils.getHelpIntent(activity, getString(helpResource), activity::class.java.name)
+    val learnMoreClickListener =
+      View.OnClickListener { v: View? -> activity.startActivityForResult(helpIntent, 0) }
+
+    class FooterColumn {
+      var title: CharSequence? = null
+      var learnMoreOverrideText: CharSequence? = null
+      var learnMoreOnClickListener: View.OnClickListener? = null
+    }
+
+    var footerColumns = mutableListOf<FooterColumn>()
+    if (admin != null) {
+      val devicePolicyManager = getSystemService(DevicePolicyManager::class.java)
+      val column1 = FooterColumn()
+      column1.title =
+        devicePolicyManager.resources.getString(FINGERPRINT_UNLOCK_DISABLED_EXPLANATION) {
+          getString(R.string.security_fingerprint_disclaimer_lockscreen_disabled_1)
+        }
+
+      column1.learnMoreOnClickListener =
+        View.OnClickListener { _ ->
+          RestrictedLockUtils.sendShowAdminSupportDetailsIntent(activity, admin)
+        }
+      column1.learnMoreOverrideText = getText(R.string.admin_support_more_info)
+      footerColumns.add(column1)
+      val column2 = FooterColumn()
+      column2.title = getText(R.string.security_fingerprint_disclaimer_lockscreen_disabled_2)
+      if (hasSideFps) {
+        column2.learnMoreOverrideText =
+          getText(R.string.security_settings_fingerprint_settings_footer_learn_more)
+      }
+      column2.learnMoreOnClickListener = learnMoreClickListener
+      footerColumns.add(column2)
+    } else {
+      val column = FooterColumn()
+      column.title =
+        getString(
+          R.string.security_settings_fingerprint_enroll_introduction_v3_message,
+          DeviceHelper.getDeviceName(requireActivity())
+        )
+      column.learnMoreOnClickListener = learnMoreClickListener
+      if (hasSideFps) {
+        column.learnMoreOverrideText =
+          getText(R.string.security_settings_fingerprint_settings_footer_learn_more)
+      }
+      footerColumns.add(column)
+    }
+
+    footer?.removeAll()
+    for (i in 0 until footerColumns.size) {
+      val column = footerColumns[i]
+      val footerPrefToAdd: FooterPreference =
+        FooterPreference.Builder(requireContext()).setTitle(column.title).build()
+      if (i > 0) {
+        footerPrefToAdd.setIconVisibility(View.GONE)
+      }
+      if (column.learnMoreOnClickListener != null) {
+        footerPrefToAdd.setLearnMoreAction(column.learnMoreOnClickListener)
+        if (!TextUtils.isEmpty(column.learnMoreOverrideText)) {
+          footerPrefToAdd.setLearnMoreText(column.learnMoreOverrideText)
+        }
+      }
+      footer?.addPreference(footerPrefToAdd)
+    }
+  }
+
+  override suspend fun askUserToDeleteDialog(fingerprintViewModel: FingerprintViewModel): Boolean {
+    Log.d(TAG, "showing delete dialog for (${fingerprintViewModel})")
+
+    try {
+      val willDelete =
+        fingerprintPreferences()
+          .first { it?.fingerprintViewModel == fingerprintViewModel }
+          ?.askUserToDeleteDialog()
+          ?: false
+      if (willDelete) {
+        mMetricsFeatureProvider.action(
+          context,
+          SettingsEnums.ACTION_FINGERPRINT_DELETE,
+          fingerprintViewModel.fingerId
+        )
+      }
+      return willDelete
+    } catch (exception: Exception) {
+      Log.d(TAG, "askUserToDeleteDialog exception $exception")
+      return false
+    }
+  }
+
+  override suspend fun askUserToRenameDialog(
+    fingerprintViewModel: FingerprintViewModel
+  ): Pair<FingerprintViewModel, String>? {
+    Log.d(TAG, "showing rename dialog for (${fingerprintViewModel})")
+    try {
+      val toReturn =
+        fingerprintPreferences()
+          .first { it?.fingerprintViewModel == fingerprintViewModel }
+          ?.askUserToRenameDialog()
+      if (toReturn != null) {
+        mMetricsFeatureProvider.action(
+          context,
+          SettingsEnums.ACTION_FINGERPRINT_RENAME,
+          toReturn.first.fingerId
+        )
+      }
+      return toReturn
+    } catch (exception: Exception) {
+      Log.d(TAG, "askUserToRenameDialog exception $exception")
+      return null
+    }
+  }
+
+  override suspend fun highlightPref(fingerId: Int) {
+    fingerprintPreferences()
+      .first { pref -> pref?.fingerprintViewModel?.fingerId == fingerId }
+      ?.highlight()
+  }
+
+  override fun launchConfirmOrChooseLock(userId: Int) {
+    lifecycleScope.launch(Dispatchers.Default) {
+      navigationViewModel.setStepToLaunched()
+      val intent = Intent()
+      val builder =
+        ChooseLockSettingsHelper.Builder(requireActivity(), this@FingerprintSettingsV2Fragment)
+      val launched =
+        builder
+          .setRequestCode(CONFIRM_REQUEST)
+          .setTitle(getString(R.string.security_settings_fingerprint_preference_title))
+          .setRequestGatekeeperPasswordHandle(true)
+          .setUserId(userId)
+          .setForegroundOnly(true)
+          .setReturnCredentials(true)
+          .show()
+      if (!launched) {
+        intent.setClassName(SETTINGS_PACKAGE_NAME, ChooseLockGeneric::class.java.name)
+        intent.putExtra(ChooseLockGeneric.ChooseLockGenericFragment.HIDE_INSECURE_OPTIONS, true)
+        intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_GK_PW_HANDLE, true)
+        intent.putExtra(Intent.EXTRA_USER_ID, userId)
+        confirmDeviceResultListener.launch(intent)
+      }
+    }
+  }
+
+  override fun launchFullFingerprintEnrollment(
+    userId: Int,
+    gateKeeperPasswordHandle: Long?,
+    challenge: Long?,
+    challengeToken: ByteArray?,
+  ) {
+    navigationViewModel.setStepToLaunched()
+    Log.d(TAG, "launchFullFingerprintEnrollment")
+    val intent = Intent()
+    intent.setClassName(
+      SETTINGS_PACKAGE_NAME,
+      FingerprintEnrollIntroductionInternal::class.java.name
+    )
+    intent.putExtra(EXTRA_FROM_SETTINGS_SUMMARY, true)
+    intent.putExtra(
+      SettingsBaseActivity.EXTRA_PAGE_TRANSITION_TYPE,
+      SettingsTransitionHelper.TransitionType.TRANSITION_SLIDE
+    )
+
+    intent.putExtra(Intent.EXTRA_USER_ID, userId)
+
+    if (gateKeeperPasswordHandle != null) {
+      intent.putExtra(EXTRA_KEY_GK_PW_HANDLE, gateKeeperPasswordHandle)
+    } else {
+      intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, challengeToken)
+      intent.putExtra(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, challenge)
+    }
+    launchFirstEnrollmentListener.launch(intent)
+  }
+
+  override fun setResultExternal(resultCode: Int) {
+    setResult(resultCode)
+  }
+
+  override fun launchAddFingerprint(userId: Int, challengeToken: ByteArray?) {
+    navigationViewModel.setStepToLaunched()
+    val intent = Intent()
+    intent.setClassName(
+      SETTINGS_PACKAGE_NAME,
+      FingerprintEnrollEnrolling::class.qualifiedName.toString()
+    )
+    intent.putExtra(Intent.EXTRA_USER_ID, userId)
+    intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, challengeToken)
+    launchAdditionalFingerprintListener.launch(intent)
+  }
+
+  private fun onConfirmDevice(resultCode: Int, data: Intent?) {
+    val wasSuccessful = resultCode == RESULT_FINISHED || resultCode == Activity.RESULT_OK
+    val gateKeeperPasswordHandle = data?.getExtra(EXTRA_KEY_GK_PW_HANDLE) as Long?
+    lifecycleScope.launch {
+      navigationViewModel.onConfirmDevice(wasSuccessful, gateKeeperPasswordHandle)
+    }
+  }
+
+  private fun createFingerprintsFooterPreference(canEnroll: Boolean, maxFingerprints: Int) {
+    val pref = this@FingerprintSettingsV2Fragment.findPreference<Preference>(KEY_FINGERPRINT_ADD)
+    val maxSummary = context?.getString(R.string.fingerprint_add_max, maxFingerprints) ?: ""
+    pref?.summary = maxSummary
+    pref?.isEnabled = canEnroll
+    pref?.setOnPreferenceClickListener {
+      navigationViewModel.onAddFingerprintClicked()
+      true
+    }
+    pref?.isVisible = true
+  }
+
+  private fun fingerprintPreferences(): List<FingerprintSettingsPreference?> {
+    val category =
+      this@FingerprintSettingsV2Fragment.findPreference(KEY_FINGERPRINTS_ENROLLED_CATEGORY)
+        as PreferenceCategory?
+
+    return category?.let { cat ->
+      cat.childrenToList().map { it as FingerprintSettingsPreference? }
+    }
+      ?: emptyList()
+  }
+
+  private fun PreferenceCategory.childrenToList(): List<Preference> {
+    val mutable: MutableList<Preference> = mutableListOf()
+    for (i in 0 until this.preferenceCount) {
+      mutable.add(this.getPreference(i))
+    }
+    return mutable.toList()
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintSettingsNavigationViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintSettingsNavigationViewModel.kt
new file mode 100644
index 0000000..a3a5d3c
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintSettingsNavigationViewModel.kt
@@ -0,0 +1,189 @@
+/*
+ * 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.biometrics.fingerprint2.ui.viewmodel
+
+import android.hardware.fingerprint.FingerprintManager
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.viewModelScope
+import com.android.settings.biometrics.BiometricEnrollBase
+import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractor
+import kotlinx.coroutines.CoroutineDispatcher
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.StateFlow
+import kotlinx.coroutines.flow.asStateFlow
+import kotlinx.coroutines.flow.update
+import kotlinx.coroutines.launch
+
+/** A Viewmodel that represents the navigation of the FingerprintSettings activity. */
+class FingerprintSettingsNavigationViewModel(
+  private val userId: Int,
+  private val fingerprintManagerInteractor: FingerprintManagerInteractor,
+  private val backgroundDispatcher: CoroutineDispatcher,
+  tokenInit: ByteArray?,
+  challengeInit: Long?,
+) : ViewModel() {
+
+  private var token = tokenInit
+  private var challenge = challengeInit
+
+  private val _nextStep: MutableStateFlow<NextStepViewModel?> = MutableStateFlow(null)
+  /** This flow represents the high level state for the FingerprintSettingsV2Fragment. */
+  val nextStep: StateFlow<NextStepViewModel?> = _nextStep.asStateFlow()
+
+  init {
+    if (challengeInit == null || tokenInit == null) {
+      _nextStep.update { LaunchConfirmDeviceCredential(userId) }
+    } else {
+      viewModelScope.launch { showSettingsHelper() }
+    }
+  }
+
+  /** Used to indicate that FingerprintSettings is complete. */
+  fun finish() {
+    _nextStep.update { null }
+  }
+
+  /** Used to finish settings in certain cases. */
+  fun maybeFinishActivity(changingConfig: Boolean) {
+    val isConfirmingOrEnrolling =
+      _nextStep.value is LaunchConfirmDeviceCredential ||
+        _nextStep.value is EnrollAdditionalFingerprint ||
+        _nextStep.value is EnrollFirstFingerprint ||
+        _nextStep.value is LaunchedActivity
+    if (!isConfirmingOrEnrolling && !changingConfig)
+      _nextStep.update {
+        FinishSettingsWithResult(BiometricEnrollBase.RESULT_TIMEOUT, "onStop finishing settings")
+      }
+  }
+
+  /** Used to indicate that we have launched another activity and we should await its result. */
+  fun setStepToLaunched() {
+    _nextStep.update { LaunchedActivity }
+  }
+
+  /** Indicates a successful enroll has occurred */
+  fun onEnrollSuccess() {
+    showSettingsHelper()
+  }
+
+  /** Add fingerprint clicked */
+  fun onAddFingerprintClicked() {
+    _nextStep.update { EnrollAdditionalFingerprint(userId, token) }
+  }
+
+  /** Enrolling of an additional fingerprint failed */
+  fun onEnrollAdditionalFailure() {
+    launchFinishSettings("Failed to enroll additional fingerprint")
+  }
+
+  /** The first fingerprint enrollment failed */
+  fun onEnrollFirstFailure(reason: String) {
+    launchFinishSettings(reason)
+  }
+
+  /** The first fingerprint enrollment failed with a result code */
+  fun onEnrollFirstFailure(reason: String, resultCode: Int) {
+    launchFinishSettings(reason, resultCode)
+  }
+
+  /** Notifies that a users first enrollment succeeded. */
+  fun onEnrollFirst(theToken: ByteArray?, theChallenge: Long?) {
+    if (theToken == null) {
+      launchFinishSettings("Error, empty token")
+      return
+    }
+    if (theChallenge == null) {
+      launchFinishSettings("Error, empty keyChallenge")
+      return
+    }
+    token = theToken!!
+    challenge = theChallenge!!
+
+    showSettingsHelper()
+  }
+
+  /**
+   * Indicates to the view model that a confirm device credential action has been completed with a
+   * [theGateKeeperPasswordHandle] which will be used for [FingerprintManager] operations such as
+   * [FingerprintManager.enroll].
+   */
+  suspend fun onConfirmDevice(wasSuccessful: Boolean, theGateKeeperPasswordHandle: Long?) {
+    if (!wasSuccessful) {
+      launchFinishSettings("ConfirmDeviceCredential was unsuccessful")
+      return
+    }
+    if (theGateKeeperPasswordHandle == null) {
+      launchFinishSettings("ConfirmDeviceCredential gatekeeper password was null")
+      return
+    }
+
+    launchEnrollNextStep(theGateKeeperPasswordHandle)
+  }
+
+  private fun showSettingsHelper() {
+    _nextStep.update { ShowSettings }
+  }
+
+  private suspend fun launchEnrollNextStep(gateKeeperPasswordHandle: Long?) {
+    fingerprintManagerInteractor.enrolledFingerprints.collect {
+      if (it.isEmpty()) {
+        _nextStep.update { EnrollFirstFingerprint(userId, gateKeeperPasswordHandle, null, null) }
+      } else {
+        viewModelScope.launch(backgroundDispatcher) {
+          val challengePair =
+            fingerprintManagerInteractor.generateChallenge(gateKeeperPasswordHandle!!)
+          challenge = challengePair.first
+          token = challengePair.second
+
+          showSettingsHelper()
+        }
+      }
+    }
+  }
+
+  private fun launchFinishSettings(reason: String) {
+    _nextStep.update { FinishSettings(reason) }
+  }
+
+  private fun launchFinishSettings(reason: String, errorCode: Int) {
+    _nextStep.update { FinishSettingsWithResult(errorCode, reason) }
+  }
+  class FingerprintSettingsNavigationModelFactory(
+    private val userId: Int,
+    private val interactor: FingerprintManagerInteractor,
+    private val backgroundDispatcher: CoroutineDispatcher,
+    private val token: ByteArray?,
+    private val challenge: Long?,
+  ) : ViewModelProvider.Factory {
+
+    @Suppress("UNCHECKED_CAST")
+    override fun <T : ViewModel> create(
+      modelClass: Class<T>,
+    ): T {
+
+      return FingerprintSettingsNavigationViewModel(
+        userId,
+        interactor,
+        backgroundDispatcher,
+        token,
+        challenge,
+      )
+        as T
+    }
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintSettingsViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintSettingsViewModel.kt
new file mode 100644
index 0000000..554f336
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintSettingsViewModel.kt
@@ -0,0 +1,324 @@
+/*
+ * 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.biometrics.fingerprint2.ui.viewmodel
+
+import android.hardware.fingerprint.FingerprintManager
+import android.hardware.fingerprint.FingerprintSensorProperties.TYPE_UDFPS_OPTICAL
+import android.hardware.fingerprint.FingerprintSensorProperties.TYPE_UDFPS_ULTRASONIC
+import android.hardware.fingerprint.FingerprintSensorPropertiesInternal
+import android.util.Log
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.viewModelScope
+import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractor
+import kotlinx.coroutines.CoroutineDispatcher
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.MutableSharedFlow
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.combine
+import kotlinx.coroutines.flow.combineTransform
+import kotlinx.coroutines.flow.distinctUntilChanged
+import kotlinx.coroutines.flow.filterNotNull
+import kotlinx.coroutines.flow.flowOn
+import kotlinx.coroutines.flow.last
+import kotlinx.coroutines.flow.sample
+import kotlinx.coroutines.flow.transformLatest
+import kotlinx.coroutines.flow.update
+import kotlinx.coroutines.launch
+
+private const val TAG = "FingerprintSettingsViewModel"
+private const val DEBUG = false
+
+/** Models the UI state for fingerprint settings. */
+class FingerprintSettingsViewModel(
+  private val userId: Int,
+  private val fingerprintManagerInteractor: FingerprintManagerInteractor,
+  private val backgroundDispatcher: CoroutineDispatcher,
+  private val navigationViewModel: FingerprintSettingsNavigationViewModel,
+) : ViewModel() {
+
+  private val _consumerShouldAuthenticate: MutableStateFlow<Boolean> = MutableStateFlow(false)
+
+  private val fingerprintSensorPropertiesInternal:
+    MutableStateFlow<List<FingerprintSensorPropertiesInternal>?> =
+    MutableStateFlow(null)
+
+  private val _isShowingDialog: MutableStateFlow<PreferenceViewModel?> = MutableStateFlow(null)
+  val isShowingDialog =
+    _isShowingDialog.combine(navigationViewModel.nextStep) { dialogFlow, nextStep ->
+      if (nextStep is ShowSettings) {
+        return@combine dialogFlow
+      } else {
+        return@combine null
+      }
+    }
+
+  init {
+    viewModelScope.launch {
+      fingerprintSensorPropertiesInternal.update {
+        fingerprintManagerInteractor.sensorPropertiesInternal()
+      }
+    }
+
+    viewModelScope.launch {
+      navigationViewModel.nextStep.filterNotNull().collect {
+        _isShowingDialog.update { null }
+        if (it is ShowSettings) {
+          // reset state
+          updateSettingsData()
+        }
+      }
+    }
+  }
+
+  private val _fingerprintStateViewModel: MutableStateFlow<FingerprintStateViewModel?> =
+    MutableStateFlow(null)
+  val fingerprintState: Flow<FingerprintStateViewModel?> =
+    _fingerprintStateViewModel.combineTransform(navigationViewModel.nextStep) {
+      settingsShowingViewModel,
+      currStep ->
+      if (currStep != null && currStep is ShowSettings) {
+        emit(settingsShowingViewModel)
+      }
+    }
+
+  private val _isLockedOut: MutableStateFlow<FingerprintAuthAttemptViewModel.Error?> =
+    MutableStateFlow(null)
+
+  private val _authSucceeded: MutableSharedFlow<FingerprintAuthAttemptViewModel.Success?> =
+    MutableSharedFlow()
+
+  private val attemptsSoFar: MutableStateFlow<Int> = MutableStateFlow(0)
+
+  /**
+   * This is a very tricky flow. The current fingerprint manager APIs are not robust, and a proper
+   * implementation would take quite a lot of code to implement, it might be easier to rewrite
+   * FingerprintManager.
+   *
+   * The hack to note is the sample(400), if we call authentications in too close of proximity
+   * without waiting for a response, the fingerprint manager will send us the results of the
+   * previous attempt.
+   */
+  private val canAuthenticate: Flow<Boolean> =
+    combine(
+        _isShowingDialog,
+        navigationViewModel.nextStep,
+        _consumerShouldAuthenticate,
+        _fingerprintStateViewModel,
+        _isLockedOut,
+        attemptsSoFar,
+        fingerprintSensorPropertiesInternal
+      ) { dialogShowing, step, resume, fingerprints, isLockedOut, attempts, sensorProps ->
+        if (DEBUG) {
+          Log.d(
+            TAG,
+            "canAuthenticate(isShowingDialog=${dialogShowing != null}," +
+              "nextStep=${step}," +
+              "resumed=${resume}," +
+              "fingerprints=${fingerprints}," +
+              "lockedOut=${isLockedOut}," +
+              "attempts=${attempts}," +
+              "sensorProps=${sensorProps}"
+          )
+        }
+        if (sensorProps.isNullOrEmpty()) {
+          return@combine false
+        }
+        val sensorType = sensorProps[0].sensorType
+        if (listOf(TYPE_UDFPS_OPTICAL, TYPE_UDFPS_ULTRASONIC).contains(sensorType)) {
+          return@combine false
+        }
+
+        if (step != null && step is ShowSettings) {
+          if (fingerprints?.fingerprintViewModels?.isNotEmpty() == true) {
+            return@combine dialogShowing == null && isLockedOut == null && resume && attempts < 15
+          }
+        }
+        false
+      }
+      .sample(400)
+      .distinctUntilChanged()
+
+  /** Represents a consistent stream of authentication attempts. */
+  val authFlow: Flow<FingerprintAuthAttemptViewModel> =
+    canAuthenticate
+      .transformLatest {
+        try {
+          Log.d(TAG, "canAuthenticate $it")
+          while (it && navigationViewModel.nextStep.value is ShowSettings) {
+            Log.d(TAG, "canAuthenticate authing")
+            attemptingAuth()
+            when (val authAttempt = fingerprintManagerInteractor.authenticate()) {
+              is FingerprintAuthAttemptViewModel.Success -> {
+                onAuthSuccess(authAttempt)
+                emit(authAttempt)
+              }
+              is FingerprintAuthAttemptViewModel.Error -> {
+                if (authAttempt.error == FingerprintManager.FINGERPRINT_ERROR_LOCKOUT) {
+                  lockout(authAttempt)
+                  emit(authAttempt)
+                  return@transformLatest
+                }
+              }
+            }
+          }
+        } catch (exception: Exception) {
+          Log.d(TAG, "shouldAuthenticate exception $exception")
+        }
+      }
+      .flowOn(backgroundDispatcher)
+
+  /** The rename dialog has finished */
+  fun onRenameDialogFinished() {
+    _isShowingDialog.update { null }
+  }
+
+  /** The delete dialog has finished */
+  fun onDeleteDialogFinished() {
+    _isShowingDialog.update { null }
+  }
+
+  override fun toString(): String {
+    return "userId: $userId\n" + "fingerprintState: ${_fingerprintStateViewModel.value}\n"
+  }
+
+  /** The fingerprint delete button has been clicked. */
+  fun onDeleteClicked(fingerprintViewModel: FingerprintViewModel) {
+    viewModelScope.launch {
+      if (_isShowingDialog.value == null || navigationViewModel.nextStep.value != ShowSettings) {
+        _isShowingDialog.tryEmit(PreferenceViewModel.DeleteDialog(fingerprintViewModel))
+      } else {
+        Log.d(TAG, "Ignoring onDeleteClicked due to dialog showing ${_isShowingDialog.value}")
+      }
+    }
+  }
+
+  /** The rename fingerprint dialog has been clicked. */
+  fun onPrefClicked(fingerprintViewModel: FingerprintViewModel) {
+    viewModelScope.launch {
+      if (_isShowingDialog.value == null || navigationViewModel.nextStep.value != ShowSettings) {
+        _isShowingDialog.tryEmit(PreferenceViewModel.RenameDialog(fingerprintViewModel))
+      } else {
+        Log.d(TAG, "Ignoring onPrefClicked due to dialog showing ${_isShowingDialog.value}")
+      }
+    }
+  }
+
+  /** A request to delete a fingerprint */
+  fun deleteFingerprint(fp: FingerprintViewModel) {
+    viewModelScope.launch(backgroundDispatcher) {
+      if (fingerprintManagerInteractor.removeFingerprint(fp)) {
+        updateSettingsData()
+      }
+    }
+  }
+
+  /** A request to rename a fingerprint */
+  fun renameFingerprint(fp: FingerprintViewModel, newName: String) {
+    viewModelScope.launch {
+      fingerprintManagerInteractor.renameFingerprint(fp, newName)
+      updateSettingsData()
+    }
+  }
+
+  private fun attemptingAuth() {
+    attemptsSoFar.update { it + 1 }
+  }
+
+  private suspend fun onAuthSuccess(success: FingerprintAuthAttemptViewModel.Success) {
+    _authSucceeded.emit(success)
+    attemptsSoFar.update { 0 }
+  }
+
+  private fun lockout(attemptViewModel: FingerprintAuthAttemptViewModel.Error) {
+    _isLockedOut.update { attemptViewModel }
+  }
+
+  /**
+   * This function is sort of a hack, it's used whenever we want to check for fingerprint state
+   * updates.
+   */
+  private suspend fun updateSettingsData() {
+    Log.d(TAG, "update settings data called")
+    val fingerprints = fingerprintManagerInteractor.enrolledFingerprints.last()
+    val canEnrollFingerprint =
+      fingerprintManagerInteractor.canEnrollFingerprints(fingerprints.size).last()
+    val maxFingerprints = fingerprintManagerInteractor.maxEnrollableFingerprints.last()
+    val hasSideFps = fingerprintManagerInteractor.hasSideFps()
+    val pressToAuthEnabled = fingerprintManagerInteractor.pressToAuthEnabled()
+    _fingerprintStateViewModel.update {
+      FingerprintStateViewModel(
+        fingerprints,
+        canEnrollFingerprint,
+        maxFingerprints,
+        hasSideFps,
+        pressToAuthEnabled
+      )
+    }
+  }
+
+  /** Used to indicate whether the consumer of the view model is ready for authentication. */
+  fun shouldAuthenticate(authenticate: Boolean) {
+    _consumerShouldAuthenticate.update { authenticate }
+  }
+
+  class FingerprintSettingsViewModelFactory(
+    private val userId: Int,
+    private val interactor: FingerprintManagerInteractor,
+    private val backgroundDispatcher: CoroutineDispatcher,
+    private val navigationViewModel: FingerprintSettingsNavigationViewModel,
+  ) : ViewModelProvider.Factory {
+
+    @Suppress("UNCHECKED_CAST")
+    override fun <T : ViewModel> create(
+      modelClass: Class<T>,
+    ): T {
+
+      return FingerprintSettingsViewModel(
+        userId,
+        interactor,
+        backgroundDispatcher,
+        navigationViewModel,
+      )
+        as T
+    }
+  }
+}
+
+private inline fun <T1, T2, T3, T4, T5, T6, T7, R> combine(
+  flow: Flow<T1>,
+  flow2: Flow<T2>,
+  flow3: Flow<T3>,
+  flow4: Flow<T4>,
+  flow5: Flow<T5>,
+  flow6: Flow<T6>,
+  flow7: Flow<T7>,
+  crossinline transform: suspend (T1, T2, T3, T4, T5, T6, T7) -> R
+): Flow<R> {
+  return combine(flow, flow2, flow3, flow4, flow5, flow6, flow7) { args: Array<*> ->
+    @Suppress("UNCHECKED_CAST")
+    transform(
+      args[0] as T1,
+      args[1] as T2,
+      args[2] as T3,
+      args[3] as T4,
+      args[4] as T5,
+      args[5] as T6,
+      args[6] as T7,
+    )
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintViewModel.kt
new file mode 100644
index 0000000..1df0e34
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintViewModel.kt
@@ -0,0 +1,43 @@
+/*
+ * 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.biometrics.fingerprint2.ui.viewmodel
+
+/** Represents the fingerprint data nad the relevant state. */
+data class FingerprintStateViewModel(
+  val fingerprintViewModels: List<FingerprintViewModel>,
+  val canEnroll: Boolean,
+  val maxFingerprints: Int,
+  val hasSideFps: Boolean,
+  val pressToAuth: Boolean,
+)
+
+data class FingerprintViewModel(
+  val name: String,
+  val fingerId: Int,
+  val deviceId: Long,
+)
+
+sealed class FingerprintAuthAttemptViewModel {
+  data class Success(
+    val fingerId: Int,
+  ) : FingerprintAuthAttemptViewModel()
+
+  data class Error(
+    val error: Int,
+    val message: String,
+  ) : FingerprintAuthAttemptViewModel()
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/NextStepViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/NextStepViewModel.kt
new file mode 100644
index 0000000..f9dbbff
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/NextStepViewModel.kt
@@ -0,0 +1,45 @@
+/*
+ * 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.biometrics.fingerprint2.ui.viewmodel
+
+/**
+ * A class to represent a high level step for FingerprintSettings. This is typically to perform an
+ * action like launching an activity.
+ */
+sealed class NextStepViewModel
+
+data class EnrollFirstFingerprint(
+  val userId: Int,
+  val gateKeeperPasswordHandle: Long?,
+  val challenge: Long?,
+  val challengeToken: ByteArray?,
+) : NextStepViewModel()
+
+data class EnrollAdditionalFingerprint(
+  val userId: Int,
+  val challengeToken: ByteArray?,
+) : NextStepViewModel()
+
+data class FinishSettings(val reason: String) : NextStepViewModel()
+
+data class FinishSettingsWithResult(val result: Int, val reason: String) : NextStepViewModel()
+
+object ShowSettings : NextStepViewModel()
+
+object LaunchedActivity : NextStepViewModel()
+
+data class LaunchConfirmDeviceCredential(val userId: Int) : NextStepViewModel()
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/PreferenceViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/PreferenceViewModel.kt
new file mode 100644
index 0000000..05764a2
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/PreferenceViewModel.kt
@@ -0,0 +1,28 @@
+/*
+ * 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.biometrics.fingerprint2.ui.viewmodel
+
+/** Classed use to represent a Dialogs state. */
+sealed class PreferenceViewModel {
+  data class RenameDialog(
+    val fingerprintViewModel: FingerprintViewModel,
+  ) : PreferenceViewModel()
+
+  data class DeleteDialog(
+    val fingerprintViewModel: FingerprintViewModel,
+  ) : PreferenceViewModel()
+}
diff --git a/src/com/android/settings/bluetooth/BlockingPrefWithSliceController.java b/src/com/android/settings/bluetooth/BlockingPrefWithSliceController.java
index 93a2747..0690186 100644
--- a/src/com/android/settings/bluetooth/BlockingPrefWithSliceController.java
+++ b/src/com/android/settings/bluetooth/BlockingPrefWithSliceController.java
@@ -59,7 +59,7 @@
  * until {@link Slice} is fully loaded.
  */
 public class BlockingPrefWithSliceController extends BasePreferenceController implements
-        LifecycleObserver, OnStart, OnStop, Observer<Slice>, BasePreferenceController.UiBlocker{
+        LifecycleObserver, OnStart, OnStop, Observer<Slice>, BasePreferenceController.UiBlocker {
     private static final String TAG = "BlockingPrefWithSliceController";
 
     private static final String PREFIX_KEY = "slice_preference_item_";
@@ -225,7 +225,8 @@
             } else {
                 expectedActivityIntent = intentFromSliceAction;
             }
-            if (expectedActivityIntent != null) {
+            if (expectedActivityIntent != null && expectedActivityIntent.resolveActivity(
+                    mContext.getPackageManager()) != null) {
                 Log.d(TAG, "setIntent: ActivityIntent" + expectedActivityIntent);
                 // Since UI needs to support the Settings' 2 panel feature, the intent can't use the
                 // FLAG_ACTIVITY_NEW_TASK. The above intent may have the FLAG_ACTIVITY_NEW_TASK
@@ -234,6 +235,7 @@
                 preference.setIntent(expectedActivityIntent);
             } else {
                 Log.d(TAG, "setIntent: Intent is null");
+                preference.setSelectable(false);
             }
         }
 
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
index 3472e39..220100d 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
@@ -69,7 +69,7 @@
     private static final String ENABLE_DUAL_MODE_AUDIO =
             "persist.bluetooth.enable_dual_mode_audio";
     private static final String CONFIG_LE_AUDIO_ENABLED_BY_DEFAULT = "le_audio_enabled_by_default";
-    private static final boolean LE_AUDIO_DEVICE_DETAIL_DEFAULT_VALUE = false;
+    private static final boolean LE_AUDIO_DEVICE_DETAIL_DEFAULT_VALUE = true;
 
     private LocalBluetoothManager mManager;
     private LocalBluetoothProfileManager mProfileManager;
diff --git a/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBase.java b/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBase.java
index 7ee61ee..f2bc6fc 100644
--- a/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBase.java
+++ b/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBase.java
@@ -128,7 +128,7 @@
             if (device != null && mSelectedList.contains(device)) {
                 setResult(RESULT_OK);
                 finish();
-            } else if (mDevicePreferenceMap.containsKey(cachedDevice)) {
+            } else {
                 onDeviceDeleted(cachedDevice);
             }
         }
@@ -175,8 +175,6 @@
     public void updateContent(int bluetoothState) {
         switch (bluetoothState) {
             case BluetoothAdapter.STATE_ON:
-                mDevicePreferenceMap.clear();
-                clearPreferenceGroupCache();
                 mBluetoothAdapter.enable();
                 enableScanning();
                 break;
@@ -187,14 +185,6 @@
         }
     }
 
-    /**
-     * Clears all cached preferences in {@code preferenceGroup}.
-     */
-    private void clearPreferenceGroupCache() {
-        cacheRemoveAllPrefs(mAvailableDevicesCategory);
-        removeCachedPrefs(mAvailableDevicesCategory);
-    }
-
     @VisibleForTesting
     void showBluetoothTurnedOnToast() {
         Toast.makeText(getContext(), R.string.connected_device_bluetooth_turned_on_toast,
diff --git a/src/com/android/settings/bluetooth/BluetoothDevicePreference.java b/src/com/android/settings/bluetooth/BluetoothDevicePreference.java
index 5256f3d..039080b 100644
--- a/src/com/android/settings/bluetooth/BluetoothDevicePreference.java
+++ b/src/com/android/settings/bluetooth/BluetoothDevicePreference.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * 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.
@@ -35,6 +35,8 @@
 import android.widget.ImageView;
 
 import androidx.annotation.IntDef;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.app.AlertDialog;
 import androidx.preference.Preference;
@@ -52,6 +54,7 @@
 import java.util.HashSet;
 import java.util.Set;
 import java.util.concurrent.RejectedExecutionException;
+import java.util.concurrent.atomic.AtomicInteger;
 
 /**
  * BluetoothDevicePreference is the preference type used to display each remote
@@ -79,7 +82,9 @@
     @VisibleForTesting
     BluetoothAdapter mBluetoothAdapter;
     private final boolean mShowDevicesWithoutNames;
-    private final long mCurrentTime;
+    @NonNull
+    private static final AtomicInteger sNextId = new AtomicInteger();
+    private final int mId;
     private final int mType;
 
     private AlertDialog mDisconnectDialog;
@@ -127,8 +132,9 @@
 
         mCachedDevice = cachedDevice;
         mCallback = new BluetoothDevicePreferenceCallback();
-        mCurrentTime = System.currentTimeMillis();
+        mId = sNextId.getAndIncrement();
         mType = type;
+        setVisible(false);
 
         onPreferenceAttributesChanged();
     }
@@ -229,35 +235,41 @@
 
     @SuppressWarnings("FutureReturnValueIgnored")
     void onPreferenceAttributesChanged() {
-        Pair<Drawable, String> pair = mCachedDevice.getDrawableWithDescription();
-        setIcon(pair.first);
-        contentDescription = pair.second;
-
-        /*
-         * The preference framework takes care of making sure the value has
-         * changed before proceeding. It will also call notifyChanged() if
-         * any preference info has changed from the previous value.
-         */
-        setTitle(mCachedDevice.getName());
         try {
             ThreadUtils.postOnBackgroundThread(() -> {
+                @Nullable String name = mCachedDevice.getName();
                 // Null check is done at the framework
-                ThreadUtils.postOnMainThread(() -> setSummary(getConnectionSummary()));
+                @Nullable String connectionSummary = getConnectionSummary();
+                @NonNull Pair<Drawable, String> pair = mCachedDevice.getDrawableWithDescription();
+                boolean isBusy = mCachedDevice.isBusy();
+                // Device is only visible in the UI if it has a valid name besides MAC address or
+                // when user allows showing devices without user-friendly name in developer settings
+                boolean isVisible =
+                        mShowDevicesWithoutNames || mCachedDevice.hasHumanReadableName();
+
+                ThreadUtils.postOnMainThread(() -> {
+                    /*
+                     * The preference framework takes care of making sure the value has
+                     * changed before proceeding. It will also call notifyChanged() if
+                     * any preference info has changed from the previous value.
+                     */
+                    setTitle(name);
+                    setSummary(connectionSummary);
+                    setIcon(pair.first);
+                    contentDescription = pair.second;
+                    // Used to gray out the item
+                    setEnabled(!isBusy);
+                    setVisible(isVisible);
+
+                    // This could affect ordering, so notify that
+                    if (mNeedNotifyHierarchyChanged) {
+                        notifyHierarchyChanged();
+                    }
+                });
             });
         } catch (RejectedExecutionException e) {
             Log.w(TAG, "Handler thread unavailable, skipping getConnectionSummary!");
         }
-        // Used to gray out the item
-        setEnabled(!mCachedDevice.isBusy());
-
-        // Device is only visible in the UI if it has a valid name besides MAC address or when user
-        // allows showing devices without user-friendly name in developer settings
-        setVisible(mShowDevicesWithoutNames || mCachedDevice.hasHumanReadableName());
-
-        // This could affect ordering, so notify that
-        if (mNeedNotifyHierarchyChanged) {
-            notifyHierarchyChanged();
-        }
     }
 
     @Override
@@ -311,7 +323,7 @@
                 return mCachedDevice
                         .compareTo(((BluetoothDevicePreference) another).mCachedDevice);
             case SortType.TYPE_FIFO:
-                return mCurrentTime > ((BluetoothDevicePreference) another).mCurrentTime ? 1 : -1;
+                return mId > ((BluetoothDevicePreference) another).mId ? 1 : -1;
             default:
                 return super.compareTo(another);
         }
diff --git a/src/com/android/settings/bluetooth/BluetoothFindBroadcastsFragment.java b/src/com/android/settings/bluetooth/BluetoothFindBroadcastsFragment.java
index 05bc179..f9d083d 100644
--- a/src/com/android/settings/bluetooth/BluetoothFindBroadcastsFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothFindBroadcastsFragment.java
@@ -125,6 +125,10 @@
                         Log.w(TAG, "onSourceAdded: mSelectedPreference == null!");
                         return;
                     }
+                    if (mLeBroadcastAssistant != null
+                            && mLeBroadcastAssistant.isSearchInProgress()) {
+                        mLeBroadcastAssistant.stopSearchingForSources();
+                    }
                     getActivity().runOnUiThread(() -> updateListCategoryFromBroadcastMetadata(
                             mSelectedPreference.getBluetoothLeBroadcastMetadata(), true));
                 }
@@ -232,6 +236,9 @@
     public void onStop() {
         super.onStop();
         if (mLeBroadcastAssistant != null) {
+            if (mLeBroadcastAssistant.isSearchInProgress()) {
+                mLeBroadcastAssistant.stopSearchingForSources();
+            }
             mLeBroadcastAssistant.unregisterServiceCallBack(mBroadcastAssistantCallback);
         }
     }
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingDetail.java b/src/com/android/settings/bluetooth/BluetoothPairingDetail.java
index a78bf27..234d6d2 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingDetail.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingDetail.java
@@ -101,10 +101,8 @@
         if (bluetoothState == BluetoothAdapter.STATE_ON) {
             if (mInitialScanStarted) {
                 // Don't show bonded devices when screen turned back on
-                setFilter(BluetoothDeviceFilter.UNBONDED_DEVICE_FILTER);
-                addCachedDevices();
+                addCachedDevices(BluetoothDeviceFilter.UNBONDED_DEVICE_FILTER);
             }
-            setFilter(BluetoothDeviceFilter.ALL_FILTER);
             updateFooterPreference(mFooterPreference);
             mAlwaysDiscoverable.start();
         }
diff --git a/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.java b/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.java
deleted file mode 100644
index a4a9891..0000000
--- a/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.java
+++ /dev/null
@@ -1,351 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.bluetooth;
-
-import android.bluetooth.BluetoothAdapter;
-import android.bluetooth.BluetoothDevice;
-import android.bluetooth.le.BluetoothLeScanner;
-import android.bluetooth.le.ScanCallback;
-import android.bluetooth.le.ScanFilter;
-import android.bluetooth.le.ScanResult;
-import android.bluetooth.le.ScanSettings;
-import android.os.Bundle;
-import android.os.SystemProperties;
-import android.text.BidiFormatter;
-import android.util.Log;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceCategory;
-import androidx.preference.PreferenceGroup;
-
-import com.android.settings.R;
-import com.android.settings.dashboard.RestrictedDashboardFragment;
-import com.android.settingslib.bluetooth.BluetoothCallback;
-import com.android.settingslib.bluetooth.BluetoothDeviceFilter;
-import com.android.settingslib.bluetooth.CachedBluetoothDevice;
-import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
-import com.android.settingslib.bluetooth.LocalBluetoothManager;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-
-/**
- * Parent class for settings fragments that contain a list of Bluetooth
- * devices.
- *
- * @see DevicePickerFragment
- */
-// TODO: Refactor this fragment
-public abstract class DeviceListPreferenceFragment extends
-        RestrictedDashboardFragment implements BluetoothCallback {
-
-    private static final String TAG = "DeviceListPreferenceFragment";
-
-    private static final String KEY_BT_SCAN = "bt_scan";
-
-    // Copied from BluetoothDeviceNoNamePreferenceController.java
-    private static final String BLUETOOTH_SHOW_DEVICES_WITHOUT_NAMES_PROPERTY =
-            "persist.bluetooth.showdeviceswithoutnames";
-
-    private BluetoothDeviceFilter.Filter mFilter;
-    private List<ScanFilter> mLeScanFilters;
-    private ScanCallback mScanCallback;
-
-    @VisibleForTesting
-    protected boolean mScanEnabled;
-
-    protected BluetoothDevice mSelectedDevice;
-
-    protected BluetoothAdapter mBluetoothAdapter;
-    protected LocalBluetoothManager mLocalManager;
-    protected CachedBluetoothDeviceManager mCachedDeviceManager;
-
-    @VisibleForTesting
-    protected PreferenceGroup mDeviceListGroup;
-
-    protected final HashMap<CachedBluetoothDevice, BluetoothDevicePreference> mDevicePreferenceMap =
-            new HashMap<>();
-    protected final List<BluetoothDevice> mSelectedList = new ArrayList<>();
-
-    protected boolean mShowDevicesWithoutNames;
-
-    public DeviceListPreferenceFragment(String restrictedKey) {
-        super(restrictedKey);
-        mFilter = BluetoothDeviceFilter.ALL_FILTER;
-    }
-
-    protected final void setFilter(BluetoothDeviceFilter.Filter filter) {
-        mFilter = filter;
-    }
-
-    protected final void setFilter(int filterType) {
-        mFilter = BluetoothDeviceFilter.getFilter(filterType);
-    }
-
-    /**
-     * Sets the bluetooth device scanning filter with {@link ScanFilter}s. It will change to start
-     * {@link BluetoothLeScanner} which will scan BLE device only.
-     *
-     * @param leScanFilters list of settings to filter scan result
-     */
-    protected void setFilter(List<ScanFilter> leScanFilters) {
-        mFilter = null;
-        mLeScanFilters = leScanFilters;
-    }
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        mLocalManager = Utils.getLocalBtManager(getActivity());
-        if (mLocalManager == null) {
-            Log.e(TAG, "Bluetooth is not supported on this device");
-            return;
-        }
-        mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
-        mCachedDeviceManager = mLocalManager.getCachedDeviceManager();
-        mShowDevicesWithoutNames = SystemProperties.getBoolean(
-                BLUETOOTH_SHOW_DEVICES_WITHOUT_NAMES_PROPERTY, false);
-
-        initPreferencesFromPreferenceScreen();
-
-        mDeviceListGroup = (PreferenceCategory) findPreference(getDeviceListKey());
-    }
-
-    /** find and update preference that already existed in preference screen */
-    protected abstract void initPreferencesFromPreferenceScreen();
-
-    @Override
-    public void onStart() {
-        super.onStart();
-        if (mLocalManager == null || isUiRestricted()) return;
-
-        mLocalManager.setForegroundActivity(getActivity());
-        mLocalManager.getEventManager().registerCallback(this);
-    }
-
-    @Override
-    public void onStop() {
-        super.onStop();
-        if (mLocalManager == null || isUiRestricted()) {
-            return;
-        }
-
-        removeAllDevices();
-        mLocalManager.setForegroundActivity(null);
-        mLocalManager.getEventManager().unregisterCallback(this);
-    }
-
-    void removeAllDevices() {
-        mDevicePreferenceMap.clear();
-        mDeviceListGroup.removeAll();
-    }
-
-    void addCachedDevices() {
-        Collection<CachedBluetoothDevice> cachedDevices =
-                mCachedDeviceManager.getCachedDevicesCopy();
-        for (CachedBluetoothDevice cachedDevice : cachedDevices) {
-            onDeviceAdded(cachedDevice);
-        }
-    }
-
-    @Override
-    public boolean onPreferenceTreeClick(Preference preference) {
-        if (KEY_BT_SCAN.equals(preference.getKey())) {
-            startScanning();
-            return true;
-        }
-
-        if (preference instanceof BluetoothDevicePreference) {
-            BluetoothDevicePreference btPreference = (BluetoothDevicePreference) preference;
-            CachedBluetoothDevice device = btPreference.getCachedDevice();
-            mSelectedDevice = device.getDevice();
-            mSelectedList.add(mSelectedDevice);
-            onDevicePreferenceClick(btPreference);
-            return true;
-        }
-
-        return super.onPreferenceTreeClick(preference);
-    }
-
-    protected void onDevicePreferenceClick(BluetoothDevicePreference btPreference) {
-        btPreference.onClicked();
-    }
-
-    @Override
-    public void onDeviceAdded(CachedBluetoothDevice cachedDevice) {
-        if (mDevicePreferenceMap.get(cachedDevice) != null) {
-            return;
-        }
-
-        // Prevent updates while the list shows one of the state messages
-        if (mBluetoothAdapter.getState() != BluetoothAdapter.STATE_ON) {
-            return;
-        }
-
-        if (mFilter != null && mFilter.matches(cachedDevice.getDevice())) {
-            createDevicePreference(cachedDevice);
-        }
-    }
-
-    void createDevicePreference(CachedBluetoothDevice cachedDevice) {
-        if (mDeviceListGroup == null) {
-            Log.w(TAG, "Trying to create a device preference before the list group/category "
-                    + "exists!");
-            return;
-        }
-
-        String key = cachedDevice.getDevice().getAddress();
-        BluetoothDevicePreference preference = (BluetoothDevicePreference) getCachedPreference(key);
-
-        if (preference == null) {
-            preference = new BluetoothDevicePreference(getPrefContext(), cachedDevice,
-                    mShowDevicesWithoutNames, BluetoothDevicePreference.SortType.TYPE_FIFO);
-            preference.setKey(key);
-            //Set hideSecondTarget is true if it's bonded device.
-            preference.hideSecondTarget(true);
-            mDeviceListGroup.addPreference(preference);
-        }
-
-        initDevicePreference(preference);
-        mDevicePreferenceMap.put(cachedDevice, preference);
-    }
-
-    protected void initDevicePreference(BluetoothDevicePreference preference) {
-        // Does nothing by default
-    }
-
-    @VisibleForTesting
-    void updateFooterPreference(Preference myDevicePreference) {
-        final BidiFormatter bidiFormatter = BidiFormatter.getInstance();
-
-        myDevicePreference.setTitle(getString(
-                R.string.bluetooth_footer_mac_message,
-                bidiFormatter.unicodeWrap(mBluetoothAdapter.getAddress())));
-    }
-
-    @Override
-    public void onDeviceDeleted(CachedBluetoothDevice cachedDevice) {
-        BluetoothDevicePreference preference = mDevicePreferenceMap.remove(cachedDevice);
-        if (preference != null) {
-            mDeviceListGroup.removePreference(preference);
-        }
-    }
-
-    @VisibleForTesting
-    protected void enableScanning() {
-        // BluetoothAdapter already handles repeated scan requests
-        if (!mScanEnabled) {
-            startScanning();
-            mScanEnabled = true;
-        }
-    }
-
-    @VisibleForTesting
-    protected void disableScanning() {
-        if (mScanEnabled) {
-            stopScanning();
-            mScanEnabled = false;
-        }
-    }
-
-    @Override
-    public void onScanningStateChanged(boolean started) {
-        if (!started && mScanEnabled) {
-            startScanning();
-        }
-    }
-
-    /**
-     * Return the key of the {@link PreferenceGroup} that contains the bluetooth devices
-     */
-    public abstract String getDeviceListKey();
-
-    public boolean shouldShowDevicesWithoutNames() {
-        return mShowDevicesWithoutNames;
-    }
-
-    @VisibleForTesting
-    void startScanning() {
-        if (mFilter != null) {
-            startClassicScanning();
-        } else if (mLeScanFilters != null) {
-            startLeScanning();
-        }
-
-    }
-
-    @VisibleForTesting
-    void stopScanning() {
-        if (mFilter != null) {
-            stopClassicScanning();
-        } else if (mLeScanFilters != null) {
-            stopLeScanning();
-        }
-    }
-
-    private void startClassicScanning() {
-        if (!mBluetoothAdapter.isDiscovering()) {
-            mBluetoothAdapter.startDiscovery();
-        }
-    }
-
-    private void stopClassicScanning() {
-        if (mBluetoothAdapter.isDiscovering()) {
-            mBluetoothAdapter.cancelDiscovery();
-        }
-    }
-
-    private void startLeScanning() {
-        final BluetoothLeScanner scanner = mBluetoothAdapter.getBluetoothLeScanner();
-        final ScanSettings settings = new ScanSettings.Builder()
-                .setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY)
-                .build();
-        mScanCallback = new ScanCallback() {
-            @Override
-            public void onScanResult(int callbackType, ScanResult result) {
-                final BluetoothDevice device = result.getDevice();
-                CachedBluetoothDevice cachedDevice = mCachedDeviceManager.findDevice(device);
-                if (cachedDevice == null) {
-                    cachedDevice = mCachedDeviceManager.addDevice(device);
-                }
-                // Only add device preference when it's not found in the map and there's no other
-                // state message showing in the list
-                if (mDevicePreferenceMap.get(cachedDevice) == null
-                        && mBluetoothAdapter.getState() == BluetoothAdapter.STATE_ON) {
-                    createDevicePreference(cachedDevice);
-                }
-            }
-
-            @Override
-            public void onScanFailed(int errorCode) {
-                Log.w(TAG, "BLE Scan failed with error code " + errorCode);
-            }
-        };
-        scanner.startScan(mLeScanFilters, settings, mScanCallback);
-    }
-
-    private void stopLeScanning() {
-        final BluetoothLeScanner scanner = mBluetoothAdapter.getBluetoothLeScanner();
-        if (scanner != null) {
-            scanner.stopScan(mScanCallback);
-        }
-    }
-}
diff --git a/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.kt b/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.kt
new file mode 100644
index 0000000..f18ae46
--- /dev/null
+++ b/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.kt
@@ -0,0 +1,356 @@
+/*
+ * 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.bluetooth
+
+import android.bluetooth.BluetoothAdapter
+import android.bluetooth.BluetoothDevice
+import android.bluetooth.le.BluetoothLeScanner
+import android.bluetooth.le.ScanCallback
+import android.bluetooth.le.ScanFilter
+import android.bluetooth.le.ScanResult
+import android.bluetooth.le.ScanSettings
+import android.os.Bundle
+import android.os.SystemProperties
+import android.text.BidiFormatter
+import android.util.Log
+import android.view.View
+import androidx.annotation.VisibleForTesting
+import androidx.lifecycle.lifecycleScope
+import androidx.preference.Preference
+import androidx.preference.PreferenceCategory
+import androidx.preference.PreferenceGroup
+import com.android.settings.R
+import com.android.settings.dashboard.RestrictedDashboardFragment
+import com.android.settingslib.bluetooth.BluetoothCallback
+import com.android.settingslib.bluetooth.BluetoothDeviceFilter
+import com.android.settingslib.bluetooth.CachedBluetoothDevice
+import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager
+import com.android.settingslib.bluetooth.LocalBluetoothManager
+import java.util.concurrent.ConcurrentHashMap
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
+
+/**
+ * Parent class for settings fragments that contain a list of Bluetooth devices.
+ *
+ * @see DevicePickerFragment
+ *
+ * TODO: Refactor this fragment
+ */
+abstract class DeviceListPreferenceFragment(restrictedKey: String?) :
+    RestrictedDashboardFragment(restrictedKey), BluetoothCallback {
+
+    private var filter: BluetoothDeviceFilter.Filter? = BluetoothDeviceFilter.ALL_FILTER
+    private var leScanFilters: List<ScanFilter>? = null
+
+    @JvmField
+    @VisibleForTesting
+    var mScanEnabled = false
+
+    @JvmField
+    var mSelectedDevice: BluetoothDevice? = null
+
+    @JvmField
+    var mBluetoothAdapter: BluetoothAdapter? = null
+
+    @JvmField
+    var mLocalManager: LocalBluetoothManager? = null
+
+    @JvmField
+    var mCachedDeviceManager: CachedBluetoothDeviceManager? = null
+
+    @JvmField
+    @VisibleForTesting
+    var mDeviceListGroup: PreferenceGroup? = null
+
+    @VisibleForTesting
+    val devicePreferenceMap =
+        ConcurrentHashMap<CachedBluetoothDevice, BluetoothDevicePreference>()
+
+    @JvmField
+    val mSelectedList: MutableList<BluetoothDevice> = ArrayList()
+
+    @VisibleForTesting
+    var lifecycleScope: CoroutineScope? = null
+
+    private var showDevicesWithoutNames = false
+
+    protected fun setFilter(filterType: Int) {
+        filter = BluetoothDeviceFilter.getFilter(filterType)
+    }
+
+    /**
+     * Sets the bluetooth device scanning filter with [ScanFilter]s. It will change to start
+     * [BluetoothLeScanner] which will scan BLE device only.
+     *
+     * @param leScanFilters list of settings to filter scan result
+     */
+    fun setFilter(leScanFilters: List<ScanFilter>?) {
+        filter = null
+        this.leScanFilters = leScanFilters
+    }
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        mLocalManager = Utils.getLocalBtManager(activity)
+        if (mLocalManager == null) {
+            Log.e(TAG, "Bluetooth is not supported on this device")
+            return
+        }
+        mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter()
+        mCachedDeviceManager = mLocalManager!!.cachedDeviceManager
+        showDevicesWithoutNames = SystemProperties.getBoolean(
+            BLUETOOTH_SHOW_DEVICES_WITHOUT_NAMES_PROPERTY, false
+        )
+        initPreferencesFromPreferenceScreen()
+        mDeviceListGroup = findPreference<Preference>(deviceListKey) as PreferenceCategory
+    }
+
+    /** find and update preference that already existed in preference screen  */
+    protected abstract fun initPreferencesFromPreferenceScreen()
+
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+        super.onViewCreated(view, savedInstanceState)
+        lifecycleScope = viewLifecycleOwner.lifecycleScope
+    }
+
+    override fun onStart() {
+        super.onStart()
+        if (mLocalManager == null || isUiRestricted) return
+        mLocalManager!!.foregroundActivity = activity
+        mLocalManager!!.eventManager.registerCallback(this)
+    }
+
+    override fun onStop() {
+        super.onStop()
+        if (mLocalManager == null || isUiRestricted) {
+            return
+        }
+        removeAllDevices()
+        mLocalManager!!.foregroundActivity = null
+        mLocalManager!!.eventManager.unregisterCallback(this)
+    }
+
+    fun removeAllDevices() {
+        devicePreferenceMap.clear()
+        mDeviceListGroup!!.removeAll()
+    }
+
+    @JvmOverloads
+    fun addCachedDevices(filterForCachedDevices: BluetoothDeviceFilter.Filter? = null) {
+        lifecycleScope?.launch {
+            withContext(Dispatchers.Default) {
+                mCachedDeviceManager!!.cachedDevicesCopy
+                    .filter {
+                        filterForCachedDevices == null || filterForCachedDevices.matches(it.device)
+                    }
+                    .forEach(::onDeviceAdded)
+            }
+        }
+    }
+
+    override fun onPreferenceTreeClick(preference: Preference): Boolean {
+        if (KEY_BT_SCAN == preference.key) {
+            startScanning()
+            return true
+        }
+        if (preference is BluetoothDevicePreference) {
+            val device = preference.cachedDevice.device
+            mSelectedDevice = device
+            mSelectedList.add(device)
+            onDevicePreferenceClick(preference)
+            return true
+        }
+        return super.onPreferenceTreeClick(preference)
+    }
+
+    protected open fun onDevicePreferenceClick(btPreference: BluetoothDevicePreference) {
+        btPreference.onClicked()
+    }
+
+    override fun onDeviceAdded(cachedDevice: CachedBluetoothDevice) {
+        lifecycleScope?.launch {
+            addDevice(cachedDevice)
+        }
+    }
+
+    private suspend fun addDevice(cachedDevice: CachedBluetoothDevice) =
+        withContext(Dispatchers.Default) {
+            // TODO(b/289189853): Replace checking if `filter` is null or not to decide which type
+            // of Bluetooth scanning method will be used
+            val filterMatched = filter == null || filter!!.matches(cachedDevice.device) == true
+            // Prevent updates while the list shows one of the state messages
+            if (mBluetoothAdapter!!.state == BluetoothAdapter.STATE_ON && filterMatched) {
+                createDevicePreference(cachedDevice)
+            }
+        }
+
+    private suspend fun createDevicePreference(cachedDevice: CachedBluetoothDevice) {
+        if (mDeviceListGroup == null) {
+            Log.w(
+                TAG,
+                "Trying to create a device preference before the list group/category exists!",
+            )
+            return
+        }
+        // Only add device preference when it's not found in the map and there's no other state
+        // message showing in the list
+        val preference = devicePreferenceMap.computeIfAbsent(cachedDevice) {
+            BluetoothDevicePreference(
+                prefContext,
+                cachedDevice,
+                showDevicesWithoutNames,
+                BluetoothDevicePreference.SortType.TYPE_FIFO,
+            ).apply {
+                key = cachedDevice.device.address
+                //Set hideSecondTarget is true if it's bonded device.
+                hideSecondTarget(true)
+            }
+        }
+        withContext(Dispatchers.Main) {
+            mDeviceListGroup!!.addPreference(preference)
+            initDevicePreference(preference)
+        }
+    }
+
+    protected open fun initDevicePreference(preference: BluetoothDevicePreference?) {
+        // Does nothing by default
+    }
+
+    @VisibleForTesting
+    fun updateFooterPreference(myDevicePreference: Preference) {
+        val bidiFormatter = BidiFormatter.getInstance()
+        myDevicePreference.title = getString(
+            R.string.bluetooth_footer_mac_message,
+            bidiFormatter.unicodeWrap(mBluetoothAdapter!!.address)
+        )
+    }
+
+    override fun onDeviceDeleted(cachedDevice: CachedBluetoothDevice) {
+        devicePreferenceMap.remove(cachedDevice)?.let {
+            mDeviceListGroup!!.removePreference(it)
+        }
+    }
+
+    @VisibleForTesting
+    open fun enableScanning() {
+        // BluetoothAdapter already handles repeated scan requests
+        if (!mScanEnabled) {
+            startScanning()
+            mScanEnabled = true
+        }
+    }
+
+    @VisibleForTesting
+    fun disableScanning() {
+        if (mScanEnabled) {
+            stopScanning()
+            mScanEnabled = false
+        }
+    }
+
+    override fun onScanningStateChanged(started: Boolean) {
+        if (!started && mScanEnabled) {
+            startScanning()
+        }
+    }
+
+    /**
+     * Return the key of the [PreferenceGroup] that contains the bluetooth devices
+     */
+    abstract val deviceListKey: String
+
+    @VisibleForTesting
+    open fun startScanning() {
+        if (filter != null) {
+            startClassicScanning()
+        } else if (leScanFilters != null) {
+            startLeScanning()
+        }
+    }
+
+    @VisibleForTesting
+    open fun stopScanning() {
+        if (filter != null) {
+            stopClassicScanning()
+        } else if (leScanFilters != null) {
+            stopLeScanning()
+        }
+    }
+
+    private fun startClassicScanning() {
+        if (!mBluetoothAdapter!!.isDiscovering) {
+            mBluetoothAdapter!!.startDiscovery()
+        }
+    }
+
+    private fun stopClassicScanning() {
+        if (mBluetoothAdapter!!.isDiscovering) {
+            mBluetoothAdapter!!.cancelDiscovery()
+        }
+    }
+
+    private val leScanCallback = object : ScanCallback() {
+        override fun onScanResult(callbackType: Int, result: ScanResult) {
+            handleLeScanResult(result)
+        }
+
+        override fun onBatchScanResults(results: MutableList<ScanResult>?) {
+            for (result in results.orEmpty()) {
+                handleLeScanResult(result)
+            }
+        }
+
+        override fun onScanFailed(errorCode: Int) {
+            Log.w(TAG, "BLE Scan failed with error code $errorCode")
+        }
+    }
+
+    private fun startLeScanning() {
+        val scanner = mBluetoothAdapter!!.bluetoothLeScanner
+        val settings = ScanSettings.Builder()
+            .setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY)
+            .build()
+        scanner.startScan(leScanFilters, settings, leScanCallback)
+    }
+
+    private fun stopLeScanning() {
+        val scanner = mBluetoothAdapter!!.bluetoothLeScanner
+        scanner?.stopScan(leScanCallback)
+    }
+
+    private fun handleLeScanResult(result: ScanResult) {
+        lifecycleScope?.launch {
+            withContext(Dispatchers.Default) {
+                val device = result.device
+                val cachedDevice = mCachedDeviceManager!!.findDevice(device)
+                    ?: mCachedDeviceManager!!.addDevice(device, leScanFilters)
+                addDevice(cachedDevice)
+            }
+        }
+    }
+
+    companion object {
+        private const val TAG = "DeviceListPreferenceFragment"
+        private const val KEY_BT_SCAN = "bt_scan"
+
+        // Copied from BluetoothDeviceNoNamePreferenceController.java
+        private const val BLUETOOTH_SHOW_DEVICES_WITHOUT_NAMES_PROPERTY =
+            "persist.bluetooth.showdeviceswithoutnames"
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java b/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java
index c93a1c6..0a0e208 100644
--- a/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java
+++ b/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java
@@ -16,12 +16,17 @@
 
 package com.android.settings.connecteddevice.stylus;
 
+import android.app.Dialog;
 import android.app.role.RoleManager;
 import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
+import android.content.pm.UserInfo;
+import android.os.Process;
+import android.os.UserHandle;
+import android.os.UserManager;
 import android.provider.Settings;
 import android.provider.Settings.Secure;
 import android.text.TextUtils;
@@ -38,6 +43,8 @@
 import androidx.preference.SwitchPreference;
 
 import com.android.settings.R;
+import com.android.settings.dashboard.profileselector.ProfileSelectDialog;
+import com.android.settings.dashboard.profileselector.UserAdapter;
 import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -45,6 +52,7 @@
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnResume;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -73,6 +81,9 @@
     @VisibleForTesting
     PreferenceCategory mPreferencesContainer;
 
+    @VisibleForTesting
+    Dialog mDialog;
+
     public StylusDevicesController(Context context, InputDevice inputDevice,
             CachedBluetoothDevice cachedBluetoothDevice, Lifecycle lifecycle) {
         super(context);
@@ -100,8 +111,8 @@
         pref.setOnPreferenceClickListener(this);
         pref.setEnabled(true);
 
-        List<String> roleHolders = rm.getRoleHoldersAsUser(RoleManager.ROLE_NOTES,
-                mContext.getUser());
+        UserHandle user = getDefaultNoteTaskProfile();
+        List<String> roleHolders = rm.getRoleHoldersAsUser(RoleManager.ROLE_NOTES, user);
         if (roleHolders.isEmpty()) {
             pref.setSummary(R.string.default_app_none);
             return pref;
@@ -113,11 +124,17 @@
         try {
             ApplicationInfo ai = pm.getApplicationInfo(packageName,
                     PackageManager.ApplicationInfoFlags.of(0));
-            appName = ai == null ? packageName : pm.getApplicationLabel(ai).toString();
+            appName = ai == null ? "" : pm.getApplicationLabel(ai).toString();
         } catch (PackageManager.NameNotFoundException e) {
             Log.e(TAG, "Notes role package not found.");
         }
-        pref.setSummary(appName);
+
+        if (mContext.getSystemService(UserManager.class).isManagedProfile(user.getIdentifier())) {
+            pref.setSummary(
+                    mContext.getString(R.string.stylus_default_notes_summary_work, appName));
+        } else {
+            pref.setSummary(appName);
+        }
         return pref;
     }
 
@@ -155,7 +172,13 @@
                 String packageName = pm.getPermissionControllerPackageName();
                 Intent intent = new Intent(Intent.ACTION_MANAGE_DEFAULT_APP).setPackage(
                         packageName).putExtra(Intent.EXTRA_ROLE_NAME, RoleManager.ROLE_NOTES);
-                mContext.startActivity(intent);
+
+                List<UserHandle> users = getUserAndManagedProfiles();
+                if (users.size() <= 1) {
+                    mContext.startActivity(intent);
+                } else {
+                    createAndShowProfileSelectDialog(intent, users);
+                }
                 break;
             case KEY_HANDWRITING:
                 Settings.Secure.putInt(mContext.getContentResolver(),
@@ -229,6 +252,56 @@
         return inputMethod != null && inputMethod.supportsStylusHandwriting();
     }
 
+    private List<UserHandle> getUserAndManagedProfiles() {
+        UserManager um = mContext.getSystemService(UserManager.class);
+        final List<UserHandle> userManagedProfiles = new ArrayList<>();
+        // Add the current user, then add all the associated managed profiles.
+        final UserHandle currentUser = Process.myUserHandle();
+        userManagedProfiles.add(currentUser);
+
+        final List<UserInfo> userInfos = um.getUsers();
+        for (UserInfo info : userInfos) {
+            int userId = info.id;
+            if (um.isManagedProfile(userId)
+                    && um.getProfileParent(userId).id == currentUser.getIdentifier()) {
+                userManagedProfiles.add(UserHandle.of(userId));
+            }
+        }
+        return userManagedProfiles;
+    }
+
+    private UserHandle getDefaultNoteTaskProfile() {
+        final int userId = Secure.getInt(
+                mContext.getContentResolver(),
+                Secure.DEFAULT_NOTE_TASK_PROFILE,
+                UserHandle.myUserId());
+        return UserHandle.of(userId);
+    }
+
+    @VisibleForTesting
+    UserAdapter.OnClickListener createProfileDialogClickCallback(
+            Intent intent, List<UserHandle> users) {
+        // TODO(b/281659827): improve UX flow for when activity is cancelled
+        return (int position) -> {
+            intent.putExtra(Intent.EXTRA_USER, users.get(position));
+
+            Secure.putInt(mContext.getContentResolver(),
+                    Secure.DEFAULT_NOTE_TASK_PROFILE,
+                    users.get(position).getIdentifier());
+            mContext.startActivity(intent);
+
+            mDialog.dismiss();
+        };
+    }
+
+    private void createAndShowProfileSelectDialog(Intent intent, List<UserHandle> users) {
+        mDialog = ProfileSelectDialog.createDialog(
+                mContext,
+                users,
+                createProfileDialogClickCallback(intent, users));
+        mDialog.show();
+    }
+
     /**
      * Identifies whether a device is a stylus using the associated {@link InputDevice} or
      * {@link CachedBluetoothDevice}.
diff --git a/src/com/android/settings/connecteddevice/stylus/StylusFeatureProvider.java b/src/com/android/settings/connecteddevice/stylus/StylusFeatureProvider.java
new file mode 100644
index 0000000..43337c8
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/stylus/StylusFeatureProvider.java
@@ -0,0 +1,47 @@
+/*
+ * 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.connecteddevice.stylus;
+
+import android.content.Context;
+import android.hardware.usb.UsbDevice;
+
+import androidx.preference.Preference;
+
+import java.util.List;
+
+import javax.annotation.Nullable;
+
+/** FeatureProvider for USB settings */
+public interface StylusFeatureProvider {
+
+    /**
+     * Returns whether the current attached USB device allows firmware updates.
+     *
+     * @param usbDevice The USB device to check
+     */
+    boolean isUsbFirmwareUpdateEnabled(UsbDevice usbDevice);
+
+    /**
+     * Returns a list of preferences for the connected USB device if exists. If not, returns
+     * null. If an update is not available but firmware update feature is enabled for the device,
+     * the list will contain only the preference showing the current firmware version.
+     *
+     * @param context The context
+     */
+    @Nullable
+    List<Preference> getUsbFirmwareUpdatePreferences(Context context);
+}
diff --git a/src/com/android/settings/connecteddevice/stylus/StylusFeatureProviderImpl.java b/src/com/android/settings/connecteddevice/stylus/StylusFeatureProviderImpl.java
new file mode 100644
index 0000000..dba569b
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/stylus/StylusFeatureProviderImpl.java
@@ -0,0 +1,37 @@
+/*
+ * 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.connecteddevice.stylus;
+
+import android.content.Context;
+import android.hardware.usb.UsbDevice;
+
+import androidx.preference.Preference;
+
+import java.util.List;
+
+/** Default implementation for StylusFeatureProvider */
+public class StylusFeatureProviderImpl implements StylusFeatureProvider {
+    @Override
+    public boolean isUsbFirmwareUpdateEnabled(UsbDevice usbDevice) {
+        return false;
+    }
+
+    @Override
+    public List<Preference> getUsbFirmwareUpdatePreferences(Context context) {
+        return null;
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/stylus/StylusUsbFirmwareController.java b/src/com/android/settings/connecteddevice/stylus/StylusUsbFirmwareController.java
new file mode 100644
index 0000000..4a4dfa2
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/stylus/StylusUsbFirmwareController.java
@@ -0,0 +1,142 @@
+/*
+ * 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.connecteddevice.stylus;
+
+import android.content.Context;
+import android.hardware.usb.UsbDevice;
+import android.hardware.usb.UsbManager;
+
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnStart;
+import com.android.settingslib.core.lifecycle.events.OnStop;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/** Preference controller for stylus firmware updates via USB */
+public class StylusUsbFirmwareController extends BasePreferenceController
+        implements LifecycleObserver, OnStart, OnStop {
+    private static final String TAG = StylusUsbFirmwareController.class.getSimpleName();
+    @Nullable
+    private UsbDevice mStylusUsbDevice;
+    private final UsbStylusBroadcastReceiver mUsbStylusBroadcastReceiver;
+
+    private PreferenceScreen mPreferenceScreen;
+    private PreferenceCategory mPreference;
+
+    @VisibleForTesting
+    UsbStylusBroadcastReceiver.UsbStylusConnectionListener mUsbConnectionListener =
+            (stylusUsbDevice, attached) -> {
+                refresh();
+            };
+
+    public StylusUsbFirmwareController(Context context, String key) {
+        super(context, key);
+        mUsbStylusBroadcastReceiver = new UsbStylusBroadcastReceiver(context,
+                mUsbConnectionListener);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        mPreferenceScreen = screen;
+        refresh();
+        super.displayPreference(screen);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        // always available, preferences will be added or
+        // removed according to the connected usb device
+        return AVAILABLE;
+    }
+
+    private void refresh() {
+        if (mPreferenceScreen == null) return;
+
+        UsbDevice device = getStylusUsbDevice();
+        if (device == mStylusUsbDevice) {
+            return;
+        }
+        mStylusUsbDevice = device;
+        mPreference = mPreferenceScreen.findPreference(getPreferenceKey());
+        if (mPreference != null) {
+            mPreferenceScreen.removePreference(mPreference);
+        }
+        if (hasUsbStylusFirmwareUpdateFeature(mStylusUsbDevice)) {
+            StylusFeatureProvider featureProvider = FeatureFactory.getFactory(
+                    mContext).getStylusFeatureProvider();
+            List<Preference> preferences =
+                    featureProvider.getUsbFirmwareUpdatePreferences(mContext);
+
+            if (preferences != null) {
+                mPreference = new PreferenceCategory(mContext);
+                mPreference.setKey(getPreferenceKey());
+                mPreferenceScreen.addPreference(mPreference);
+
+                for (Preference preference : preferences) {
+                    mPreference.addPreference(preference);
+                }
+            }
+        }
+    }
+
+    @Override
+    public void onStart() {
+        mUsbStylusBroadcastReceiver.register();
+    }
+
+    @Override
+    public void onStop() {
+        mUsbStylusBroadcastReceiver.unregister();
+    }
+
+    private UsbDevice getStylusUsbDevice() {
+        UsbManager usbManager = mContext.getSystemService(UsbManager.class);
+
+        if (usbManager == null) {
+            return null;
+        }
+
+        List<UsbDevice> devices = new ArrayList<>(usbManager.getDeviceList().values());
+        if (devices.isEmpty()) {
+            return null;
+        }
+
+        UsbDevice usbDevice = devices.get(0);
+        if (hasUsbStylusFirmwareUpdateFeature(usbDevice)) {
+            return usbDevice;
+        }
+        return null;
+    }
+
+    static boolean hasUsbStylusFirmwareUpdateFeature(UsbDevice usbDevice) {
+        if (usbDevice == null) return false;
+
+        StylusFeatureProvider featureProvider = FeatureFactory.getFactory(
+                FeatureFactory.getAppContext()).getStylusFeatureProvider();
+
+        return featureProvider.isUsbFirmwareUpdateEnabled(usbDevice);
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/stylus/StylusUsiDetailsFragment.java b/src/com/android/settings/connecteddevice/stylus/StylusUsiDetailsFragment.java
index 5e68a53..ea9781e 100644
--- a/src/com/android/settings/connecteddevice/stylus/StylusUsiDetailsFragment.java
+++ b/src/com/android/settings/connecteddevice/stylus/StylusUsiDetailsFragment.java
@@ -54,7 +54,6 @@
         }
     }
 
-
     @Override
     public int getMetricsCategory() {
         return SettingsEnums.USI_DEVICE_DETAILS;
diff --git a/src/com/android/settings/connecteddevice/stylus/UsbStylusBroadcastReceiver.java b/src/com/android/settings/connecteddevice/stylus/UsbStylusBroadcastReceiver.java
new file mode 100644
index 0000000..0166250
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/stylus/UsbStylusBroadcastReceiver.java
@@ -0,0 +1,75 @@
+/*
+ * 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.connecteddevice.stylus;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.hardware.usb.UsbDevice;
+import android.hardware.usb.UsbManager;
+
+/** Broadcast receiver for styluses connected via USB */
+public class UsbStylusBroadcastReceiver extends BroadcastReceiver {
+    private Context mContext;
+    private UsbStylusConnectionListener mUsbConnectionListener;
+    private boolean mListeningToUsbEvents;
+
+    public UsbStylusBroadcastReceiver(Context context,
+            UsbStylusConnectionListener usbConnectionListener) {
+        mContext = context;
+        mUsbConnectionListener = usbConnectionListener;
+    }
+
+    /** Registers the receiver. */
+    public void register() {
+        if (!mListeningToUsbEvents) {
+            final IntentFilter intentFilter = new IntentFilter();
+            intentFilter.addAction(UsbManager.ACTION_USB_DEVICE_ATTACHED);
+            intentFilter.addAction(UsbManager.ACTION_USB_DEVICE_DETACHED);
+            final Intent intent = mContext.registerReceiver(this, intentFilter);
+            if (intent != null) {
+                onReceive(mContext, intent);
+            }
+            mListeningToUsbEvents = true;
+        }
+    }
+
+    /** Unregisters the receiver. */
+    public void unregister() {
+        if (mListeningToUsbEvents) {
+            mContext.unregisterReceiver(this);
+            mListeningToUsbEvents = false;
+        }
+    }
+
+    @Override
+    public void onReceive(Context context, Intent intent) {
+        UsbDevice usbDevice = intent.getParcelableExtra(UsbManager.EXTRA_DEVICE, UsbDevice.class);
+        if (StylusUsbFirmwareController.hasUsbStylusFirmwareUpdateFeature(usbDevice)) {
+            mUsbConnectionListener.onUsbStylusConnectionChanged(usbDevice,
+                    intent.getAction().equals(UsbManager.ACTION_USB_DEVICE_ATTACHED));
+        }
+    }
+
+    /**
+     * Interface definition for a callback to be invoked when stylus usb connection is changed.
+     */
+    interface UsbStylusConnectionListener {
+        void onUsbStylusConnectionChanged(UsbDevice device, boolean connected);
+    }
+}
diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java
index 149d1f4..3100706 100644
--- a/src/com/android/settings/core/gateway/SettingsGateway.java
+++ b/src/com/android/settings/core/gateway/SettingsGateway.java
@@ -72,6 +72,7 @@
 import com.android.settings.biometrics.combination.CombinedBiometricSettings;
 import com.android.settings.biometrics.face.FaceSettings;
 import com.android.settings.biometrics.fingerprint.FingerprintSettings;
+import com.android.settings.biometrics.fingerprint2.ui.fragment.FingerprintSettingsV2Fragment;
 import com.android.settings.bluetooth.BluetoothBroadcastDialog;
 import com.android.settings.bluetooth.BluetoothDeviceDetailsFragment;
 import com.android.settings.bluetooth.BluetoothFindBroadcastsFragment;
@@ -94,6 +95,7 @@
 import com.android.settings.deviceinfo.PublicVolumeSettings;
 import com.android.settings.deviceinfo.StorageDashboardFragment;
 import com.android.settings.deviceinfo.aboutphone.MyDeviceInfoFragment;
+import com.android.settings.deviceinfo.batteryinfo.BatteryInfoFragment;
 import com.android.settings.deviceinfo.firmwareversion.FirmwareVersionSettings;
 import com.android.settings.deviceinfo.legal.ModuleLicensesDashboard;
 import com.android.settings.display.AutoBrightnessSettings;
@@ -265,6 +267,7 @@
             AssistGestureSettings.class.getName(),
             FaceSettings.class.getName(),
             FingerprintSettings.FingerprintSettingsFragment.class.getName(),
+            FingerprintSettingsV2Fragment.class.getName(),
             CombinedBiometricSettings.class.getName(),
             CombinedBiometricProfileSettings.class.getName(),
             SwipeToNotificationSettings.class.getName(),
@@ -371,7 +374,8 @@
             NfcAndPaymentFragment.class.getName(),
             ColorAndMotionFragment.class.getName(),
             LongBackgroundTasksDetails.class.getName(),
-            RegionalPreferencesEntriesFragment.class.getName()
+            RegionalPreferencesEntriesFragment.class.getName(),
+            BatteryInfoFragment.class.getName()
     };
 
     public static final String[] SETTINGS_FOR_RESTRICTED = {
diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java
index f8a5d76..d4acfa1 100644
--- a/src/com/android/settings/dashboard/DashboardFragment.java
+++ b/src/com/android/settings/dashboard/DashboardFragment.java
@@ -25,11 +25,14 @@
 import android.text.TextUtils;
 import android.util.ArrayMap;
 import android.util.Log;
+import android.view.View;
 
 import androidx.annotation.CallSuper;
+import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.lifecycle.LifecycleObserver;
+import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceGroup;
@@ -170,6 +173,15 @@
     }
 
     @Override
+    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+        LifecycleOwner viewLifecycleOwner = getViewLifecycleOwner();
+        for (AbstractPreferenceController controller : mControllers) {
+            controller.onViewCreated(viewLifecycleOwner);
+        }
+    }
+
+    @Override
     public void onCategoriesChanged(Set<String> categories) {
         final String categoryKey = getCategoryKey();
         final DashboardCategory dashboardCategory =
diff --git a/src/com/android/settings/datausage/BillingCycleSettings.java b/src/com/android/settings/datausage/BillingCycleSettings.java
index 3047d73..c3ddb2e 100644
--- a/src/com/android/settings/datausage/BillingCycleSettings.java
+++ b/src/com/android/settings/datausage/BillingCycleSettings.java
@@ -22,8 +22,6 @@
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.res.Resources;
-import android.icu.text.MeasureFormat;
-import android.icu.util.MeasureUnit;
 import android.net.NetworkPolicy;
 import android.net.NetworkTemplate;
 import android.os.Bundle;
@@ -322,14 +320,10 @@
             final boolean isLimit = getArguments().getBoolean(EXTRA_LIMIT);
             final long bytes = isLimit ? editor.getPolicyLimitBytes(template)
                     : editor.getPolicyWarningBytes(template);
-            final long limitDisabled = isLimit ? LIMIT_DISABLED : WARNING_DISABLED;
 
-            final MeasureFormat formatter = MeasureFormat.getInstance(
-                    getContext().getResources().getConfiguration().locale,
-                    MeasureFormat.FormatWidth.SHORT);
             final String[] unitNames = new String[] {
-                formatter.getUnitDisplayName(MeasureUnit.MEGABYTE),
-                formatter.getUnitDisplayName(MeasureUnit.GIGABYTE)
+                    DataUsageFormatter.INSTANCE.getBytesDisplayUnit(getResources(), MIB_IN_BYTES),
+                    DataUsageFormatter.INSTANCE.getBytesDisplayUnit(getResources(), GIB_IN_BYTES),
             };
             final ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                     getContext(), android.R.layout.simple_spinner_item, unitNames);
diff --git a/src/com/android/settings/datausage/DataSaverBackend.java b/src/com/android/settings/datausage/DataSaverBackend.java
index e47ecbd..6a39234 100644
--- a/src/com/android/settings/datausage/DataSaverBackend.java
+++ b/src/com/android/settings/datausage/DataSaverBackend.java
@@ -196,8 +196,10 @@
     public interface Listener {
         void onDataSaverChanged(boolean isDataSaving);
 
-        void onAllowlistStatusChanged(int uid, boolean isAllowlisted);
+        /** This is called when allow list status is changed. */
+        default void onAllowlistStatusChanged(int uid, boolean isAllowlisted) {}
 
-        void onDenylistStatusChanged(int uid, boolean isDenylisted);
+        /** This is called when deny list status is changed. */
+        default void onDenylistStatusChanged(int uid, boolean isDenylisted) {}
     }
 }
diff --git a/src/com/android/settings/datausage/DataSaverSummary.kt b/src/com/android/settings/datausage/DataSaverSummary.kt
index 1d9cbb7..0828d36 100644
--- a/src/com/android/settings/datausage/DataSaverSummary.kt
+++ b/src/com/android/settings/datausage/DataSaverSummary.kt
@@ -15,33 +15,22 @@
  */
 package com.android.settings.datausage
 
-import android.app.Application
 import android.app.settings.SettingsEnums
 import android.content.Context
 import android.os.Bundle
 import android.telephony.SubscriptionManager
 import android.widget.Switch
-import androidx.lifecycle.lifecycleScope
-import androidx.preference.Preference
 import com.android.settings.R
 import com.android.settings.SettingsActivity
-import com.android.settings.SettingsPreferenceFragment
-import com.android.settings.applications.AppStateBaseBridge
-import com.android.settings.datausage.AppStateDataUsageBridge.DataUsageState
+import com.android.settings.dashboard.DashboardFragment
 import com.android.settings.search.BaseSearchIndexProvider
 import com.android.settings.widget.SettingsMainSwitchBar
-import com.android.settingslib.applications.ApplicationsState
 import com.android.settingslib.search.SearchIndexable
-import com.android.settingslib.spa.framework.util.formatString
-import kotlinx.coroutines.launch
 
 @SearchIndexable
-class DataSaverSummary : SettingsPreferenceFragment() {
+class DataSaverSummary : DashboardFragment() {
     private lateinit var switchBar: SettingsMainSwitchBar
     private lateinit var dataSaverBackend: DataSaverBackend
-    private lateinit var unrestrictedAccess: Preference
-    private var dataUsageBridge: AppStateDataUsageBridge? = null
-    private var session: ApplicationsState.Session? = null
 
     // Flag used to avoid infinite loop due if user switch it on/off too quick.
     private var switching = false
@@ -54,8 +43,6 @@
             return
         }
 
-        addPreferencesFromResource(R.xml.data_saver)
-        unrestrictedAccess = findPreference(KEY_UNRESTRICTED_ACCESS)!!
         dataSaverBackend = DataSaverBackend(requireContext())
     }
 
@@ -72,27 +59,12 @@
 
     override fun onResume() {
         super.onResume()
-        dataSaverBackend.refreshAllowlist()
-        dataSaverBackend.refreshDenylist()
         dataSaverBackend.addListener(dataSaverBackendListener)
-        dataUsageBridge?.resume(/* forceLoadAllApps= */ true)
-            ?: viewLifecycleOwner.lifecycleScope.launch {
-                val applicationsState = ApplicationsState.getInstance(
-                    requireContext().applicationContext as Application
-                )
-                dataUsageBridge = AppStateDataUsageBridge(
-                    applicationsState, dataUsageBridgeCallbacks, dataSaverBackend
-                )
-                session =
-                    applicationsState.newSession(applicationsStateCallbacks, settingsLifecycle)
-                dataUsageBridge?.resume(/* forceLoadAllApps= */ true)
-            }
     }
 
     override fun onPause() {
         super.onPause()
         dataSaverBackend.remListener(dataSaverBackendListener)
-        dataUsageBridge?.pause()
     }
 
     private fun onSwitchChanged(isChecked: Boolean) {
@@ -104,9 +76,10 @@
         }
     }
 
+    override fun getPreferenceScreenResId() = R.xml.data_saver
     override fun getMetricsCategory() = SettingsEnums.DATA_SAVER_SUMMARY
-
     override fun getHelpResource() = R.string.help_url_data_saver
+    override fun getLogTag() = TAG
 
     private val dataSaverBackendListener = object : DataSaverBackend.Listener {
         override fun onDataSaverChanged(isDataSaving: Boolean) {
@@ -115,51 +88,10 @@
                 switching = false
             }
         }
-
-        override fun onAllowlistStatusChanged(uid: Int, isAllowlisted: Boolean) {}
-
-        override fun onDenylistStatusChanged(uid: Int, isDenylisted: Boolean) {}
-    }
-
-    private val dataUsageBridgeCallbacks = AppStateBaseBridge.Callback {
-        updateUnrestrictedAccessSummary()
-    }
-
-    private val applicationsStateCallbacks = object : ApplicationsState.Callbacks {
-        override fun onRunningStateChanged(running: Boolean) {}
-
-        override fun onPackageListChanged() {}
-
-        override fun onRebuildComplete(apps: ArrayList<ApplicationsState.AppEntry>?) {}
-
-        override fun onPackageIconChanged() {}
-
-        override fun onPackageSizeChanged(packageName: String?) {}
-
-        override fun onAllSizesComputed() {
-            updateUnrestrictedAccessSummary()
-        }
-
-        override fun onLauncherInfoChanged() {
-            updateUnrestrictedAccessSummary()
-        }
-
-        override fun onLoadEntriesCompleted() {}
-    }
-
-    private fun updateUnrestrictedAccessSummary() {
-        if (!isAdded || isFinishingOrDestroyed) return
-        val allApps = session?.allApps ?: return
-        val count = allApps.count {
-            ApplicationsState.FILTER_DOWNLOADED_AND_LAUNCHER.filterApp(it) &&
-                (it.extraInfo as? DataUsageState)?.isDataSaverAllowlisted == true
-        }
-        unrestrictedAccess.summary =
-            resources.formatString(R.string.data_saver_unrestricted_summary, "count" to count)
     }
 
     companion object {
-        private const val KEY_UNRESTRICTED_ACCESS = "unrestricted_access"
+        private const val TAG = "DataSaverSummary"
 
         private fun Context.isDataSaverVisible(): Boolean =
             resources.getBoolean(R.bool.config_show_data_saver)
diff --git a/src/com/android/settings/datausage/DataUsageFormatter.kt b/src/com/android/settings/datausage/DataUsageFormatter.kt
new file mode 100644
index 0000000..16a9ae8
--- /dev/null
+++ b/src/com/android/settings/datausage/DataUsageFormatter.kt
@@ -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.
+ */
+
+package com.android.settings.datausage
+
+import android.content.res.Resources
+import android.text.format.Formatter
+
+object DataUsageFormatter {
+
+    /**
+     * Gets the display unit of the given bytes.
+     *
+     * Similar to MeasureFormat.getUnitDisplayName(), but with the expected result for the bytes in
+     * Settings, and align with other places in Settings.
+     */
+    fun Resources.getBytesDisplayUnit(bytes: Long): String =
+        Formatter.formatBytes(this, bytes, Formatter.FLAG_IEC_UNITS).units
+}
\ No newline at end of file
diff --git a/src/com/android/settings/development/BluetoothLeAudioDeviceDetailsPreferenceController.java b/src/com/android/settings/development/BluetoothLeAudioDeviceDetailsPreferenceController.java
index 9545728..298ced0 100644
--- a/src/com/android/settings/development/BluetoothLeAudioDeviceDetailsPreferenceController.java
+++ b/src/com/android/settings/development/BluetoothLeAudioDeviceDetailsPreferenceController.java
@@ -40,7 +40,7 @@
 
     private static final String PREFERENCE_KEY = "bluetooth_show_leaudio_device_details";
     private static final String CONFIG_LE_AUDIO_ENABLED_BY_DEFAULT = "le_audio_enabled_by_default";
-    private static final boolean LE_AUDIO_DEVICE_DETAIL_DEFAULT_VALUE = false;
+    private static final boolean LE_AUDIO_DEVICE_DETAIL_DEFAULT_VALUE = true;
     static int sLeAudioSupportedStateCache = BluetoothStatusCodes.ERROR_UNKNOWN;
 
     @VisibleForTesting
diff --git a/src/com/android/settings/development/DevelopmentOptionsActivityRequestCodes.java b/src/com/android/settings/development/DevelopmentOptionsActivityRequestCodes.java
index 0d91fdd..b7b2759 100644
--- a/src/com/android/settings/development/DevelopmentOptionsActivityRequestCodes.java
+++ b/src/com/android/settings/development/DevelopmentOptionsActivityRequestCodes.java
@@ -25,12 +25,4 @@
     int REQUEST_CODE_DEBUG_APP = 1;
 
     int REQUEST_MOCK_LOCATION_APP = 2;
-
-    int REQUEST_CODE_ANGLE_ALL_USE_ANGLE = 3;
-
-    int REQUEST_CODE_ANGLE_DRIVER_PKGS = 4;
-
-    int REQUEST_CODE_ANGLE_DRIVER_VALUES = 5;
-
-    int REQUEST_COMPAT_CHANGE_APP = 6;
 }
diff --git a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
index f7be1aa..047b219 100644
--- a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
+++ b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
@@ -675,6 +675,7 @@
         controllers.add(new NfcVerboseVendorLogPreferenceController(context, fragment));
         controllers.add(new ShowTapsPreferenceController(context));
         controllers.add(new PointerLocationPreferenceController(context));
+        controllers.add(new ShowKeyPressesPreferenceController(context));
         controllers.add(new ShowSurfaceUpdatesPreferenceController(context));
         controllers.add(new ShowLayoutBoundsPreferenceController(context));
         controllers.add(new ShowRefreshRatePreferenceController(context));
diff --git a/src/com/android/settings/development/EnableVerboseVendorLoggingPreferenceController.java b/src/com/android/settings/development/EnableVerboseVendorLoggingPreferenceController.java
index 051cede..f13143d 100644
--- a/src/com/android/settings/development/EnableVerboseVendorLoggingPreferenceController.java
+++ b/src/com/android/settings/development/EnableVerboseVendorLoggingPreferenceController.java
@@ -29,6 +29,7 @@
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+import com.android.settingslib.utils.ThreadUtils;
 
 import java.util.NoSuchElementException;
 
@@ -66,23 +67,34 @@
         return isIDumpstateDeviceAidlServiceAvailable() || isIDumpstateDeviceV1_1ServiceAvailable();
     }
 
+    @SuppressWarnings("FutureReturnValueIgnored")
     @Override
     public boolean onPreferenceChange(Preference preference, Object newValue) {
         final boolean isEnabled = (Boolean) newValue;
-        setVerboseLoggingEnabled(isEnabled);
+        // IDumpstateDevice IPC may be blocking when system is extremely heavily-loaded.
+        // Post to background thread to avoid ANR. Ignore the returned Future.
+        ThreadUtils.postOnBackgroundThread(() ->
+                setVerboseLoggingEnabled(isEnabled));
         return true;
     }
 
+    @SuppressWarnings("FutureReturnValueIgnored")
     @Override
     public void updateState(Preference preference) {
-        final boolean enabled = getVerboseLoggingEnabled();
-        ((SwitchPreference) mPreference).setChecked(enabled);
+        ThreadUtils.postOnBackgroundThread(() -> {
+                    final boolean enabled = getVerboseLoggingEnabled();
+                    ThreadUtils.getUiThreadHandler().post(() ->
+                            ((SwitchPreference) mPreference).setChecked(enabled));
+                }
+        );
     }
 
+    @SuppressWarnings("FutureReturnValueIgnored")
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
-        setVerboseLoggingEnabled(false);
+        ThreadUtils.postOnBackgroundThread(() ->
+                setVerboseLoggingEnabled(false));
         ((SwitchPreference) mPreference).setChecked(false);
     }
 
diff --git a/src/com/android/settings/development/ShowKeyPressesPreferenceController.java b/src/com/android/settings/development/ShowKeyPressesPreferenceController.java
new file mode 100644
index 0000000..247f59a
--- /dev/null
+++ b/src/com/android/settings/development/ShowKeyPressesPreferenceController.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright 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.development;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+
+/** PreferenceController that controls the "Show key presses" developer option. */
+public class ShowKeyPressesPreferenceController extends
+        DeveloperOptionsPreferenceController implements
+        Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
+
+    private static final String SHOW_KEY_PRESSES_KEY = "show_key_presses";
+
+    @VisibleForTesting
+    static final int SETTING_VALUE_ON = 1;
+    @VisibleForTesting
+    static final int SETTING_VALUE_OFF = 0;
+
+    public ShowKeyPressesPreferenceController(Context context) {
+        super(context);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return SHOW_KEY_PRESSES_KEY;
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final boolean isEnabled = (Boolean) newValue;
+        Settings.System.putInt(mContext.getContentResolver(),
+                Settings.System.SHOW_KEY_PRESSES, isEnabled ? SETTING_VALUE_ON : SETTING_VALUE_OFF);
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        int showKeyPresses = Settings.System.getInt(mContext.getContentResolver(),
+                Settings.System.SHOW_KEY_PRESSES, SETTING_VALUE_OFF);
+        ((SwitchPreference) mPreference).setChecked(showKeyPresses != SETTING_VALUE_OFF);
+    }
+
+    @Override
+    protected void onDeveloperOptionsSwitchDisabled() {
+        super.onDeveloperOptionsSwitchDisabled();
+        Settings.System.putInt(mContext.getContentResolver(), Settings.System.SHOW_KEY_PRESSES,
+                SETTING_VALUE_OFF);
+        ((SwitchPreference) mPreference).setChecked(false);
+    }
+}
diff --git a/src/com/android/settings/development/compat/PlatformCompatDashboard.java b/src/com/android/settings/development/compat/PlatformCompatDashboard.java
index f8cbf21..3f0ffc7 100644
--- a/src/com/android/settings/development/compat/PlatformCompatDashboard.java
+++ b/src/com/android/settings/development/compat/PlatformCompatDashboard.java
@@ -17,21 +17,16 @@
 package com.android.settings.development.compat;
 
 import static com.android.internal.compat.OverrideAllowedState.ALLOWED;
-import static com.android.settings.development.DevelopmentOptionsActivityRequestCodes.REQUEST_COMPAT_CHANGE_APP;
 
-import android.app.Activity;
-import android.app.AlertDialog;
 import android.app.settings.SettingsEnums;
 import android.compat.Compatibility.ChangeConfig;
 import android.content.Context;
-import android.content.Intent;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.os.RemoteException;
 import android.os.ServiceManager;
-import android.text.TextUtils;
 import android.util.ArraySet;
 
 import androidx.annotation.VisibleForTesting;
@@ -40,35 +35,28 @@
 import androidx.preference.PreferenceCategory;
 import androidx.preference.SwitchPreference;
 
-import com.android.internal.compat.AndroidBuildClassifier;
 import com.android.internal.compat.CompatibilityChangeConfig;
 import com.android.internal.compat.CompatibilityChangeInfo;
 import com.android.internal.compat.IPlatformCompat;
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.development.AppPicker;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.TreeMap;
 
-
 /**
  * Dashboard for Platform Compat preferences.
  */
 public class PlatformCompatDashboard extends DashboardFragment {
     private static final String TAG = "PlatformCompatDashboard";
-    private static final String COMPAT_APP = "compat_app";
+    public static final String COMPAT_APP = "compat_app";
 
     private IPlatformCompat mPlatformCompat;
 
     private CompatibilityChangeInfo[] mChanges;
 
-    private AndroidBuildClassifier mAndroidBuildClassifier = new AndroidBuildClassifier();
-
-    private boolean mShouldStartAppPickerOnResume = true;
-
     @VisibleForTesting
     String mSelectedApp;
 
@@ -108,32 +96,6 @@
         } catch (RemoteException e) {
             throw new RuntimeException("Could not list changes!", e);
         }
-        if (icicle != null) {
-            mShouldStartAppPickerOnResume = false;
-            mSelectedApp = icicle.getString(COMPAT_APP);
-        }
-    }
-
-    @Override
-    public void onActivityResult(int requestCode, int resultCode, Intent data) {
-        if (requestCode == REQUEST_COMPAT_CHANGE_APP) {
-            mShouldStartAppPickerOnResume = false;
-            switch (resultCode) {
-                case Activity.RESULT_OK:
-                    mSelectedApp = data.getAction();
-                    break;
-                case Activity.RESULT_CANCELED:
-                    if (TextUtils.isEmpty(mSelectedApp)) {
-                        finish();
-                    }
-                    break;
-                case AppPicker.RESULT_NO_MATCHING_APPS:
-                    mSelectedApp = null;
-                    break;
-            }
-            return;
-        }
-        super.onActivityResult(requestCode, resultCode, data);
     }
 
     @Override
@@ -142,33 +104,18 @@
         if (isFinishingOrDestroyed()) {
             return;
         }
-        if (!mShouldStartAppPickerOnResume) {
-            if (TextUtils.isEmpty(mSelectedApp)) {
-                new AlertDialog.Builder(getContext())
-                        .setTitle(R.string.platform_compat_dialog_title_no_apps)
-                        .setMessage(R.string.platform_compat_dialog_text_no_apps)
-                        .setPositiveButton(R.string.okay, (dialog, which) -> finish())
-                        .setOnDismissListener(dialog -> finish())
-                        .setCancelable(false)
-                        .show();
-                return;
-            }
-            try {
-                final ApplicationInfo applicationInfo = getApplicationInfo();
-                addPreferences(applicationInfo);
-                return;
-            } catch (PackageManager.NameNotFoundException e) {
-                mShouldStartAppPickerOnResume = true;
-                mSelectedApp = null;
-            }
+        Bundle arguments = getArguments();
+        if (arguments == null) {
+            finish();
+            return;
         }
-        startAppPicker();
-    }
-
-    @Override
-    public void onSaveInstanceState(Bundle outState) {
-        super.onSaveInstanceState(outState);
-        outState.putString(COMPAT_APP, mSelectedApp);
+        mSelectedApp = arguments.getString(COMPAT_APP);
+        try {
+            final ApplicationInfo applicationInfo = getApplicationInfo();
+            addPreferences(applicationInfo);
+        } catch (PackageManager.NameNotFoundException ignored) {
+            finish();
+        }
     }
 
     private void addPreferences(ApplicationInfo applicationInfo) {
@@ -266,12 +213,6 @@
         appPreference.setIcon(icon);
         appPreference.setSummary(getString(R.string.platform_compat_selected_app_summary,
                                          mSelectedApp, applicationInfo.targetSdkVersion));
-        appPreference.setKey(mSelectedApp);
-        appPreference.setOnPreferenceClickListener(
-                preference -> {
-                    startAppPicker();
-                    return true;
-                });
         return appPreference;
     }
 
@@ -294,17 +235,6 @@
         }
     }
 
-    private void startAppPicker() {
-        final Intent intent = new Intent(getContext(), AppPicker.class)
-                .putExtra(AppPicker.EXTRA_INCLUDE_NOTHING, false);
-        // If build is neither userdebug nor eng, only include debuggable apps
-        final boolean debuggableBuild = mAndroidBuildClassifier.isDebuggableBuild();
-        if (!debuggableBuild) {
-            intent.putExtra(AppPicker.EXTRA_DEBUGGABLE, true /* value */);
-        }
-        startActivityForResult(intent, REQUEST_COMPAT_CHANGE_APP);
-    }
-
     private class CompatChangePreferenceChangeListener implements OnPreferenceChangeListener {
         private final long changeId;
 
diff --git a/src/com/android/settings/deviceinfo/batteryinfo/BatteryCycleCountPreferenceController.java b/src/com/android/settings/deviceinfo/batteryinfo/BatteryCycleCountPreferenceController.java
new file mode 100644
index 0000000..b022fcf
--- /dev/null
+++ b/src/com/android/settings/deviceinfo/batteryinfo/BatteryCycleCountPreferenceController.java
@@ -0,0 +1,51 @@
+/*
+ * 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.deviceinfo.batteryinfo;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.BatteryManager;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.fuelgauge.BatteryUtils;
+
+/**
+ * A controller that manages the information about battery cycle count.
+ */
+public class BatteryCycleCountPreferenceController extends BasePreferenceController {
+
+    public BatteryCycleCountPreferenceController(Context context,
+            String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        final Intent batteryIntent = BatteryUtils.getBatteryIntent(mContext);
+        final int cycleCount = batteryIntent.getIntExtra(BatteryManager.EXTRA_CYCLE_COUNT, -1);
+
+        return cycleCount == -1
+                ? mContext.getText(R.string.battery_cycle_count_not_available)
+                : Integer.toString(cycleCount);
+    }
+}
diff --git a/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceController.java b/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceController.java
new file mode 100644
index 0000000..6c7a743
--- /dev/null
+++ b/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceController.java
@@ -0,0 +1,67 @@
+/*
+ * 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.deviceinfo.batteryinfo;
+
+import android.content.Context;
+import android.os.BatteryManager;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.fuelgauge.BatterySettingsFeatureProvider;
+import com.android.settings.fuelgauge.BatteryUtils;
+import com.android.settings.overlay.FeatureFactory;
+
+import java.util.concurrent.TimeUnit;
+
+/**
+ * A controller that manages the information about battery first use date.
+ */
+public class BatteryFirstUseDatePreferenceController extends BasePreferenceController {
+
+    private final BatterySettingsFeatureProvider mBatterySettingsFeatureProvider;
+    private final BatteryManager mBatteryManager;
+
+    private long mFirstUseDateInMs;
+
+    public BatteryFirstUseDatePreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mBatterySettingsFeatureProvider = FeatureFactory.getFactory(
+                context).getBatterySettingsFeatureProvider();
+        mBatteryManager = mContext.getSystemService(BatteryManager.class);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return mBatterySettingsFeatureProvider.isFirstUseDateAvailable(mContext, getFirstUseDate())
+                ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        return isAvailable()
+                ? BatteryUtils.getBatteryInfoFormattedDate(mFirstUseDateInMs)
+                : null;
+    }
+
+    private long getFirstUseDate() {
+        if (mFirstUseDateInMs == 0L) {
+            final long firstUseDateInSec = mBatteryManager.getLongProperty(
+                    BatteryManager.BATTERY_PROPERTY_FIRST_USAGE_DATE);
+            mFirstUseDateInMs = TimeUnit.MILLISECONDS.convert(firstUseDateInSec, TimeUnit.SECONDS);
+        }
+        return mFirstUseDateInMs;
+    }
+}
diff --git a/src/com/android/settings/deviceinfo/batteryinfo/BatteryInfoFragment.java b/src/com/android/settings/deviceinfo/batteryinfo/BatteryInfoFragment.java
new file mode 100644
index 0000000..1731212
--- /dev/null
+++ b/src/com/android/settings/deviceinfo/batteryinfo/BatteryInfoFragment.java
@@ -0,0 +1,51 @@
+/*
+ * 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.deviceinfo.batteryinfo;
+
+import android.app.settings.SettingsEnums;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.search.SearchIndexable;
+
+/**
+ * A fragment that shows battery hardware information.
+ */
+@SearchIndexable
+public class BatteryInfoFragment extends DashboardFragment {
+
+    public static final String TAG = "BatteryInfo";
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.SETTINGS_BATTERY_INFORMATION;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.battery_info;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.battery_info);
+}
diff --git a/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceController.java b/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceController.java
new file mode 100644
index 0000000..ff54c77
--- /dev/null
+++ b/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceController.java
@@ -0,0 +1,69 @@
+/*
+ * 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.deviceinfo.batteryinfo;
+
+import android.content.Context;
+import android.os.BatteryManager;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.fuelgauge.BatterySettingsFeatureProvider;
+import com.android.settings.fuelgauge.BatteryUtils;
+import com.android.settings.overlay.FeatureFactory;
+
+import java.util.concurrent.TimeUnit;
+
+/**
+ * A controller that manages the information about battery manufacture date.
+ */
+public class BatteryManufactureDatePreferenceController extends BasePreferenceController {
+
+    private final BatterySettingsFeatureProvider mBatterySettingsFeatureProvider;
+    private final BatteryManager mBatteryManager;
+
+    private long mManufactureDateInMs;
+
+    public BatteryManufactureDatePreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mBatterySettingsFeatureProvider = FeatureFactory.getFactory(
+                context).getBatterySettingsFeatureProvider();
+        mBatteryManager = mContext.getSystemService(BatteryManager.class);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return mBatterySettingsFeatureProvider.isManufactureDateAvailable(mContext,
+                getManufactureDate())
+                ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        return isAvailable()
+                ? BatteryUtils.getBatteryInfoFormattedDate(mManufactureDateInMs)
+                : null;
+    }
+
+    private long getManufactureDate() {
+        if (mManufactureDateInMs == 0L) {
+            final long manufactureDateInSec = mBatteryManager.getLongProperty(
+                    BatteryManager.BATTERY_PROPERTY_MANUFACTURING_DATE);
+            mManufactureDateInMs = TimeUnit.MILLISECONDS.convert(manufactureDateInSec,
+                    TimeUnit.SECONDS);
+        }
+        return mManufactureDateInMs;
+    }
+}
diff --git a/src/com/android/settings/display/StayAwakeOnFoldPreferenceController.java b/src/com/android/settings/display/StayAwakeOnFoldPreferenceController.java
new file mode 100644
index 0000000..9df48f3
--- /dev/null
+++ b/src/com/android/settings/display/StayAwakeOnFoldPreferenceController.java
@@ -0,0 +1,75 @@
+/*
+ * 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.display;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.provider.Settings;
+
+import com.android.settings.R;
+import com.android.settings.core.TogglePreferenceController;
+
+/**
+ * A preference controller for the "Stay unlocked on fold" setting.
+ *
+ * This preference controller allows users to control whether or not the device
+ * stays awake when it is folded. When this setting is enabled, the device will
+ * stay awake even if the device is folded.
+ *
+ * @link android.provider.Settings.System#STAY_AWAKE_ON_FOLD
+ */
+public class StayAwakeOnFoldPreferenceController extends TogglePreferenceController {
+
+    private final Resources mResources;
+
+    public StayAwakeOnFoldPreferenceController(Context context, String key) {
+        this(context, key, context.getResources());
+    }
+
+    public StayAwakeOnFoldPreferenceController(Context context, String key, Resources resources) {
+        super(context, key);
+        mResources = resources;
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return mResources.getBoolean(R.bool.config_stay_awake_on_fold) ? AVAILABLE
+                : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public boolean isChecked() {
+        return Settings.System.getInt(
+                mContext.getContentResolver(),
+                Settings.System.STAY_AWAKE_ON_FOLD,
+                0) == 1;
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        final int stayUnlockedOnFold = isChecked ? 1 : 0;
+
+        return Settings.System.putInt(mContext.getContentResolver(),
+                Settings.System.STAY_AWAKE_ON_FOLD, stayUnlockedOnFold);
+    }
+
+    @Override
+    public int getSliceHighlightMenuRes() {
+        return R.string.menu_key_display;
+    }
+
+}
diff --git a/src/com/android/settings/dream/WhenToDreamPicker.java b/src/com/android/settings/dream/WhenToDreamPicker.java
index 13cdadf..3052d20 100644
--- a/src/com/android/settings/dream/WhenToDreamPicker.java
+++ b/src/com/android/settings/dream/WhenToDreamPicker.java
@@ -50,7 +50,7 @@
 
     @Override
     public int getMetricsCategory() {
-        return SettingsEnums.DREAM;
+        return SettingsEnums.SETTINGS_WHEN_TO_DREAM;
     }
 
     @Override
diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
index 79e0194..41ead68 100644
--- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
@@ -289,12 +289,14 @@
         mLogStringBuilder.append(", onPause mode = ").append(selectedPreference);
         logMetricCategory(selectedPreference);
 
-        BatteryHistoricalLogUtil.writeLog(
-                getContext().getApplicationContext(),
-                Action.LEAVE,
-                BatteryHistoricalLogUtil.getPackageNameWithUserId(
-                        mBatteryOptimizeUtils.getPackageName(), UserHandle.myUserId()),
-                mLogStringBuilder.toString());
+        mExecutor.execute(() -> {
+            BatteryOptimizeLogUtils.writeLog(
+                    getContext().getApplicationContext(),
+                    Action.LEAVE,
+                    BatteryOptimizeLogUtils.getPackageNameWithUserId(
+                            mBatteryOptimizeUtils.getPackageName(), UserHandle.myUserId()),
+                    mLogStringBuilder.toString());
+        });
         Log.d(TAG, "Leave with mode: " + selectedPreference);
     }
 
diff --git a/src/com/android/settings/fuelgauge/BatteryBackupHelper.java b/src/com/android/settings/fuelgauge/BatteryBackupHelper.java
index 66ffc90..50f1b90 100644
--- a/src/com/android/settings/fuelgauge/BatteryBackupHelper.java
+++ b/src/com/android/settings/fuelgauge/BatteryBackupHelper.java
@@ -199,7 +199,7 @@
                     info.packageName + DELIMITER_MODE + optimizationMode;
             builder.append(packageOptimizeMode + DELIMITER);
             Log.d(TAG, "backupOptimizationMode: " + packageOptimizeMode);
-            BatteryHistoricalLogUtil.writeLog(
+            BatteryOptimizeLogUtils.writeLog(
                     sharedPreferences, Action.BACKUP, info.packageName,
                     /* actionDescription */ "mode: " + optimizationMode);
             backupCount++;
@@ -275,7 +275,7 @@
 
     /** Dump the app optimization mode backup history data. */
     public static void dumpHistoricalData(Context context, PrintWriter writer) {
-        BatteryHistoricalLogUtil.printBatteryOptimizeHistoricalLog(
+        BatteryOptimizeLogUtils.printBatteryOptimizeHistoricalLog(
                 getSharedPreferences(context), writer);
     }
 
diff --git a/src/com/android/settings/fuelgauge/BatteryHistoricalLogUtil.java b/src/com/android/settings/fuelgauge/BatteryOptimizeLogUtils.java
similarity index 89%
rename from src/com/android/settings/fuelgauge/BatteryHistoricalLogUtil.java
rename to src/com/android/settings/fuelgauge/BatteryOptimizeLogUtils.java
index f82b703..d093d35 100644
--- a/src/com/android/settings/fuelgauge/BatteryHistoricalLogUtil.java
+++ b/src/com/android/settings/fuelgauge/BatteryOptimizeLogUtils.java
@@ -20,23 +20,25 @@
 import android.content.SharedPreferences;
 import android.util.Base64;
 
+import androidx.annotation.VisibleForTesting;
+
 import com.android.settings.fuelgauge.BatteryOptimizeHistoricalLogEntry.Action;
 import com.android.settings.fuelgauge.batteryusage.ConvertUtils;
 
-import com.google.common.annotations.VisibleForTesting;
-
 import java.io.PrintWriter;
 import java.util.List;
 
 /** Writes and reads a historical log of battery related state change events. */
-public final class BatteryHistoricalLogUtil {
+public final class BatteryOptimizeLogUtils {
+    private static final String TAG = "BatteryOptimizeLogUtils";
     private static final String BATTERY_OPTIMIZE_FILE_NAME = "battery_optimize_historical_logs";
     private static final String LOGS_KEY = "battery_optimize_logs_key";
-    private static final String TAG = "BatteryHistoricalLogUtil";
 
     @VisibleForTesting
     static final int MAX_ENTRIES = 40;
 
+    private BatteryOptimizeLogUtils() {}
+
     /** Writes a log entry for battery optimization mode. */
     static void writeLog(
             Context context, Action action, String packageName, String actionDescription) {
@@ -67,7 +69,7 @@
         newLogBuilder.addLogEntry(logEntry);
 
         String loggingContent =
-            Base64.encodeToString(newLogBuilder.build().toByteArray(), Base64.DEFAULT);
+                Base64.encodeToString(newLogBuilder.build().toByteArray(), Base64.DEFAULT);
         sharedPreferences
                 .edit()
                 .putString(LOGS_KEY, loggingContent)
@@ -94,7 +96,7 @@
         if (logEntryList.isEmpty()) {
             writer.println("\tnothing to dump");
         } else {
-            writer.println("0:UNKNOWN 1:RESTRICTED  2:UNRESTRICTED 3:OPTIMIZED");
+            writer.println("0:UNKNOWN 1:RESTRICTED 2:UNRESTRICTED 3:OPTIMIZED");
             logEntryList.forEach(entry -> writer.println(toString(entry)));
         }
     }
@@ -113,6 +115,7 @@
 
     @VisibleForTesting
     static SharedPreferences getSharedPreferences(Context context) {
-        return context.getSharedPreferences(BATTERY_OPTIMIZE_FILE_NAME, Context.MODE_PRIVATE);
+        return context.getApplicationContext()
+                .getSharedPreferences(BATTERY_OPTIMIZE_FILE_NAME, Context.MODE_PRIVATE);
     }
 }
diff --git a/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java b/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java
index 589e1fd..124840e 100644
--- a/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java
+++ b/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java
@@ -245,7 +245,7 @@
             Context context, int appStandbyMode, boolean allowListed, int uid, String packageName,
             BatteryUtils batteryUtils, PowerAllowlistBackend powerAllowlistBackend,
             Action action) {
-        final String packageNameKey = BatteryHistoricalLogUtil
+        final String packageNameKey = BatteryOptimizeLogUtils
                 .getPackageNameWithUserId(packageName, UserHandle.myUserId());
         try {
             batteryUtils.setForceAppStandby(uid, packageName, appStandbyMode);
@@ -259,7 +259,7 @@
             appStandbyMode = -1;
             Log.e(TAG, "set OPTIMIZATION MODE failed for " + packageName, e);
         }
-        BatteryHistoricalLogUtil.writeLog(
+        BatteryOptimizeLogUtils.writeLog(
                 context,
                 action,
                 packageNameKey,
diff --git a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java
index f6efb24..260fde0 100644
--- a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java
+++ b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java
@@ -16,9 +16,14 @@
 
 package com.android.settings.fuelgauge;
 
-import android.content.ComponentName;
+import android.content.Context;
 
 /** Feature provider for battery settings usage. */
 public interface BatterySettingsFeatureProvider {
 
+    /** Returns true if manufacture date should be shown */
+    boolean isManufactureDateAvailable(Context context, long manufactureDateMs);
+
+    /** Returns true if first use date should be shown */
+    boolean isFirstUseDateAvailable(Context context, long firstUseDateMs);
 }
diff --git a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java
index 39fe118..6b456b7 100644
--- a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java
+++ b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java
@@ -21,9 +21,13 @@
 /** Feature provider implementation for battery settings usage. */
 public class BatterySettingsFeatureProviderImpl implements BatterySettingsFeatureProvider {
 
-    protected Context mContext;
+    @Override
+    public boolean isManufactureDateAvailable(Context context, long manufactureDateMs) {
+        return false;
+    }
 
-    public BatterySettingsFeatureProviderImpl(Context context) {
-        mContext = context.getApplicationContext();
+    @Override
+    public boolean isFirstUseDateAvailable(Context context, long firstUseDateMs) {
+        return false;
     }
 }
diff --git a/src/com/android/settings/fuelgauge/BatteryUtils.java b/src/com/android/settings/fuelgauge/BatteryUtils.java
index 12760b1..1f7e3ec 100644
--- a/src/com/android/settings/fuelgauge/BatteryUtils.java
+++ b/src/com/android/settings/fuelgauge/BatteryUtils.java
@@ -64,8 +64,10 @@
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
-import java.time.Duration;
 import java.time.Instant;
+import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
+import java.time.format.FormatStyle;
 import java.util.List;
 
 /**
@@ -353,7 +355,7 @@
     @SuppressWarnings("unchecked")
     public static <T extends MessageLite> T parseProtoFromString(
             String serializedProto, T protoClass) {
-        if (serializedProto.isEmpty()) {
+        if (serializedProto == null || serializedProto.isEmpty()) {
             return (T) protoClass.getDefaultInstanceForType();
         }
         try {
@@ -451,12 +453,10 @@
 
     @VisibleForTesting
     Estimate getEnhancedEstimate() {
-        Estimate estimate = null;
-        // Get enhanced prediction if available
-        if (Duration.between(Estimate.getLastCacheUpdateTime(mContext), Instant.now())
-                .compareTo(Duration.ofSeconds(10)) < 0) {
-            estimate = Estimate.getCachedEstimateIfAvailable(mContext);
-        } else if (mPowerUsageFeatureProvider != null &&
+        // Align the same logic in the BatteryControllerImpl.updateEstimate()
+        Estimate estimate = Estimate.getCachedEstimateIfAvailable(mContext);
+        if (estimate == null &&
+                mPowerUsageFeatureProvider != null &&
                 mPowerUsageFeatureProvider.isEnhancedBatteryPredictionEnabled(mContext)) {
             estimate = mPowerUsageFeatureProvider.getEnhancedBatteryPrediction(mContext);
             if (estimate != null) {
@@ -673,6 +673,14 @@
         }
         return summary.toString();
     }
+    /** Format the date of battery related info */
+    public static CharSequence getBatteryInfoFormattedDate(long dateInMs) {
+        final Instant instant = Instant.ofEpochMilli(dateInMs);
+        final String localDate = instant.atZone(ZoneId.systemDefault()).toLocalDate().format(
+                DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG));
+
+        return localDate;
+    }
 
     /** Builds the battery usage time information for one timestamp. */
     private static String buildBatteryUsageTimeInfo(final Context context, long timeInMs,
diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
index 0b0e243..d345be9 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
@@ -18,6 +18,7 @@
 
 import android.content.Context;
 import android.content.Intent;
+import android.os.Bundle;
 import android.util.ArrayMap;
 import android.util.SparseIntArray;
 
@@ -129,6 +130,16 @@
     boolean delayHourlyJobWhenBooting();
 
     /**
+     * Insert settings configuration data for anomaly detection
+     */
+    void insertSettingsData(Context context, double displayDrain);
+
+    /**
+     * Returns {@link Bundle} for settings anomaly detection result
+     */
+    Bundle detectSettingsAnomaly(Context context, double displayDrain);
+
+    /**
      * Gets an intent for one time bypass charge limited to resume charging.
      */
     Intent getResumeChargeIntent(boolean isDockDefender);
diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
index 1d0ba18..e4c6fd9d 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
@@ -21,6 +21,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
+import android.os.Bundle;
 import android.os.Process;
 import android.util.ArrayMap;
 import android.util.ArraySet;
@@ -161,6 +162,14 @@
     }
 
     @Override
+    public void insertSettingsData(Context context, double displayDrain) {}
+
+    @Override
+    public Bundle detectSettingsAnomaly(Context context, double displayDrain) {
+        return null;
+    }
+
+    @Override
     public Set<Integer> getOthersSystemComponentSet() {
         return new ArraySet<>();
     }
diff --git a/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java b/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java
index 254cf04..e08f4ba 100644
--- a/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java
@@ -18,6 +18,7 @@
 
 import android.content.ComponentName;
 import android.content.Context;
+import android.os.BatteryManager;
 import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
@@ -139,7 +140,10 @@
         if (Utils.containsIncompatibleChargers(mContext, TAG)) {
             return mContext.getString(R.string.battery_info_status_not_charging);
         }
-        if (!info.discharging && info.chargeLabel != null) {
+        if (info.batteryStatus == BatteryManager.BATTERY_STATUS_NOT_CHARGING) {
+            // Present status only if no remaining time or status anomalous
+            return info.statusLabel;
+        } else if (!info.discharging && info.chargeLabel != null) {
             return info.chargeLabel;
         } else if (info.remainingLabel == null) {
             return info.batteryPercentString;
diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java
index 8aabc37..fdafca6 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java
@@ -20,9 +20,8 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.util.SparseIntArray;
-import android.view.View;
 
-import androidx.annotation.IdRes;
+import androidx.annotation.DrawableRes;
 import androidx.annotation.IntDef;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
@@ -134,7 +133,8 @@
 
     public abstract CharSequence getSummary(Context context);
 
-    @IdRes
+    /** Gets the drawable resource id for the icon. */
+    @DrawableRes
     public abstract int getIconId();
 
     /**
@@ -162,21 +162,12 @@
         preference.setTitle(getTitle(context));
         preference.setSummary(getSummary(context));
         preference.setIcon(getIconId());
-        @IdRes int iconTintColorId = getIconTintColorId();
-        if (iconTintColorId != View.NO_ID) {
-            preference.getIcon().setTint(context.getColor(iconTintColorId));
-        }
         final CardPreference cardPreference = castToCardPreferenceSafely(preference);
         if (cardPreference != null) {
             cardPreference.resetLayoutState();
         }
     }
 
-    /** Returns the color resid for tinting {@link #getIconId()} or {@link View#NO_ID} if none. */
-    public @IdRes int getIconTintColorId() {
-        return View.NO_ID;
-    }
-
     public boolean shouldShowDialog() {
         return mShowDialog;
     }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartView.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartView.java
index 445a5d1..891e5e0 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartView.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartView.java
@@ -18,6 +18,7 @@
 import static com.android.settings.Utils.formatPercentage;
 import static com.android.settings.fuelgauge.batteryusage.BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS;
 
+import static java.lang.Math.abs;
 import static java.lang.Math.round;
 import static java.util.Objects.requireNonNull;
 
@@ -61,6 +62,7 @@
     private static final String TAG = "BatteryChartView";
 
     private static final int DIVIDER_COLOR = Color.parseColor("#CDCCC5");
+    private static final int HORIZONTAL_DIVIDER_COUNT = 5;
 
     /** A callback listener for selected group index is updated. */
     public interface OnSelectListener {
@@ -73,6 +75,8 @@
     private final Rect[] mPercentageBounds = new Rect[]{new Rect(), new Rect(), new Rect()};
     private final List<Rect> mAxisLabelsBounds = new ArrayList<>();
     private final Set<Integer> mLabelDrawnIndexes = new ArraySet<>();
+    private final int mLayoutDirection =
+            getContext().getResources().getConfiguration().getLayoutDirection();
 
     private BatteryChartViewModel mViewModel;
     private int mHoveredIndex = BatteryChartViewModel.SELECTED_INDEX_INVALID;
@@ -158,7 +162,12 @@
             }
             // Updates the indent configurations.
             mIndent.top = mPercentageBounds[0].height();
-            mIndent.right = mPercentageBounds[0].width() + mTextPadding;
+            final int textWidth = mPercentageBounds[0].width() + mTextPadding;
+            if (isRTL()) {
+                mIndent.left = textWidth;
+            } else {
+                mIndent.right = textWidth;
+            }
 
             if (mViewModel != null) {
                 int maxTop = 0;
@@ -333,25 +342,27 @@
     }
 
     private void drawHorizontalDividers(Canvas canvas) {
-        final int width = getWidth() - mIndent.right;
+        final int width = getWidth() - abs(mIndent.width());
         final int height = getHeight() - mIndent.top - mIndent.bottom;
-        // Draws the top divider line for 100% curve.
-        float offsetY = mIndent.top + mDividerWidth * .5f;
+        final float topOffsetY = mIndent.top + mDividerWidth * .5f;
+        final float bottomOffsetY = mIndent.top + (height - mDividerHeight - mDividerWidth * .5f);
+        final float availableSpace = bottomOffsetY - topOffsetY;
+
         mDividerPaint.setColor(DIVIDER_COLOR);
-        canvas.drawLine(0, offsetY, width, offsetY, mDividerPaint);
-        drawPercentage(canvas, /*index=*/ 0, offsetY);
+        final float dividerOffsetUnit =
+                availableSpace / (float) (HORIZONTAL_DIVIDER_COUNT - 1);
 
-        // Draws the center divider line for 50% curve.
-        final float availableSpace =
-                height - mDividerWidth * 2 - mTrapezoidVOffset - mDividerHeight;
-        offsetY = mIndent.top + mDividerWidth + availableSpace * .5f;
-        canvas.drawLine(0, offsetY, width, offsetY, mDividerPaint);
-        drawPercentage(canvas, /*index=*/ 1, offsetY);
+        // Draws 5 divider lines.
+        for (int index = 0; index < HORIZONTAL_DIVIDER_COUNT; index++) {
+            float offsetY = topOffsetY + dividerOffsetUnit * index;
+            canvas.drawLine(mIndent.left, offsetY,
+                    mIndent.left + width, offsetY, mDividerPaint);
 
-        // Draws the bottom divider line for 0% curve.
-        offsetY = mIndent.top + (height - mDividerHeight - mDividerWidth * .5f);
-        canvas.drawLine(0, offsetY, width, offsetY, mDividerPaint);
-        drawPercentage(canvas, /*index=*/ 2, offsetY);
+            //  Draws percentage text only for 100% / 50% / 0%
+            if (index % 2 == 0) {
+                drawPercentage(canvas, /*index=*/ (index + 1) / 2, offsetY);
+            }
+        }
     }
 
     private void drawPercentage(Canvas canvas, int index, float offsetY) {
@@ -360,14 +371,14 @@
             mTextPaint.setColor(mDefaultTextColor);
             canvas.drawText(
                     mPercentages[index],
-                    getWidth(),
+                    isRTL() ? mIndent.left - mTextPadding : getWidth(),
                     offsetY + mPercentageBounds[index].height() * .5f,
                     mTextPaint);
         }
     }
 
     private void drawVerticalDividers(Canvas canvas) {
-        final int width = getWidth() - mIndent.right;
+        final int width = getWidth() - abs(mIndent.width());
         final int dividerCount = mTrapezoidSlots.length + 1;
         final float dividerSpace = dividerCount * mDividerWidth;
         final float unitWidth = (width - dividerSpace) / (float) mTrapezoidSlots.length;
@@ -382,7 +393,7 @@
                 case CENTER_OF_TRAPEZOIDS:
                     axisLabelDisplayAreas = getAxisLabelDisplayAreas(
                             /* size= */ mViewModel.size() - 1,
-                            /* baselineX= */ mDividerWidth + unitWidth * .5f,
+                            /* baselineX= */ mIndent.left + mDividerWidth + unitWidth * .5f,
                             /* offsetX= */ mDividerWidth + unitWidth,
                             baselineY,
                             /* shiftFirstAndLast= */ false);
@@ -391,7 +402,7 @@
                 default:
                     axisLabelDisplayAreas = getAxisLabelDisplayAreas(
                             /* size= */ mViewModel.size(),
-                            /* baselineX= */ mDividerWidth * .5f,
+                            /* baselineX= */ mIndent.left + mDividerWidth * .5f,
                             /* offsetX= */ mDividerWidth + unitWidth,
                             baselineY,
                             /* shiftFirstAndLast= */ true);
@@ -400,7 +411,7 @@
             drawAxisLabels(canvas, axisLabelDisplayAreas, baselineY);
         }
         // Draws each vertical dividers.
-        float startX = mDividerWidth * .5f;
+        float startX = mDividerWidth * .5f + mIndent.left;
         for (int index = 0; index < dividerCount; index++) {
             float dividerY = bottomY;
             if (mViewModel.axisLabelPosition() == BETWEEN_TRAPEZOIDS
@@ -414,8 +425,9 @@
             final float nextX = startX + mDividerWidth + unitWidth;
             // Updates the trapezoid slots for drawing.
             if (index < mTrapezoidSlots.length) {
-                mTrapezoidSlots[index].mLeft = round(startX + trapezoidSlotOffset);
-                mTrapezoidSlots[index].mRight = round(nextX - trapezoidSlotOffset);
+                final int trapezoidIndex = isRTL() ? mTrapezoidSlots.length - index - 1 : index;
+                mTrapezoidSlots[trapezoidIndex].mLeft = round(startX + trapezoidSlotOffset);
+                mTrapezoidSlots[trapezoidIndex].mRight = round(nextX - trapezoidSlotOffset);
             }
             startX = nextX;
         }
@@ -507,10 +519,20 @@
         return displayAreas[leftIndex].right + mTextPadding * 2.3f > displayAreas[rightIndex].left;
     }
 
+    private boolean isRTL() {
+        return mLayoutDirection == View.LAYOUT_DIRECTION_RTL;
+    }
+
     private void drawAxisLabelText(
-            Canvas canvas, final int index, final Rect displayArea, final float baselineY) {
+            Canvas canvas, int index, final Rect displayArea, final float baselineY) {
         mTextPaint.setColor(mTrapezoidSolidColor);
         mTextPaint.setTextAlign(Paint.Align.CENTER);
+        // Reverse the sort of axis labels for RTL
+        if (isRTL()) {
+            index = mViewModel.axisLabelPosition() == BETWEEN_TRAPEZOIDS
+                            ? mViewModel.size() - index - 1     // for hourly
+                            : mViewModel.size() - index - 2;    // for daily
+        }
         canvas.drawText(
                 mViewModel.getText(index),
                 displayArea.centerX(),
@@ -546,10 +568,16 @@
                     mHoveredIndex);
             mTrapezoidPaint.setColor(isHoverState ? mTrapezoidHoverColor : trapezoidColor);
 
-            final float leftTop = round(
+            float leftTop = round(
                     trapezoidBottom - requireNonNull(mViewModel.getLevel(index)) * unitHeight);
-            final float rightTop = round(trapezoidBottom
+            float rightTop = round(trapezoidBottom
                     - requireNonNull(mViewModel.getLevel(index + 1)) * unitHeight);
+            // Mirror the shape of the trapezoid for RTL
+            if (isRTL()) {
+                float temp = leftTop;
+                leftTop = rightTop;
+                rightTop = temp;
+            }
             trapezoidPath.reset();
             trapezoidPath.moveTo(mTrapezoidSlots[index].mLeft, trapezoidBottom);
             trapezoidPath.lineTo(mTrapezoidSlots[index].mLeft, leftTop);
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
index 7f86b7c..86538ee 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
@@ -252,33 +252,6 @@
         return mPowerComponentId;
     }
 
-    void getQuickNameIconForUid(
-            final int uid, final String[] packages, final boolean loadDataInBackground) {
-        // Locale sync to system config in Settings
-        final Locale locale = Locale.getDefault();
-        if (sCurrentLocale != locale) {
-            clearUidCache();
-            sCurrentLocale = locale;
-        }
-
-        final String uidString = Integer.toString(uid);
-        if (sUidCache.containsKey(uidString)) {
-            UidToDetail utd = sUidCache.get(uidString);
-            mDefaultPackageName = utd.mPackageName;
-            mName = utd.mName;
-            mIcon = utd.mIcon;
-            return;
-        }
-
-        if (packages == null || packages.length == 0) {
-            final NameAndIcon nameAndIcon = getNameAndIconFromUid(mContext, mName, uid);
-            mIcon = nameAndIcon.mIcon;
-            mName = nameAndIcon.mName;
-        } else {
-            mIcon = mContext.getPackageManager().getDefaultActivityIcon();
-        }
-    }
-
     /** Loads the app label and icon image and stores into the cache. */
     public static NameAndIcon loadNameAndIcon(
             Context context,
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoader.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoader.java
index fb1be3e..ae86095 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoader.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoader.java
@@ -23,6 +23,9 @@
 
 import androidx.annotation.VisibleForTesting;
 
+import com.android.settings.fuelgauge.BatteryUsageHistoricalLogEntry.Action;
+import com.android.settings.fuelgauge.batteryusage.bugreport.BatteryUsageLogUtils;
+
 import java.util.List;
 import java.util.function.Supplier;
 
@@ -46,6 +49,7 @@
 
     @VisibleForTesting
     static void loadUsageData(final Context context, final boolean isFullChargeStart) {
+        BatteryUsageLogUtils.writeLog(context, Action.FETCH_USAGE_DATA, "");
         final long start = System.currentTimeMillis();
         final BatteryUsageStats batteryUsageStats = DataProcessor.getBatteryUsageStats(context);
         final List<BatteryEntry> batteryEntryList =
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiver.java b/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiver.java
index 64b5b77..920670f 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiver.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiver.java
@@ -24,6 +24,8 @@
 import android.util.Log;
 
 import com.android.settings.core.instrumentation.ElapsedTimeUtils;
+import com.android.settings.fuelgauge.BatteryUsageHistoricalLogEntry.Action;
+import com.android.settings.fuelgauge.batteryusage.bugreport.BatteryUsageLogUtils;
 import com.android.settings.overlay.FeatureFactory;
 
 import java.time.Duration;
@@ -79,8 +81,9 @@
         if (Intent.ACTION_BOOT_COMPLETED.equals(action)) {
             final Intent recheckIntent = new Intent(ACTION_PERIODIC_JOB_RECHECK);
             recheckIntent.setClass(context, BootBroadcastReceiver.class);
-            mHandler.postDelayed(() -> context.sendBroadcast(recheckIntent),
-                    getRescheduleTimeForBootAction(context));
+            final long delayedTime = getRescheduleTimeForBootAction(context);
+            mHandler.postDelayed(() -> context.sendBroadcast(recheckIntent), delayedTime);
+            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/DatabaseUtils.java b/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java
index 0435e45..8d1a2f9 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java
@@ -34,7 +34,9 @@
 
 import androidx.annotation.VisibleForTesting;
 
+import com.android.settings.fuelgauge.BatteryUsageHistoricalLogEntry.Action;
 import com.android.settings.fuelgauge.BatteryUtils;
+import com.android.settings.fuelgauge.batteryusage.bugreport.BatteryUsageLogUtils;
 import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDatabase;
 import com.android.settingslib.fuelgauge.BatteryStatus;
 
@@ -395,6 +397,7 @@
 
         int size = 1;
         final ContentResolver resolver = context.getContentResolver();
+        String errorMessage = "";
         // Inserts all ContentValues into battery provider.
         if (!valuesList.isEmpty()) {
             final ContentValues[] valuesArray = new ContentValues[valuesList.size()];
@@ -404,7 +407,8 @@
                 Log.d(TAG, "insert() battery states data into database with isFullChargeStart:"
                         + isFullChargeStart);
             } catch (Exception e) {
-                Log.e(TAG, "bulkInsert() battery states data into database error:\n" + e);
+                errorMessage = e.toString();
+                Log.e(TAG, "bulkInsert() data into database error:\n" + errorMessage);
             }
         } else {
             // Inserts one fake data into battery provider.
@@ -424,11 +428,16 @@
                         + isFullChargeStart);
 
             } catch (Exception e) {
-                Log.e(TAG, "insert() data into database error:\n" + e);
+                errorMessage = e.toString();
+                Log.e(TAG, "insert() data into database error:\n" + errorMessage);
             }
             valuesList.add(contentValues);
         }
         resolver.notifyChange(BATTERY_CONTENT_URI, /*observer=*/ null);
+        BatteryUsageLogUtils.writeLog(
+                context,
+                Action.INSERT_USAGE_DATA,
+                "size=" + size + " " + errorMessage);
         Log.d(TAG, String.format("sendBatteryEntryData() size=%d in %d/ms",
                 size, (System.currentTimeMillis() - startTime)));
         if (isFullChargeStart) {
diff --git a/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobManager.java b/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobManager.java
index 3d78c00..8c0e66c 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobManager.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobManager.java
@@ -24,6 +24,8 @@
 
 import androidx.annotation.VisibleForTesting;
 
+import com.android.settings.fuelgauge.BatteryUsageHistoricalLogEntry.Action;
+import com.android.settings.fuelgauge.batteryusage.bugreport.BatteryUsageLogUtils;
 import com.android.settings.overlay.FeatureFactory;
 
 import java.time.Clock;
@@ -76,8 +78,11 @@
         final long triggerAtMillis = getTriggerAtMillis(mContext, Clock.systemUTC(), fromBoot);
         mAlarmManager.setExactAndAllowWhileIdle(
                 AlarmManager.RTC_WAKEUP, triggerAtMillis, pendingIntent);
-        Log.d(TAG, "schedule next alarm job at "
-                + ConvertUtils.utcToLocalTimeForLogging(triggerAtMillis));
+
+        final String utcToLocalTime = ConvertUtils.utcToLocalTimeForLogging(triggerAtMillis);
+        BatteryUsageLogUtils.writeLog(
+                mContext, Action.SCHEDULE_JOB, "triggerTime=" + utcToLocalTime);
+        Log.d(TAG, "schedule next alarm job at " + utcToLocalTime);
     }
 
     void cancelJob(PendingIntent pendingIntent) {
diff --git a/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiver.java b/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiver.java
index 3ca4532..2bd0466 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiver.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiver.java
@@ -22,6 +22,9 @@
 import android.content.Intent;
 import android.util.Log;
 
+import com.android.settings.fuelgauge.BatteryUsageHistoricalLogEntry.Action;
+import com.android.settings.fuelgauge.batteryusage.bugreport.BatteryUsageLogUtils;
+
 /** Receives the periodic alarm {@link PendingIntent} callback. */
 public final class PeriodicJobReceiver extends BroadcastReceiver {
     private static final String TAG = "PeriodicJobReceiver";
@@ -39,6 +42,7 @@
             Log.w(TAG, "do not refresh job for work profile action=" + action);
             return;
         }
+        BatteryUsageLogUtils.writeLog(context, Action.EXECUTE_JOB, "");
         BatteryUsageDataLoader.enqueueWork(context, /*isFullChargeStart=*/ false);
         AppUsageDataLoader.enqueueWork(context);
         Log.d(TAG, "refresh periodic job from action=" + action);
diff --git a/src/com/android/settings/fuelgauge/batteryusage/bugreport/BatteryUsageLogUtils.java b/src/com/android/settings/fuelgauge/batteryusage/bugreport/BatteryUsageLogUtils.java
new file mode 100644
index 0000000..cb2f394
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/batteryusage/bugreport/BatteryUsageLogUtils.java
@@ -0,0 +1,104 @@
+/*
+ * 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.bugreport;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.util.Base64;
+
+import com.android.settings.fuelgauge.BatteryUsageHistoricalLog;
+import com.android.settings.fuelgauge.BatteryUsageHistoricalLogEntry;
+import com.android.settings.fuelgauge.BatteryUsageHistoricalLogEntry.Action;
+import com.android.settings.fuelgauge.BatteryUtils;
+import com.android.settings.fuelgauge.batteryusage.ConvertUtils;
+import com.google.common.annotations.VisibleForTesting;
+
+import java.io.PrintWriter;
+import java.util.List;
+
+/** Writes and reads a historical log of battery usage periodic job events. */
+public final class BatteryUsageLogUtils {
+    private static final String TAG = "BatteryUsageLogUtils";
+    private static final String BATTERY_USAGE_FILE_NAME = "battery_usage_historical_logs";
+    private static final String LOGS_KEY = "battery_usage_logs_key";
+
+    // 24 hours x 4 events every hour x 3 days
+    static final int MAX_ENTRIES = 288;
+
+    private BatteryUsageLogUtils() {}
+
+    /** Write the log into the {@link SharedPreferences}. */
+    public static void writeLog(Context context, Action action, String actionDescription) {
+        final SharedPreferences sharedPreferences = getSharedPreferences(context);
+        final BatteryUsageHistoricalLogEntry newLogEntry =
+                BatteryUsageHistoricalLogEntry.newBuilder()
+                        .setTimestamp(System.currentTimeMillis())
+                        .setAction(action)
+                        .setActionDescription(actionDescription)
+                        .build();
+
+        final BatteryUsageHistoricalLog existingLog =
+                parseLogFromString(sharedPreferences.getString(LOGS_KEY, ""));
+        final BatteryUsageHistoricalLog.Builder newLogBuilder = existingLog.toBuilder();
+        // Prune old entries to limit the max logging data count.
+        if (existingLog.getLogEntryCount() >= MAX_ENTRIES) {
+            newLogBuilder.removeLogEntry(0);
+        }
+        newLogBuilder.addLogEntry(newLogEntry);
+
+        final String loggingContent =
+                Base64.encodeToString(newLogBuilder.build().toByteArray(), Base64.DEFAULT);
+        sharedPreferences
+                .edit()
+                .putString(LOGS_KEY, loggingContent)
+                .apply();
+    }
+
+    /** Prints the historical log that has previously been stored by this utility. */
+    public static void printHistoricalLog(Context context, PrintWriter writer) {
+        final BatteryUsageHistoricalLog existingLog = parseLogFromString(
+                getSharedPreferences(context).getString(LOGS_KEY, ""));
+        final List<BatteryUsageHistoricalLogEntry> logEntryList = existingLog.getLogEntryList();
+        if (logEntryList.isEmpty()) {
+            writer.println("\tnothing to dump");
+        } else {
+            logEntryList.forEach(entry -> writer.println(toString(entry)));
+        }
+    }
+
+    @VisibleForTesting
+    static SharedPreferences getSharedPreferences(Context context) {
+        return context.getApplicationContext()
+                .getSharedPreferences(BATTERY_USAGE_FILE_NAME, Context.MODE_PRIVATE);
+    }
+
+    private static BatteryUsageHistoricalLog parseLogFromString(String storedLogs) {
+        return BatteryUtils.parseProtoFromString(
+                storedLogs, BatteryUsageHistoricalLog.getDefaultInstance());
+    }
+
+    private static String toString(BatteryUsageHistoricalLogEntry entry) {
+        final StringBuilder builder = new StringBuilder("\t")
+                .append(ConvertUtils.utcToLocalTimeForLogging(entry.getTimestamp()))
+                .append(" " + entry.getAction());
+        final String description = entry.getActionDescription();
+        if (description != null && !description.isEmpty()) {
+            builder.append(" " + description);
+        }
+        return builder.toString();
+    }
+}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtils.java b/src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtils.java
index 9be378b..6d5082c 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtils.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtils.java
@@ -39,6 +39,12 @@
     private static final Duration DUMP_TIME_OFFSET_FOR_ENTRY = Duration.ofHours(4);
 
     static void dumpBatteryUsageDatabaseHist(Context context, PrintWriter writer) {
+        // Dumps periodic job events.
+        writer.println("\nBattery PeriodicJob History:");
+        BatteryUsageLogUtils.printHistoricalLog(context, writer);
+        writer.flush();
+
+        // Dumps phenotype environments.
         DatabaseUtils.dump(context, writer);
         writer.flush();
         final BatteryStateDao dao =
@@ -47,6 +53,7 @@
                         .batteryStateDao();
         final long timeOffset =
                 Clock.systemUTC().millis() - DUMP_TIME_OFFSET.toMillis();
+
         // Gets all distinct timestamps.
         final List<Long> timestamps = dao.getDistinctTimestamps(timeOffset);
         final int distinctCount = timestamps.size();
diff --git a/src/com/android/settings/fuelgauge/protos/Android.bp b/src/com/android/settings/fuelgauge/protos/Android.bp
index 3af2aef..1f3cdd9 100644
--- a/src/com/android/settings/fuelgauge/protos/Android.bp
+++ b/src/com/android/settings/fuelgauge/protos/Android.bp
@@ -30,3 +30,11 @@
     },
     srcs: ["fuelgauge_usage_state.proto"],
 }
+
+java_library {
+    name: "power-anomaly-event-protos-lite",
+    proto: {
+        type: "lite",
+    },
+    srcs: ["power_anomaly_event.proto"],
+}
diff --git a/src/com/android/settings/fuelgauge/protos/power_anomaly_event.proto b/src/com/android/settings/fuelgauge/protos/power_anomaly_event.proto
new file mode 100644
index 0000000..b4277c4
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/protos/power_anomaly_event.proto
@@ -0,0 +1,37 @@
+syntax = "proto2";
+
+option java_multiple_files = true;
+option java_package = "com.android.settings.fuelgauge.batteryusage";
+option java_outer_classname = "PowerAnomalyEventProto";
+
+message PowerAnomalyEvent {
+  optional int64 timestamp = 1;
+  optional string type = 2;  // e.g. settings, apps
+  optional string key = 3;  // e.g. brightness, significant_increase
+  optional float score = 4;
+  oneof info {
+    WarningBannerInfo warning_banner_info = 5;
+    WarningItemInfo warning_item_info = 6;
+  }
+}
+
+message WarningBannerInfo {
+  optional string title_string = 1;
+  optional string description_string = 2;
+  optional string main_button_string = 3;
+  optional string main_button_action = 4;
+  optional string cancel_button_string = 5;
+  optional string cancel_button_action = 6;
+}
+
+message WarningItemInfo {
+  optional int64 start_timestamp = 1;
+  optional int64 end_timestamp = 2;
+  optional string top_card_string = 3;
+  optional string title_string = 4;
+  optional string description_string = 5;
+  optional string main_button_string = 6;
+  optional string main_button_action = 7;
+  optional string cancel_button_string = 8;
+  optional string cancel_button_action = 9;
+}
diff --git a/src/com/android/settings/inputmethod/KeyboardSettingsFeatureProvider.java b/src/com/android/settings/inputmethod/KeyboardSettingsFeatureProvider.java
new file mode 100644
index 0000000..7255107
--- /dev/null
+++ b/src/com/android/settings/inputmethod/KeyboardSettingsFeatureProvider.java
@@ -0,0 +1,56 @@
+/*
+ * 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.inputmethod;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+
+import androidx.annotation.Nullable;
+import androidx.preference.PreferenceScreen;
+
+/**
+ * Provider for Keyboard settings related features.
+ */
+public interface KeyboardSettingsFeatureProvider {
+
+    /**
+     * Checks whether the connected device supports firmware update.
+     *
+     * @return true if the connected device supports firmware update.
+     */
+    boolean supportsFirmwareUpdate();
+
+    /**
+     * Add firmware update preference category .
+     *
+     * @param context The context to initialize the application with.
+     * @param screen  The {@link PreferenceScreen} to add the firmware update preference category.
+     *
+     * @return true if the category is added successfully.
+     */
+    boolean addFirmwareUpdateCategory(Context context, PreferenceScreen screen);
+
+    /**
+     * Get custom action key icon.
+     *
+     * @param context Context for accessing resources.
+     *
+     * @return Returns the image of the icon, or null if there is no any custom icon.
+     */
+    @Nullable
+    Drawable getActionKeyIcon(Context context);
+}
diff --git a/src/com/android/settings/inputmethod/KeyboardSettingsFeatureProviderImpl.java b/src/com/android/settings/inputmethod/KeyboardSettingsFeatureProviderImpl.java
new file mode 100644
index 0000000..26b10e5
--- /dev/null
+++ b/src/com/android/settings/inputmethod/KeyboardSettingsFeatureProviderImpl.java
@@ -0,0 +1,43 @@
+/*
+ * 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.inputmethod;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+
+import androidx.preference.PreferenceScreen;
+
+/**
+ * Provider implementation for keyboard settings related features.
+ */
+public class KeyboardSettingsFeatureProviderImpl implements KeyboardSettingsFeatureProvider {
+
+    @Override
+    public boolean supportsFirmwareUpdate() {
+        return false;
+    }
+
+    @Override
+    public boolean addFirmwareUpdateCategory(Context context, PreferenceScreen screen) {
+        return false;
+    }
+
+    @Override
+    public Drawable getActionKeyIcon(Context context) {
+        return null;
+    };
+}
diff --git a/src/com/android/settings/inputmethod/KeyboardSettingsPreferenceController.java b/src/com/android/settings/inputmethod/KeyboardSettingsPreferenceController.java
index 03461af..ae6a24a 100644
--- a/src/com/android/settings/inputmethod/KeyboardSettingsPreferenceController.java
+++ b/src/com/android/settings/inputmethod/KeyboardSettingsPreferenceController.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
 import android.provider.Settings;
@@ -53,8 +54,7 @@
             if (mCachedDevice.getAddress().equals(hardKeyboardDeviceInfo.mBluetoothAddress)) {
                 Intent intent = new Intent(Settings.ACTION_HARD_KEYBOARD_SETTINGS);
                 intent.putExtra(
-                        NewKeyboardSettingsUtils.EXTRA_INTENT_FROM,
-                        "com.android.settings.inputmethod.KeyboardSettingsPreferenceController");
+                        Settings.EXTRA_ENTRYPOINT, SettingsEnums.CONNECTED_DEVICES_SETTINGS);
                 intent.putExtra(
                         Settings.EXTRA_INPUT_DEVICE_IDENTIFIER,
                         hardKeyboardDeviceInfo.mDeviceIdentifier);
diff --git a/src/com/android/settings/inputmethod/ModifierKeysPickerDialogFragment.java b/src/com/android/settings/inputmethod/ModifierKeysPickerDialogFragment.java
index 949e656..28ead89 100644
--- a/src/com/android/settings/inputmethod/ModifierKeysPickerDialogFragment.java
+++ b/src/com/android/settings/inputmethod/ModifierKeysPickerDialogFragment.java
@@ -21,7 +21,9 @@
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
+import android.app.settings.SettingsEnums;
 import android.content.Context;
+import android.graphics.drawable.Drawable;
 import android.hardware.input.InputManager;
 import android.os.Bundle;
 import android.text.Spannable;
@@ -39,11 +41,14 @@
 import android.widget.ListView;
 import android.widget.TextView;
 
+import androidx.core.graphics.drawable.DrawableCompat;
 import androidx.fragment.app.DialogFragment;
 import androidx.preference.Preference;
 
 import com.android.settings.R;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.Utils;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -60,6 +65,12 @@
     private String mKeyDefaultName;
     private String mKeyFocus;
     private Activity mActivity;
+    private KeyboardSettingsFeatureProvider mFeatureProvider;
+    private Drawable mActionKeyDrawable;
+    private TextView mLeftBracket;
+    private TextView mRightBracket;
+    private ImageView mActionKeyIcon;
+    private MetricsFeatureProvider mMetricsFeatureProvider;
 
     private List<int[]> mRemappableKeyList =
             new ArrayList<>(Arrays.asList(
@@ -83,6 +94,9 @@
         super.onCreateDialog(savedInstanceState);
 
         mActivity = getActivity();
+        mMetricsFeatureProvider = FeatureFactory.getFactory(mActivity).getMetricsFeatureProvider();
+        FeatureFactory featureFactory = FeatureFactory.getFactory(mActivity);
+        mFeatureProvider = featureFactory.getKeyboardSettingsFeatureProvider();
         InputManager inputManager = mActivity.getSystemService(InputManager.class);
         mKeyDefaultName = getArguments().getString(DEFAULT_KEY);
         mKeyFocus = getArguments().getString(SELECTION_KEY);
@@ -97,6 +111,10 @@
         for (int i = 0; i < modifierKeys.size(); i++) {
             mRemappableKeyMap.put(modifierKeys.get(i), mRemappableKeyList.get(i));
         }
+        Drawable drawable = mFeatureProvider.getActionKeyIcon(mActivity);
+        if (drawable != null) {
+            mActionKeyDrawable = DrawableCompat.wrap(drawable);
+        }
 
         View dialoglayout  =
                 LayoutInflater.from(mActivity).inflate(R.layout.modifier_key_picker_dialog, null);
@@ -125,6 +143,7 @@
         doneButton.setOnClickListener(v -> {
             String selectedItem = modifierKeys.get(adapter.getCurrentItem());
             Spannable itemSummary;
+            logMetricsForRemapping(selectedItem);
             if (selectedItem.equals(mKeyDefaultName)) {
                 itemSummary = new SpannableString(
                         mActivity.getString(R.string.modifier_keys_default_summary));
@@ -175,6 +194,28 @@
         return modifierKeyDialog;
     }
 
+    private void logMetricsForRemapping(String selectedItem) {
+        if (mKeyDefaultName.equals("Caps lock")) {
+            mMetricsFeatureProvider.action(
+                    mActivity, SettingsEnums.ACTION_FROM_CAPS_LOCK_TO, selectedItem);
+        }
+
+        if (mKeyDefaultName.equals("Ctrl")) {
+            mMetricsFeatureProvider.action(
+                    mActivity, SettingsEnums.ACTION_FROM_CTRL_TO, selectedItem);
+        }
+
+        if (mKeyDefaultName.equals("Action key")) {
+            mMetricsFeatureProvider.action(
+                    mActivity, SettingsEnums.ACTION_FROM_ACTION_KEY_TO, selectedItem);
+        }
+
+        if (mKeyDefaultName.equals("Alt")) {
+            mMetricsFeatureProvider.action(
+                    mActivity, SettingsEnums.ACTION_FROM_ALT_TO, selectedItem);
+        }
+    }
+
     private void setInitialFocusItem(
             List<String> modifierKeys, ModifierKeyAdapter adapter) {
         if (modifierKeys.indexOf(mKeyFocus) == -1) {
@@ -226,10 +267,18 @@
                 checkIcon.setImageAlpha(255);
                 view.setBackground(
                         mActivity.getDrawable(R.drawable.modifier_key_lisetview_background));
+                if (mActionKeyDrawable != null && i == 2) {
+                    setActionKeyIcon(view);
+                    setActionKeyColor(getColorOfMaterialColorPrimary());
+                }
             } else {
                 textView.setTextColor(getColorOfTextColorPrimary());
                 checkIcon.setImageAlpha(0);
                 view.setBackground(null);
+                if (mActionKeyDrawable != null && i == 2) {
+                    setActionKeyIcon(view);
+                    setActionKeyColor(getColorOfTextColorPrimary());
+                }
             }
             return view;
         }
@@ -243,6 +292,21 @@
         }
     }
 
+    private void setActionKeyIcon(View view) {
+        mLeftBracket = view.findViewById(R.id.modifier_key_left_bracket);
+        mRightBracket = view.findViewById(R.id.modifier_key_right_bracket);
+        mActionKeyIcon = view.findViewById(R.id.modifier_key_action_key_icon);
+        mLeftBracket.setText("(");
+        mRightBracket.setText(")");
+        mActionKeyIcon.setImageDrawable(mActionKeyDrawable);
+    }
+
+    private void setActionKeyColor(int color) {
+        mLeftBracket.setTextColor(color);
+        mRightBracket.setTextColor(color);
+        DrawableCompat.setTint(mActionKeyDrawable, color);
+    }
+
     private int getColorOfTextColorPrimary() {
         return Utils.getColorAttrDefaultColor(mActivity, android.R.attr.textColorPrimary);
     }
diff --git a/src/com/android/settings/inputmethod/ModifierKeysPreferenceController.java b/src/com/android/settings/inputmethod/ModifierKeysPreferenceController.java
index 5d8149a..77def48 100644
--- a/src/com/android/settings/inputmethod/ModifierKeysPreferenceController.java
+++ b/src/com/android/settings/inputmethod/ModifierKeysPreferenceController.java
@@ -17,12 +17,16 @@
 package com.android.settings.inputmethod;
 
 import android.content.Context;
+import android.graphics.drawable.Drawable;
 import android.hardware.input.InputManager;
 import android.os.Bundle;
 import android.text.Spannable;
 import android.text.SpannableString;
 import android.text.style.ForegroundColorSpan;
+import android.util.Pair;
 import android.view.KeyEvent;
+import android.widget.ImageView;
+import android.widget.TextView;
 
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentManager;
@@ -31,7 +35,9 @@
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.Utils;
+import com.android.settingslib.widget.LayoutPreference;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -53,6 +59,7 @@
     private FragmentManager mFragmentManager;
     private final InputManager mIm;
     private PreferenceScreen mScreen;
+    private Drawable mDrawable;
 
     private final List<Integer> mRemappableKeys = new ArrayList<>(
             Arrays.asList(
@@ -61,6 +68,14 @@
                     KeyEvent.KEYCODE_ALT_LEFT, KeyEvent.KEYCODE_ALT_RIGHT,
                     KeyEvent.KEYCODE_CAPS_LOCK));
 
+    private final List<Pair<String, Integer>> mKeys = new ArrayList<>(
+            Arrays.asList(
+                    Pair.create(KEY_PREFERENCE_CTRL, R.string.modifier_keys_ctrl),
+                    Pair.create(KEY_PREFERENCE_META, R.string.modifier_keys_meta),
+                    Pair.create(KEY_PREFERENCE_ALT, R.string.modifier_keys_alt),
+                    Pair.create(KEY_PREFERENCE_CAPS_LOCK, R.string.modifier_keys_caps_lock)
+            ));
+
     private String[] mKeyNames = new String[] {
             mContext.getString(R.string.modifier_keys_ctrl),
             mContext.getString(R.string.modifier_keys_ctrl),
@@ -74,6 +89,9 @@
         super(context, key);
         mIm = context.getSystemService(InputManager.class);
         Objects.requireNonNull(mIm, "InputManager service cannot be null");
+        KeyboardSettingsFeatureProvider featureProvider =
+                FeatureFactory.getFactory(context).getKeyboardSettingsFeatureProvider();
+        mDrawable = featureProvider.getActionKeyIcon(context);
     }
 
     public void setFragment(Fragment parent) {
@@ -91,33 +109,59 @@
     }
 
     private void refreshUi() {
+        initDefaultKeysName();
         for (Map.Entry<Integer, Integer> entry : mIm.getModifierKeyRemapping().entrySet()) {
             int fromKey = entry.getKey();
             int toKey = entry.getValue();
             int index = mRemappableKeys.indexOf(toKey);
 
             if (isCtrl(fromKey) && mRemappableKeys.contains(toKey)) {
-                Preference preference = mScreen.findPreference(KEY_PREFERENCE_CTRL);
-                preference.setSummary(changeSummaryColor(mKeyNames[index]));
+                setSummaryColor(KEY_PREFERENCE_CTRL, index);
             }
 
             if (isMeta(fromKey) && mRemappableKeys.contains(toKey)) {
-                Preference preference = mScreen.findPreference(KEY_PREFERENCE_META);
-                preference.setSummary(changeSummaryColor(mKeyNames[index]));
+                setSummaryColor(KEY_PREFERENCE_META, index);
             }
 
             if (isAlt(fromKey) && mRemappableKeys.contains(toKey)) {
-                Preference preference = mScreen.findPreference(KEY_PREFERENCE_ALT);
-                preference.setSummary(changeSummaryColor(mKeyNames[index]));
+                setSummaryColor(KEY_PREFERENCE_ALT, index);
             }
 
             if (isCapLock(fromKey) && mRemappableKeys.contains(toKey)) {
-                Preference preference = mScreen.findPreference(KEY_PREFERENCE_CAPS_LOCK);
-                preference.setSummary(changeSummaryColor(mKeyNames[index]));
+                setSummaryColor(KEY_PREFERENCE_CAPS_LOCK, index);
             }
         }
     }
 
+    private void initDefaultKeysName() {
+        for (Pair<String, Integer> key : mKeys) {
+            LayoutPreference layoutPreference = mScreen.findPreference(key.first);
+            TextView title = layoutPreference.findViewById(R.id.title);
+            TextView summary = layoutPreference.findViewById(R.id.summary);
+            title.setText(key.second);
+            summary.setText(R.string.modifier_keys_default_summary);
+
+            if (key.first.equals(KEY_PREFERENCE_META) && mDrawable != null) {
+                setActionKeyIcon(layoutPreference, mDrawable);
+            }
+        }
+    }
+
+    private static void setActionKeyIcon(LayoutPreference preference, Drawable drawable) {
+        TextView leftBracket = preference.findViewById(R.id.modifier_key_left_bracket);
+        TextView rightBracket = preference.findViewById(R.id.modifier_key_right_bracket);
+        ImageView actionKeyIcon = preference.findViewById(R.id.modifier_key_action_key_icon);
+        leftBracket.setText("(");
+        rightBracket.setText(")");
+        actionKeyIcon.setImageDrawable(drawable);
+    }
+
+    private void setSummaryColor(String key, int targetIndex) {
+        LayoutPreference layoutPreference = mScreen.findPreference(key);
+        TextView summary = layoutPreference.findViewById(R.id.summary);
+        summary.setText(changeSummaryColor(mKeyNames[targetIndex]));
+    }
+
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
         if (preference.getKey().equals(KEY_RESTORE_PREFERENCE)) {
@@ -137,12 +181,14 @@
         ModifierKeysPickerDialogFragment fragment = new ModifierKeysPickerDialogFragment();
         fragment.setTargetFragment(mParent, 0);
         Bundle bundle = new Bundle();
+        TextView title = ((LayoutPreference) preference).findViewById(R.id.title);
+        TextView summary = ((LayoutPreference) preference).findViewById(R.id.summary);
         bundle.putString(
                 ModifierKeysPickerDialogFragment.DEFAULT_KEY,
-                preference.getTitle().toString());
+                title.getText().toString());
         bundle.putString(
                 ModifierKeysPickerDialogFragment.SELECTION_KEY,
-                preference.getSummary().toString());
+                summary.getText().toString());
         fragment.setArguments(bundle);
         fragment.show(mFragmentManager, KEY_TAG);
     }
diff --git a/src/com/android/settings/inputmethod/ModifierKeysResetDialogFragment.java b/src/com/android/settings/inputmethod/ModifierKeysResetDialogFragment.java
index 755e9dd..fea6e65 100644
--- a/src/com/android/settings/inputmethod/ModifierKeysResetDialogFragment.java
+++ b/src/com/android/settings/inputmethod/ModifierKeysResetDialogFragment.java
@@ -21,6 +21,7 @@
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
+import android.app.settings.SettingsEnums;
 import android.hardware.input.InputManager;
 import android.os.Bundle;
 import android.view.LayoutInflater;
@@ -31,13 +32,18 @@
 import androidx.fragment.app.DialogFragment;
 
 import com.android.settings.R;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class ModifierKeysResetDialogFragment extends DialogFragment {
+
     private static final String MODIFIER_KEYS_CAPS_LOCK = "modifier_keys_caps_lock";
     private static final String MODIFIER_KEYS_CTRL = "modifier_keys_ctrl";
     private static final String MODIFIER_KEYS_META = "modifier_keys_meta";
     private static final String MODIFIER_KEYS_ALT = "modifier_keys_alt";
 
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+
     private String[] mKeys = {
             MODIFIER_KEYS_CAPS_LOCK,
             MODIFIER_KEYS_CTRL,
@@ -51,6 +57,7 @@
         super.onCreateDialog(savedInstanceState);
 
         Activity activity = getActivity();
+        mMetricsFeatureProvider = FeatureFactory.getFactory(activity).getMetricsFeatureProvider();
         InputManager inputManager = activity.getSystemService(InputManager.class);
         View dialoglayout =
                 LayoutInflater.from(activity).inflate(R.layout.modifier_key_reset_dialog, null);
@@ -60,6 +67,7 @@
 
         Button restoreButton = dialoglayout.findViewById(R.id.modifier_key_reset_restore_button);
         restoreButton.setOnClickListener(v -> {
+            mMetricsFeatureProvider.action(activity, SettingsEnums.ACTION_CLEAR_REMAPPINGS);
             inputManager.clearAllModifierKeyRemappings();
             dismiss();
             activity.recreate();
diff --git a/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerContent.java b/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerContent.java
index 1af001b..11740ec 100644
--- a/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerContent.java
+++ b/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerContent.java
@@ -20,10 +20,6 @@
 import android.content.Context;
 import android.hardware.input.InputDeviceIdentifier;
 import android.hardware.input.InputManager;
-import android.hardware.input.KeyboardLayout;
-import android.os.Bundle;
-import android.view.inputmethod.InputMethodInfo;
-import android.view.inputmethod.InputMethodSubtype;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
@@ -32,55 +28,23 @@
 
     private static final String TAG = "KeyboardLayoutPicker";
 
-    private InputManager mIm;
-    private int mUserId;
-    private InputDeviceIdentifier mIdentifier;
-    private InputMethodInfo mInputMethodInfo;
-    private InputMethodSubtype mInputMethodSubtype;
-
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
-        mIm = getContext().getSystemService(InputManager.class);
-        Bundle arguments = getArguments();
-        final CharSequence title = arguments.getCharSequence(NewKeyboardSettingsUtils.EXTRA_TITLE);
-        mUserId = arguments.getInt(NewKeyboardSettingsUtils.EXTRA_USER_ID);
-        mIdentifier =
-                arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_DEVICE_IDENTIFIER);
-        mInputMethodInfo =
-                arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_METHOD_INFO);
-        mInputMethodSubtype =
-                arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_METHOD_SUBTYPE);
-        if (mIdentifier == null
-                || NewKeyboardSettingsUtils.getInputDevice(mIm, mIdentifier) == null) {
+        InputManager im = getContext().getSystemService(InputManager.class);
+        InputDeviceIdentifier identifier =
+                getArguments().getParcelable(
+                        NewKeyboardSettingsUtils.EXTRA_INPUT_DEVICE_IDENTIFIER);
+        if (identifier == null
+                || NewKeyboardSettingsUtils.getInputDevice(im, identifier) == null) {
             getActivity().finish();
             return;
         }
-        getActivity().setTitle(title);
-        use(NewKeyboardLayoutPickerController.class).initialize(this /*parent*/, mUserId,
-                mIdentifier, mInputMethodInfo, mInputMethodSubtype, getSelectedLayoutLabel());
-    }
-
-    private String getSelectedLayoutLabel() {
-        String label = getContext().getString(R.string.keyboard_default_layout);
-        String layout = NewKeyboardSettingsUtils.getKeyboardLayout(
-                mIm, mUserId, mIdentifier, mInputMethodInfo, mInputMethodSubtype);
-        KeyboardLayout[] keyboardLayouts = NewKeyboardSettingsUtils.getKeyboardLayouts(
-                mIm, mUserId, mIdentifier, mInputMethodInfo, mInputMethodSubtype);
-        if (layout != null) {
-            for (int i = 0; i < keyboardLayouts.length; i++) {
-                if (keyboardLayouts[i].getDescriptor().equals(layout)) {
-                    label = keyboardLayouts[i].getLabel();
-                    break;
-                }
-            }
-        }
-        return label;
+        use(NewKeyboardLayoutPickerController.class).initialize(this);
     }
 
     @Override
     public int getMetricsCategory() {
-        // TODO: add new SettingsEnums SETTINGS_KEYBOARDS_LAYOUT_PICKER_CONTENT
         return SettingsEnums.SETTINGS_KEYBOARDS_LAYOUT_PICKER;
     }
 
diff --git a/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerController.java b/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerController.java
index 8278be8..65b1c62 100644
--- a/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerController.java
+++ b/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerController.java
@@ -16,10 +16,12 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.hardware.input.InputDeviceIdentifier;
 import android.hardware.input.InputManager;
 import android.hardware.input.KeyboardLayout;
+import android.os.Bundle;
 import android.view.inputmethod.InputMethodInfo;
 import android.view.inputmethod.InputMethodSubtype;
 
@@ -27,8 +29,11 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
+import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.widget.TickButtonPreference;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.core.lifecycle.events.OnStop;
@@ -38,38 +43,47 @@
 
 public class NewKeyboardLayoutPickerController extends BasePreferenceController implements
         InputManager.InputDeviceListener, LifecycleObserver, OnStart, OnStop {
+
     private final InputManager mIm;
     private final Map<TickButtonPreference, KeyboardLayout> mPreferenceMap;
-
     private Fragment mParent;
+    private CharSequence mTitle;
     private int mInputDeviceId;
     private int mUserId;
     private InputDeviceIdentifier mInputDeviceIdentifier;
     private InputMethodInfo mInputMethodInfo;
     private InputMethodSubtype mInputMethodSubtype;
-
     private KeyboardLayout[] mKeyboardLayouts;
     private PreferenceScreen mScreen;
     private String mPreviousSelection;
+    private String mFinalSelectedLayout;
     private String mLayout;
+    private MetricsFeatureProvider mMetricsFeatureProvider;
 
     public NewKeyboardLayoutPickerController(Context context, String key) {
         super(context, key);
         mIm = context.getSystemService(InputManager.class);
         mInputDeviceId = -1;
         mPreferenceMap = new HashMap<>();
+        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
     }
 
-    public void initialize(Fragment parent, int userId, InputDeviceIdentifier inputDeviceIdentifier,
-            InputMethodInfo imeInfo, InputMethodSubtype imeSubtype, String layout) {
+    public void initialize(Fragment parent) {
         mParent = parent;
-        mUserId = userId;
-        mInputDeviceIdentifier = inputDeviceIdentifier;
-        mInputMethodInfo = imeInfo;
-        mInputMethodSubtype = imeSubtype;
-        mLayout = layout;
+        Bundle arguments = parent.getArguments();
+        mTitle = arguments.getCharSequence(NewKeyboardSettingsUtils.EXTRA_TITLE);
+        mUserId = arguments.getInt(NewKeyboardSettingsUtils.EXTRA_USER_ID);
+        mInputDeviceIdentifier =
+                arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_DEVICE_IDENTIFIER);
+        mInputMethodInfo =
+                arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_METHOD_INFO);
+        mInputMethodSubtype =
+                arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_METHOD_SUBTYPE);
+        mLayout = getSelectedLayoutLabel();
+        mFinalSelectedLayout = mLayout;
         mKeyboardLayouts = mIm.getKeyboardLayoutListForInputDevice(
-                inputDeviceIdentifier, userId, imeInfo, imeSubtype);
+                mInputDeviceIdentifier, mUserId, mInputMethodInfo, mInputMethodSubtype);
+        parent.getActivity().setTitle(mTitle);
     }
 
     @Override
@@ -85,6 +99,11 @@
 
     @Override
     public void onStop() {
+        if (!mLayout.equals(mFinalSelectedLayout)) {
+            String change = "From:" + mLayout + ", to:" + mFinalSelectedLayout;
+            mMetricsFeatureProvider.action(
+                    mContext, SettingsEnums.ACTION_PK_LAYOUT_CHANGED, change);
+        }
         mIm.unregisterInputDeviceListener(this);
         mInputDeviceId = -1;
     }
@@ -115,6 +134,7 @@
         }
         setLayout(pref);
         mPreviousSelection = preference.getKey();
+        mFinalSelectedLayout = pref.getTitle().toString();
         return true;
     }
 
@@ -162,4 +182,21 @@
                 mInputMethodSubtype,
                 mPreferenceMap.get(preference).getDescriptor());
     }
+
+    private String getSelectedLayoutLabel() {
+        String label = mContext.getString(R.string.keyboard_default_layout);
+        String layout = NewKeyboardSettingsUtils.getKeyboardLayout(
+                mIm, mUserId, mInputDeviceIdentifier, mInputMethodInfo, mInputMethodSubtype);
+        KeyboardLayout[] keyboardLayouts = NewKeyboardSettingsUtils.getKeyboardLayouts(
+                mIm, mUserId, mInputDeviceIdentifier, mInputMethodInfo, mInputMethodSubtype);
+        if (layout != null) {
+            for (KeyboardLayout keyboardLayout : keyboardLayouts) {
+                if (keyboardLayout.getDescriptor().equals(layout)) {
+                    label = keyboardLayout.getLabel();
+                    break;
+                }
+            }
+        }
+        return label;
+    }
 }
diff --git a/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerTitle.java b/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerTitle.java
index abcad27..7f87826 100644
--- a/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerTitle.java
+++ b/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerTitle.java
@@ -34,8 +34,7 @@
 
     @Override
     public int getMetricsCategory() {
-        // TODO: add new SettingsEnums SETTINGS_KEYBOARDS_LAYOUT_PICKER_TITLE
-        return SettingsEnums.SETTINGS_KEYBOARDS_LAYOUT_PICKER;
+        return SettingsEnums.SETTINGS_KEYBOARDS_LAYOUT_PICKER_TITLE;
     }
 
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
diff --git a/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java b/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java
index 697c0f0..ad68c43 100644
--- a/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java
+++ b/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java
@@ -33,12 +33,6 @@
  */
 public class NewKeyboardSettingsUtils {
 
-    /**
-     * Record the class name of the intent sender for metrics.
-     */
-    public static final String EXTRA_INTENT_FROM =
-            "com.android.settings.inputmethod.EXTRA_INTENT_FROM";
-
     static final String EXTRA_TITLE = "keyboard_layout_picker_title";
     static final String EXTRA_USER_ID = "user_id";
     static final String EXTRA_INPUT_DEVICE_IDENTIFIER = "input_device_identifier";
diff --git a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
index 936de38..289d7c1 100644
--- a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
@@ -48,6 +48,7 @@
 import com.android.settings.Settings;
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.search.SearchIndexable;
 import com.android.settingslib.utils.ThreadUtils;
@@ -75,6 +76,7 @@
     private InputManager mIm;
     private InputMethodManager mImm;
     private InputDeviceIdentifier mAutoInputDeviceIdentifier;
+    private KeyboardSettingsFeatureProvider mFeatureProvider;
     @NonNull
     private PreferenceCategory mKeyboardAssistanceCategory;
     @NonNull
@@ -82,6 +84,7 @@
 
     private Intent mIntentWaitingForResult;
     private boolean mIsNewKeyboardSettings;
+    private boolean mSupportsFirmwareUpdate;
 
     static final String EXTRA_BT_ADDRESS = "extra_bt_address";
     private String mBluetoothAddress;
@@ -104,6 +107,13 @@
                 (SwitchPreference) mKeyboardAssistanceCategory.findPreference(
                         SHOW_VIRTUAL_KEYBOARD_SWITCH));
 
+        FeatureFactory featureFactory = FeatureFactory.getFactory(getContext());
+        mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider();
+        mFeatureProvider = featureFactory.getKeyboardSettingsFeatureProvider();
+        mSupportsFirmwareUpdate = mFeatureProvider.supportsFirmwareUpdate();
+        if (mSupportsFirmwareUpdate) {
+            mFeatureProvider.addFirmwareUpdateCategory(getContext(), getPreferenceScreen());
+        }
         mIsNewKeyboardSettings = FeatureFlagUtils.isEnabled(
                 getContext(), FeatureFlagUtils.SETTINGS_NEW_KEYBOARD_UI);
         boolean isModifierKeySettingsEnabled = FeatureFlagUtils
@@ -113,7 +123,12 @@
         }
         InputDeviceIdentifier inputDeviceIdentifier = activity.getIntent().getParcelableExtra(
                 KeyboardLayoutPickerFragment.EXTRA_INPUT_DEVICE_IDENTIFIER);
-        // TODO (b/271391879): The EXTRA_INTENT_FROM is used for the future metrics.
+        int intentFromWhere =
+                activity.getIntent().getIntExtra(android.provider.Settings.EXTRA_ENTRYPOINT, -1);
+        if (intentFromWhere != -1) {
+            mMetricsFeatureProvider.action(
+                    getContext(), SettingsEnums.ACTION_OPEN_PK_SETTINGS_FROM, intentFromWhere);
+        }
         if (inputDeviceIdentifier != null) {
             mAutoInputDeviceIdentifier = inputDeviceIdentifier;
         }
@@ -244,9 +259,16 @@
                         });
             }
             category.addPreference(pref);
+            mMetricsFeatureProvider.action(
+                    getContext(),
+                    SettingsEnums.ACTION_USE_SPECIFIC_KEYBOARD,
+                    hardKeyboardDeviceInfo.mDeviceName);
         }
         mKeyboardAssistanceCategory.setOrder(1);
         preferenceScreen.addPreference(mKeyboardAssistanceCategory);
+        if (mSupportsFirmwareUpdate) {
+            mFeatureProvider.addFirmwareUpdateCategory(getPrefContext(), preferenceScreen);
+        }
         updateShowVirtualKeyboardSwitch();
     }
 
diff --git a/src/com/android/settings/inputmethod/PhysicalKeyboardPreferenceController.java b/src/com/android/settings/inputmethod/PhysicalKeyboardPreferenceController.java
index 1f01b98..b88928c 100644
--- a/src/com/android/settings/inputmethod/PhysicalKeyboardPreferenceController.java
+++ b/src/com/android/settings/inputmethod/PhysicalKeyboardPreferenceController.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
 import android.hardware.input.InputManager;
@@ -66,9 +67,7 @@
             return false;
         }
         Intent intent = new Intent(Settings.ACTION_HARD_KEYBOARD_SETTINGS);
-        intent.putExtra(
-                NewKeyboardSettingsUtils.EXTRA_INTENT_FROM,
-                "com.android.settings.inputmethod.PhysicalKeyboardPreferenceController");
+        intent.putExtra(Settings.EXTRA_ENTRYPOINT, SettingsEnums.KEYBOARD_SETTINGS);
         mContext.startActivity(intent);
         return true;
     }
diff --git a/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java b/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java
index 7efa637..f0ee1fd 100644
--- a/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.util.FeatureFlagUtils;
 
@@ -23,6 +24,8 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.widget.ButtonPreference;
 
 public class TouchGesturesButtonPreferenceController extends BasePreferenceController {
@@ -33,9 +36,11 @@
     private static final String GESTURE_DIALOG_TAG = "GESTURE_DIALOG_TAG";
 
     private Fragment mParent;
+    private MetricsFeatureProvider mMetricsFeatureProvider;
 
     public TouchGesturesButtonPreferenceController(Context context, String key) {
         super(context, key);
+        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
     }
 
     public void setFragment(Fragment parent) {
@@ -63,12 +68,11 @@
 
     @Override
     public int getAvailabilityStatus() {
-        boolean touchGestureDeveloperMode = FeatureFlagUtils
-                .isEnabled(mContext, FeatureFlagUtils.SETTINGS_NEW_KEYBOARD_TRACKPAD_GESTURE);
-        return touchGestureDeveloperMode ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+        return AVAILABLE;
     }
 
     private void showTouchpadGestureEducation() {
+        mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_LEARN_TOUCHPAD_GESTURE_CLICK);
         TrackpadGestureDialogFragment fragment = new TrackpadGestureDialogFragment();
         fragment.setTargetFragment(mParent, 0);
         fragment.show(mParent.getActivity().getSupportFragmentManager(), GESTURE_DIALOG_TAG);
diff --git a/src/com/android/settings/inputmethod/TrackpadBottomPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadBottomPreferenceController.java
index 5133d04..1cf1f6f 100644
--- a/src/com/android/settings/inputmethod/TrackpadBottomPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadBottomPreferenceController.java
@@ -16,16 +16,22 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.hardware.input.InputSettings;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class TrackpadBottomPreferenceController extends TogglePreferenceController {
 
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+
     public TrackpadBottomPreferenceController(Context context, String key) {
         super(context, key);
+        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
     }
 
     @Override
@@ -36,6 +42,8 @@
     @Override
     public boolean setChecked(boolean isChecked) {
         InputSettings.setTouchpadRightClickZone(mContext, isChecked);
+        mMetricsFeatureProvider.action(
+                mContext, SettingsEnums.ACTION_GESTURE_BOTTOM_RIGHT_TAP_CHANGED, isChecked);
         return true;
     }
 
diff --git a/src/com/android/settings/inputmethod/TrackpadGoBackPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadGoBackPreferenceController.java
index 017689d..11d7cf3 100644
--- a/src/com/android/settings/inputmethod/TrackpadGoBackPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadGoBackPreferenceController.java
@@ -16,18 +16,24 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.provider.Settings;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class TrackpadGoBackPreferenceController extends TogglePreferenceController {
 
     private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_BACK_ENABLED;
 
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+
     public TrackpadGoBackPreferenceController(Context context, String key) {
         super(context, key);
+        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
     }
 
     @Override
@@ -38,6 +44,8 @@
     @Override
     public boolean setChecked(boolean isChecked) {
         Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, isChecked ? 1 : 0);
+        mMetricsFeatureProvider.action(
+                mContext, SettingsEnums.ACTION_GESTURE_GO_BACK_CHANGED, isChecked);
         return true;
     }
 
diff --git a/src/com/android/settings/inputmethod/TrackpadGoHomePreferenceController.java b/src/com/android/settings/inputmethod/TrackpadGoHomePreferenceController.java
index 18699e3..5027e2f 100644
--- a/src/com/android/settings/inputmethod/TrackpadGoHomePreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadGoHomePreferenceController.java
@@ -16,18 +16,24 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.provider.Settings;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class TrackpadGoHomePreferenceController extends TogglePreferenceController {
 
     private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_HOME_ENABLED;
 
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+
     public TrackpadGoHomePreferenceController(Context context, String key) {
         super(context, key);
+        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
     }
 
     @Override
@@ -38,6 +44,8 @@
     @Override
     public boolean setChecked(boolean isChecked) {
         Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, isChecked ? 1 : 0);
+        mMetricsFeatureProvider.action(
+                mContext, SettingsEnums.ACTION_GESTURE_GO_HOME_CHANGED, isChecked);
         return true;
     }
 
diff --git a/src/com/android/settings/inputmethod/TrackpadNotificationsPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadNotificationsPreferenceController.java
index 21f04a3..0fb28d7 100644
--- a/src/com/android/settings/inputmethod/TrackpadNotificationsPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadNotificationsPreferenceController.java
@@ -16,18 +16,24 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.provider.Settings;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class TrackpadNotificationsPreferenceController extends TogglePreferenceController {
 
     private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_NOTIFICATION_ENABLED;
 
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+
     public TrackpadNotificationsPreferenceController(Context context, String key) {
         super(context, key);
+        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
     }
 
     @Override
@@ -38,6 +44,8 @@
     @Override
     public boolean setChecked(boolean isChecked) {
         Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, isChecked ? 1 : 0);
+        mMetricsFeatureProvider.action(
+                mContext, SettingsEnums.ACTION_GESTURE_NOTIFICATION_CHANGED, isChecked);
         return true;
     }
 
diff --git a/src/com/android/settings/inputmethod/TrackpadPointerSpeedPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadPointerSpeedPreferenceController.java
index 71b4119..58b4772 100644
--- a/src/com/android/settings/inputmethod/TrackpadPointerSpeedPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadPointerSpeedPreferenceController.java
@@ -16,20 +16,25 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.hardware.input.InputSettings;
 
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.core.SliderPreferenceController;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.widget.SeekBarPreference;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class TrackpadPointerSpeedPreferenceController extends SliderPreferenceController {
 
     private SeekBarPreference mPreference;
+    private MetricsFeatureProvider mMetricsFeatureProvider;
 
     public TrackpadPointerSpeedPreferenceController(Context context, String key) {
         super(context, key);
+        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
     }
 
     @Override
@@ -53,6 +58,8 @@
             return false;
         }
         InputSettings.setTouchpadPointerSpeed(mContext, position);
+        mMetricsFeatureProvider.action(
+                mContext, SettingsEnums.ACTION_GESTURE_POINTER_SPEED_CHANGED, position);
         return true;
     }
 
diff --git a/src/com/android/settings/inputmethod/TrackpadRecentAppsPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadRecentAppsPreferenceController.java
index eab2b33..878cbe3 100644
--- a/src/com/android/settings/inputmethod/TrackpadRecentAppsPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadRecentAppsPreferenceController.java
@@ -16,18 +16,24 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.provider.Settings;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class TrackpadRecentAppsPreferenceController extends TogglePreferenceController {
 
     private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_OVERVIEW_ENABLED;
 
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+
     public TrackpadRecentAppsPreferenceController(Context context, String key) {
         super(context, key);
+        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
     }
 
     @Override
@@ -38,6 +44,8 @@
     @Override
     public boolean setChecked(boolean isChecked) {
         Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, isChecked ? 1 : 0);
+        mMetricsFeatureProvider.action(
+                mContext, SettingsEnums.ACTION_GESTURE_RECENT_APPS_CHANGED, isChecked);
         return true;
     }
 
diff --git a/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceController.java
index 10d3013..2b74c74 100644
--- a/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceController.java
@@ -16,16 +16,22 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.hardware.input.InputSettings;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class TrackpadReverseScrollingPreferenceController extends TogglePreferenceController {
 
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+
     public TrackpadReverseScrollingPreferenceController(Context context, String key) {
         super(context, key);
+        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
     }
 
     @Override
@@ -36,6 +42,8 @@
     @Override
     public boolean setChecked(boolean isChecked) {
         InputSettings.setTouchpadNaturalScrolling(mContext, !isChecked);
+        mMetricsFeatureProvider.action(
+                mContext, SettingsEnums.ACTION_GESTURE_REVERSE_SCROLLING_CHANGED, isChecked);
         return true;
     }
 
diff --git a/src/com/android/settings/inputmethod/TrackpadSwitchAppsPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadSwitchAppsPreferenceController.java
index 84de64e..cfca856 100644
--- a/src/com/android/settings/inputmethod/TrackpadSwitchAppsPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadSwitchAppsPreferenceController.java
@@ -16,18 +16,24 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.provider.Settings;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class TrackpadSwitchAppsPreferenceController extends TogglePreferenceController {
 
     private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_QUICK_SWITCH_ENABLED;
 
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+
     public TrackpadSwitchAppsPreferenceController(Context context, String key) {
         super(context, key);
+        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
     }
 
     @Override
@@ -38,6 +44,8 @@
     @Override
     public boolean setChecked(boolean isChecked) {
         Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, isChecked ? 1 : 0);
+        mMetricsFeatureProvider.action(
+                mContext, SettingsEnums.ACTION_GESTURE_SWITCH_APPS_CHANGED, isChecked);
         return true;
     }
 
diff --git a/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceController.java
index 8655307..9ee446b 100644
--- a/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceController.java
@@ -16,16 +16,22 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.hardware.input.InputSettings;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class TrackpadTapToClickPreferenceController extends TogglePreferenceController {
 
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+
     public TrackpadTapToClickPreferenceController(Context context, String key) {
         super(context, key);
+        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
     }
 
     @Override
@@ -36,6 +42,8 @@
     @Override
     public boolean setChecked(boolean isChecked) {
         InputSettings.setTouchpadTapToClick(mContext, isChecked);
+        mMetricsFeatureProvider.action(
+                mContext, SettingsEnums.ACTION_GESTURE_TAP_TO_CLICK_CHANGED, isChecked);
         return true;
     }
 
diff --git a/src/com/android/settings/localepicker/AppLocalePickerActivity.java b/src/com/android/settings/localepicker/AppLocalePickerActivity.java
index 092207b..d1e1137 100644
--- a/src/com/android/settings/localepicker/AppLocalePickerActivity.java
+++ b/src/com/android/settings/localepicker/AppLocalePickerActivity.java
@@ -18,6 +18,7 @@
 
 import android.app.FragmentTransaction;
 import android.app.LocaleManager;
+import android.app.settings.SettingsEnums;
 import android.content.pm.PackageManager;
 import android.net.Uri;
 import android.os.Bundle;
@@ -37,15 +38,22 @@
 import com.android.settings.applications.AppLocaleUtil;
 import com.android.settings.applications.appinfo.AppLocaleDetails;
 import com.android.settings.core.SettingsBaseActivity;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class AppLocalePickerActivity extends SettingsBaseActivity
         implements LocalePickerWithRegion.LocaleSelectedListener, MenuItem.OnActionExpandListener {
     private static final String TAG = AppLocalePickerActivity.class.getSimpleName();
+    private static final int SIM_LOCALE = 1 << 0;
+    private static final int SYSTEM_LOCALE = 1 << 1;
+    private static final int APP_LOCALE = 1 << 2;
+    private static final int IME_LOCALE = 1 << 3;
 
     private String mPackageName;
     private LocalePickerWithRegion mLocalePickerWithRegion;
     private AppLocaleDetails mAppLocaleDetails;
     private View mAppLocaleDetailContainer;
+    private MetricsFeatureProvider mMetricsFeatureProvider;
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -71,6 +79,7 @@
 
         setTitle(R.string.app_locale_picker_title);
         getActionBar().setDisplayHomeAsUpEnabled(true);
+        mMetricsFeatureProvider = FeatureFactory.getFactory(this).getMetricsFeatureProvider();
 
         mLocalePickerWithRegion = LocalePickerWithRegion.createLanguagePicker(
                 this,
@@ -99,6 +108,7 @@
         if (localeInfo == null || localeInfo.getLocale() == null || localeInfo.isSystemLocale()) {
             setAppDefaultLocale("");
         } else {
+            logLocaleSource(localeInfo);
             setAppDefaultLocale(localeInfo.getLocale().toLanguageTag());
         }
         finish();
@@ -177,4 +187,32 @@
 
         return false;
     }
+
+    private void logLocaleSource(LocaleStore.LocaleInfo localeInfo) {
+        if (!localeInfo.isSuggested() || localeInfo.isAppCurrentLocale()) {
+            return;
+        }
+        int localeSource = 0;
+        if (hasSuggestionType(localeInfo,
+                LocaleStore.LocaleInfo.SUGGESTION_TYPE_SYSTEM_AVAILABLE_LANGUAGE)) {
+            localeSource |= SYSTEM_LOCALE;
+        }
+        if (hasSuggestionType(localeInfo,
+                LocaleStore.LocaleInfo.SUGGESTION_TYPE_OTHER_APP_LANGUAGE)) {
+            localeSource |= APP_LOCALE;
+        }
+        if (hasSuggestionType(localeInfo, LocaleStore.LocaleInfo.SUGGESTION_TYPE_IME_LANGUAGE)) {
+            localeSource |= IME_LOCALE;
+        }
+        if (hasSuggestionType(localeInfo, LocaleStore.LocaleInfo.SUGGESTION_TYPE_SIM)) {
+            localeSource |= SIM_LOCALE;
+        }
+        mMetricsFeatureProvider.action(this,
+                SettingsEnums.ACTION_CHANGE_APP_LANGUAGE_FROM_SUGGESTED, localeSource);
+    }
+
+    private static boolean hasSuggestionType(LocaleStore.LocaleInfo localeInfo,
+            int suggestionType) {
+        return localeInfo.isSuggestionOfType(suggestionType);
+    }
 }
diff --git a/src/com/android/settings/localepicker/LocaleDialogFragment.java b/src/com/android/settings/localepicker/LocaleDialogFragment.java
index ad9e10f..6c37e38 100644
--- a/src/com/android/settings/localepicker/LocaleDialogFragment.java
+++ b/src/com/android/settings/localepicker/LocaleDialogFragment.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.localepicker;
 
+import static android.window.OnBackInvokedDispatcher.PRIORITY_DEFAULT;
+
 import android.app.Activity;
 import android.app.Dialog;
 import android.app.settings.SettingsEnums;
@@ -23,15 +25,17 @@
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.os.Bundle;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.TextView;
+import android.window.OnBackInvokedCallback;
+import android.window.OnBackInvokedDispatcher;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.app.AlertDialog;
-import androidx.fragment.app.FragmentManager;
 
 import com.android.internal.app.LocaleStore;
 import com.android.settings.R;
@@ -53,6 +57,12 @@
     static final String ARG_SHOW_DIALOG = "arg_show_dialog";
 
     private boolean mShouldKeepDialog;
+    private AlertDialog mAlertDialog;
+    private OnBackInvokedDispatcher mBackDispatcher;
+
+    private OnBackInvokedCallback mBackCallback = () -> {
+        Log.d(TAG, "Do not back to previous page if the dialog is displaying.");
+    };
 
     public static LocaleDialogFragment newInstance() {
         return new LocaleDialogFragment();
@@ -108,9 +118,15 @@
         if (!dialogContent.mNegativeButton.isEmpty()) {
             builder.setNegativeButton(dialogContent.mNegativeButton, controller);
         }
-        AlertDialog alertDialog = builder.create();
-        alertDialog.setCanceledOnTouchOutside(false);
-        return alertDialog;
+        mAlertDialog = builder.create();
+        getOnBackInvokedDispatcher().registerOnBackInvokedCallback(PRIORITY_DEFAULT, mBackCallback);
+        mAlertDialog.setCanceledOnTouchOutside(false);
+        mAlertDialog.setOnDismissListener(dialogInterface -> {
+            mAlertDialog.getOnBackInvokedDispatcher().unregisterOnBackInvokedCallback(
+                            mBackCallback);
+        });
+
+        return mAlertDialog;
     }
 
     private static void setDialogTitle(View root, String content) {
@@ -130,6 +146,25 @@
     }
 
     @VisibleForTesting
+    public OnBackInvokedCallback getBackInvokedCallback() {
+        return mBackCallback;
+    }
+
+    @VisibleForTesting
+    public void setBackDispatcher(OnBackInvokedDispatcher dispatcher) {
+        mBackDispatcher = dispatcher;
+    }
+
+    @VisibleForTesting
+    public OnBackInvokedDispatcher getOnBackInvokedDispatcher() {
+        if (mBackDispatcher != null) {
+            return mBackDispatcher;
+        } else {
+            return mAlertDialog.getOnBackInvokedDispatcher();
+        }
+    }
+
+    @VisibleForTesting
     LocaleDialogController getLocaleDialogController(Context context,
             LocaleDialogFragment dialogFragment, LocaleListEditor parentFragment) {
         return new LocaleDialogController(context, dialogFragment, parentFragment);
@@ -155,24 +190,22 @@
             mParent = parentFragment;
         }
 
-        LocaleDialogController(@NonNull LocaleDialogFragment dialogFragment,
-                LocaleListEditor parent) {
-            this(dialogFragment.getContext(), dialogFragment, parent);
-        }
-
         @Override
         public void onClick(DialogInterface dialog, int which) {
             if (mDialogType == DIALOG_CONFIRM_SYSTEM_DEFAULT) {
                 int result = Activity.RESULT_CANCELED;
+                boolean changed = false;
                 if (which == DialogInterface.BUTTON_POSITIVE) {
                     result = Activity.RESULT_OK;
+                    changed = true;
                 }
                 Intent intent = new Intent();
                 Bundle bundle = new Bundle();
                 bundle.putInt(ARG_DIALOG_TYPE, DIALOG_CONFIRM_SYSTEM_DEFAULT);
                 intent.putExtras(bundle);
                 mParent.onActivityResult(DIALOG_CONFIRM_SYSTEM_DEFAULT, result, intent);
-                mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_CHANGE_LANGUAGE);
+                mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_CHANGE_LANGUAGE,
+                        changed);
             }
             mShouldKeepDialog = false;
         }
diff --git a/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java b/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
index edd3026..f703c83 100644
--- a/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
+++ b/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.localepicker;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.graphics.Canvas;
 import android.os.Bundle;
@@ -37,6 +38,7 @@
 import com.android.internal.app.LocalePicker;
 import com.android.internal.app.LocaleStore;
 import com.android.settings.R;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.shortcut.ShortcutsUpdateTask;
 
 import java.text.NumberFormat;
@@ -210,6 +212,13 @@
             Log.e(TAG, String.format(Locale.US,
                     "Negative position in onItemMove %d -> %d", fromPosition, toPosition));
         }
+
+        if (fromPosition != toPosition) {
+            FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
+                    .action(mContext, SettingsEnums.ACTION_REORDER_LANGUAGE,
+                            mDragLocale.getLocale().toLanguageTag() + " move to " + toPosition);
+        }
+
         notifyItemChanged(fromPosition); // to update the numbers
         notifyItemChanged(toPosition);
         notifyItemMoved(fromPosition, toPosition);
@@ -244,8 +253,13 @@
 
     void removeChecked() {
         int itemCount = mFeedItemList.size();
+        LocaleStore.LocaleInfo localeInfo;
         for (int i = itemCount - 1; i >= 0; i--) {
-            if (mFeedItemList.get(i).getChecked()) {
+            localeInfo = mFeedItemList.get(i);
+            if (localeInfo.getChecked()) {
+                FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
+                        .action(mContext, SettingsEnums.ACTION_REMOVE_LANGUAGE,
+                                localeInfo.getLocale().toLanguageTag());
                 mFeedItemList.remove(i);
             }
         }
@@ -381,10 +395,13 @@
                 // drag locale's original position to the top.
                 mDragLocale = (LocaleStore.LocaleInfo) savedInstanceState.getSerializable(
                         CFGKEY_DRAG_LOCALE);
-                mFeedItemList.removeIf(
-                        localeInfo -> TextUtils.equals(localeInfo.getId(), mDragLocale.getId()));
-                mFeedItemList.add(0, mDragLocale);
-                notifyItemRangeChanged(0, mFeedItemList.size());
+                if (mDragLocale != null) {
+                    mFeedItemList.removeIf(
+                            localeInfo -> TextUtils.equals(localeInfo.getId(),
+                                    mDragLocale.getId()));
+                    mFeedItemList.add(0, mDragLocale);
+                    notifyItemRangeChanged(0, mFeedItemList.size());
+                }
             }
         }
     }
diff --git a/src/com/android/settings/localepicker/LocaleListEditor.java b/src/com/android/settings/localepicker/LocaleListEditor.java
index 7ec08f7..65563ad 100644
--- a/src/com/android/settings/localepicker/LocaleListEditor.java
+++ b/src/com/android/settings/localepicker/LocaleListEditor.java
@@ -104,7 +104,6 @@
 
         addPreferencesFromResource(R.xml.languages);
         final Activity activity = getActivity();
-        activity.setTitle(R.string.language_picker_title);
         mLocaleHelperPreferenceController = new LocaleHelperPreferenceController(activity);
         final PreferenceScreen screen = getPreferenceScreen();
         mLocalePickerPreference = screen.findPreference(KEY_LANGUAGES_PICKER);
@@ -200,9 +199,11 @@
             localeInfo = (LocaleStore.LocaleInfo) data.getSerializableExtra(INTENT_LOCALE_KEY);
             String preferencesTags = Settings.System.getString(
                     getContext().getContentResolver(), Settings.System.LOCALE_PREFERENCES);
-
-            mAdapter.addLocale(mayAppendUnicodeTags(localeInfo, preferencesTags));
+            localeInfo = mayAppendUnicodeTags(localeInfo, preferencesTags);
+            mAdapter.addLocale(localeInfo);
             updateVisibilityOfRemoveMenu();
+            mMetricsFeatureProvider.action(getContext(), SettingsEnums.ACTION_ADD_LANGUAGE,
+                    localeInfo.getLocale().toLanguageTag());
         } else if (requestCode == DIALOG_CONFIRM_SYSTEM_DEFAULT) {
             localeInfo = mAdapter.getFeedItemList().get(0);
             if (resultCode == Activity.RESULT_OK) {
@@ -215,6 +216,9 @@
                     LocaleDialogFragment localeDialogFragment = LocaleDialogFragment.newInstance();
                     localeDialogFragment.setArguments(args);
                     localeDialogFragment.show(mFragmentManager, TAG_DIALOG_NOT_AVAILABLE);
+                    mMetricsFeatureProvider.action(getContext(),
+                            SettingsEnums.ACTION_NOT_SUPPORTED_SYSTEM_LANGUAGE,
+                            localeInfo.getLocale().toLanguageTag());
                 }
             } else {
                 mAdapter.notifyListChanged(localeInfo);
@@ -318,7 +322,13 @@
                                 // to remove.
                                 mRemoveMode = false;
                                 mShowingRemoveDialog = false;
+                                LocaleStore.LocaleInfo firstLocale =
+                                        mAdapter.getFeedItemList().get(0);
                                 mAdapter.removeChecked();
+                                boolean isFirstRemoved =
+                                        firstLocale != mAdapter.getFeedItemList().get(0);
+                                showConfirmDialog(isFirstRemoved, isFirstRemoved ? firstLocale
+                                        : mAdapter.getFeedItemList().get(0));
                                 setRemoveMode(false);
                             }
                         })
@@ -358,12 +368,12 @@
         final LocaleLinearLayoutManager llm = new LocaleLinearLayoutManager(getContext(), mAdapter);
         llm.setAutoMeasureEnabled(true);
         list.setLayoutManager(llm);
-
         list.setHasFixedSize(true);
         list.setNestedScrollingEnabled(false);
         mAdapter.setRecyclerView(list);
         list.setAdapter(mAdapter);
         list.setOnTouchListener(this);
+        list.requestFocus();
 
         mAddLanguage = layout.findViewById(R.id.add_language);
         mAddLanguage.setOnClickListener(new View.OnClickListener() {
@@ -384,22 +394,27 @@
     public boolean onTouch(View v, MotionEvent event) {
         if (event.getAction() == MotionEvent.ACTION_UP
                 || event.getAction() == MotionEvent.ACTION_CANCEL) {
-            LocaleStore.LocaleInfo localeInfo = mAdapter.getFeedItemList().get(0);
-            if (!localeInfo.getLocale().equals(LocalePicker.getLocales().get(0))) {
-                final LocaleDialogFragment localeDialogFragment =
-                        LocaleDialogFragment.newInstance();
-                Bundle args = new Bundle();
-                args.putInt(LocaleDialogFragment.ARG_DIALOG_TYPE, DIALOG_CONFIRM_SYSTEM_DEFAULT);
-                args.putSerializable(LocaleDialogFragment.ARG_TARGET_LOCALE, localeInfo);
-                localeDialogFragment.setArguments(args);
-                localeDialogFragment.show(mFragmentManager, TAG_DIALOG_CONFIRM_SYSTEM_DEFAULT);
-            } else {
-                mAdapter.doTheUpdate();
-            }
+            showConfirmDialog(false, mAdapter.getFeedItemList().get(0));
         }
         return false;
     }
 
+    private void showConfirmDialog(boolean isFirstRemoved, LocaleStore.LocaleInfo localeInfo) {
+        Locale currentSystemLocale = LocalePicker.getLocales().get(0);
+        if (!localeInfo.getLocale().equals(currentSystemLocale)) {
+            final LocaleDialogFragment localeDialogFragment =
+                    LocaleDialogFragment.newInstance();
+            Bundle args = new Bundle();
+            args.putInt(LocaleDialogFragment.ARG_DIALOG_TYPE, DIALOG_CONFIRM_SYSTEM_DEFAULT);
+            args.putSerializable(LocaleDialogFragment.ARG_TARGET_LOCALE,
+                    isFirstRemoved ? LocaleStore.getLocaleInfo(currentSystemLocale) : localeInfo);
+            localeDialogFragment.setArguments(args);
+            localeDialogFragment.show(mFragmentManager, TAG_DIALOG_CONFIRM_SYSTEM_DEFAULT);
+        } else {
+            mAdapter.doTheUpdate();
+        }
+    }
+
     // Hide the "Remove" menu if there is only one locale in the list, show it otherwise
     // This is called when the menu is first created, and then one add / remove locale
     private void updateVisibilityOfRemoveMenu() {
diff --git a/src/com/android/settings/localepicker/LocaleRecyclerView.java b/src/com/android/settings/localepicker/LocaleRecyclerView.java
deleted file mode 100644
index 4a5f28b..0000000
--- a/src/com/android/settings/localepicker/LocaleRecyclerView.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.localepicker;
-
-import android.content.Context;
-import android.util.AttributeSet;
-import android.view.MotionEvent;
-
-import androidx.recyclerview.widget.RecyclerView;
-
-class LocaleRecyclerView extends RecyclerView {
-    public LocaleRecyclerView(Context context) {
-        super(context);
-    }
-
-    public LocaleRecyclerView(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    public LocaleRecyclerView(Context context, AttributeSet attrs, int defStyle) {
-        super(context, attrs, defStyle);
-    }
-}
diff --git a/src/com/android/settings/network/EraseEuiccDataDialogFragment.java b/src/com/android/settings/network/EraseEuiccDataDialogFragment.java
index 32903bd..0200e52 100644
--- a/src/com/android/settings/network/EraseEuiccDataDialogFragment.java
+++ b/src/com/android/settings/network/EraseEuiccDataDialogFragment.java
@@ -23,7 +23,6 @@
 import android.content.DialogInterface;
 import android.os.AsyncTask;
 import android.os.Bundle;
-import android.os.RecoverySystem;
 import android.util.Log;
 
 import androidx.annotation.NonNull;
@@ -62,7 +61,7 @@
         return new AlertDialog.Builder(getActivity())
                 .setTitle(R.string.reset_esim_title)
                 .setMessage(R.string.reset_esim_desc)
-                .setPositiveButton(R.string.erase_euicc_data_button, this)
+                .setPositiveButton(R.string.erase_sim_confirm_button, this)
                 .setNegativeButton(R.string.cancel, null)
                 .setOnDismissListener(this)
                 .create();
diff --git a/src/com/android/settings/network/SubscriptionUtil.java b/src/com/android/settings/network/SubscriptionUtil.java
index 9d953bf..0cd12fe 100644
--- a/src/com/android/settings/network/SubscriptionUtil.java
+++ b/src/com/android/settings/network/SubscriptionUtil.java
@@ -23,6 +23,7 @@
 
 import android.annotation.Nullable;
 import android.content.Context;
+import android.content.SharedPreferences;
 import android.os.ParcelUuid;
 import android.provider.Settings;
 import android.telephony.PhoneNumberUtils;
@@ -61,6 +62,10 @@
 public class SubscriptionUtil {
     private static final String TAG = "SubscriptionUtil";
     private static final String PROFILE_GENERIC_DISPLAY_NAME = "CARD";
+    @VisibleForTesting
+    static final String SUB_ID = "sub_id";
+    @VisibleForTesting
+    static final String KEY_UNIQUE_SUBSCRIPTION_DISPLAYNAME = "unique_subscription_displayName";
     private static List<SubscriptionInfo> sAvailableResultsForTesting;
     private static List<SubscriptionInfo> sActiveResultsForTesting;
 
@@ -265,20 +270,21 @@
         // Map of SubscriptionId to DisplayName
         final Supplier<Stream<DisplayInfo>> originalInfos =
                 () -> getAvailableSubscriptions(context)
-                .stream()
-                .filter(i -> {
-                    // Filter out null values.
-                    return (i != null && i.getDisplayName() != null);
-                })
-                .map(i -> {
-                    DisplayInfo info = new DisplayInfo();
-                    info.subscriptionInfo = i;
-                    String displayName = i.getDisplayName().toString();
-                    info.originalName = TextUtils.equals(displayName, PROFILE_GENERIC_DISPLAY_NAME)
-                            ? context.getResources().getString(R.string.sim_card)
-                            : displayName.trim();
-                    return info;
-                });
+                        .stream()
+                        .filter(i -> {
+                            // Filter out null values.
+                            return (i != null && i.getDisplayName() != null);
+                        })
+                        .map(i -> {
+                            DisplayInfo info = new DisplayInfo();
+                            info.subscriptionInfo = i;
+                            String displayName = i.getDisplayName().toString();
+                            info.originalName =
+                                    TextUtils.equals(displayName, PROFILE_GENERIC_DISPLAY_NAME)
+                                    ? context.getResources().getString(R.string.sim_card)
+                                    : displayName.trim();
+                            return info;
+                        });
 
         // TODO(goldmanj) consider using a map of DisplayName to SubscriptionInfos.
         // A Unique set of display names
@@ -292,6 +298,14 @@
         // If a display name is duplicate, append the final 4 digits of the phone number.
         // Creates a mapping of Subscription id to original display name + phone number display name
         final Supplier<Stream<DisplayInfo>> uniqueInfos = () -> originalInfos.get().map(info -> {
+            String cachedDisplayName = getDisplayNameFromSharedPreference(
+                    context, info.subscriptionInfo.getSubscriptionId());
+            if (!TextUtils.isEmpty(cachedDisplayName)) {
+                Log.d(TAG, "use cached display name : " + cachedDisplayName);
+                info.uniqueName = cachedDisplayName;
+                return info;
+            }
+
             if (duplicateOriginalNames.contains(info.originalName)) {
                 // This may return null, if the user cannot view the phone number itself.
                 final String phoneNumber = getBidiFormattedPhoneNumber(context,
@@ -299,15 +313,17 @@
                 String lastFourDigits = "";
                 if (phoneNumber != null) {
                     lastFourDigits = (phoneNumber.length() > 4)
-                        ? phoneNumber.substring(phoneNumber.length() - 4) : phoneNumber;
+                            ? phoneNumber.substring(phoneNumber.length() - 4) : phoneNumber;
                 }
-
                 if (TextUtils.isEmpty(lastFourDigits)) {
                     info.uniqueName = info.originalName;
                 } else {
                     info.uniqueName = info.originalName + " " + lastFourDigits;
+                    Log.d(TAG, "Cache display name [" + info.uniqueName + "] for sub id "
+                            + info.subscriptionInfo.getSubscriptionId());
+                    saveDisplayNameToSharedPreference(
+                            context, info.subscriptionInfo.getSubscriptionId(), info.uniqueName);
                 }
-
             } else {
                 info.uniqueName = info.originalName;
             }
@@ -371,6 +387,27 @@
         return getUniqueSubscriptionDisplayName(info.getSubscriptionId(), context);
     }
 
+
+    private static SharedPreferences getDisplayNameSharedPreferences(Context context) {
+        return context.getSharedPreferences(
+                KEY_UNIQUE_SUBSCRIPTION_DISPLAYNAME, Context.MODE_PRIVATE);
+    }
+
+    private static SharedPreferences.Editor getDisplayNameSharedPreferenceEditor(Context context) {
+        return getDisplayNameSharedPreferences(context).edit();
+    }
+
+    private static void saveDisplayNameToSharedPreference(
+            Context context, int subId, CharSequence displayName) {
+        getDisplayNameSharedPreferenceEditor(context)
+                .putString(SUB_ID + subId, String.valueOf(displayName))
+                .apply();
+    }
+
+    private static String getDisplayNameFromSharedPreference(Context context, int subid) {
+        return getDisplayNameSharedPreferences(context).getString(SUB_ID + subid, "");
+    }
+
     public static String getDisplayName(SubscriptionInfo info) {
         final CharSequence name = info.getDisplayName();
         if (name != null) {
diff --git a/src/com/android/settings/network/telephony/AbstractMobileNetworkSettings.java b/src/com/android/settings/network/telephony/AbstractMobileNetworkSettings.java
index 245ac83..7addb59 100644
--- a/src/com/android/settings/network/telephony/AbstractMobileNetworkSettings.java
+++ b/src/com/android/settings/network/telephony/AbstractMobileNetworkSettings.java
@@ -18,7 +18,6 @@
 
 import android.os.SystemClock;
 import android.text.TextUtils;
-import android.util.Log;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
@@ -66,8 +65,7 @@
 
     TelephonyStatusControlSession setTelephonyAvailabilityStatus(
             Collection<AbstractPreferenceController> listOfPrefControllers) {
-        return (new TelephonyStatusControlSession.Builder(listOfPrefControllers))
-                .build();
+        return new TelephonyStatusControlSession(listOfPrefControllers, getLifecycle());
     }
 
     @Override
diff --git a/src/com/android/settings/network/telephony/TelephonyStatusControlSession.java b/src/com/android/settings/network/telephony/TelephonyStatusControlSession.java
deleted file mode 100644
index 3716f1f..0000000
--- a/src/com/android/settings/network/telephony/TelephonyStatusControlSession.java
+++ /dev/null
@@ -1,117 +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.network.telephony;
-
-import android.util.Log;
-
-import com.android.settings.core.BasePreferenceController;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.utils.ThreadUtils;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Future;
-
-/**
- * Session for controlling the status of TelephonyPreferenceController(s).
- *
- * Within this session, result of {@link BasePreferenceController#availabilityStatus()}
- * would be under control.
- */
-public class TelephonyStatusControlSession implements AutoCloseable {
-
-    private static final String LOG_TAG = "TelephonyStatusControlSS";
-
-    private Collection<AbstractPreferenceController> mControllers;
-    private Collection<Future<Boolean>> mResult = new ArrayList<>();
-
-    /**
-     * Buider of session
-     */
-    public static class Builder {
-        private Collection<AbstractPreferenceController> mControllers;
-
-        /**
-         * Constructor
-         *
-         * @param controllers is a collection of {@link AbstractPreferenceController}
-         *        which would have {@link BasePreferenceController#availabilityStatus()}
-         *        under control within this session.
-         */
-        public Builder(Collection<AbstractPreferenceController> controllers) {
-            mControllers = controllers;
-        }
-
-        /**
-         * Method to build this session.
-         * @return {@link TelephonyStatusControlSession} session been setup.
-         */
-        public TelephonyStatusControlSession build() {
-            return new TelephonyStatusControlSession(mControllers);
-        }
-    }
-
-    private TelephonyStatusControlSession(Collection<AbstractPreferenceController> controllers) {
-        mControllers = controllers;
-        controllers.forEach(prefCtrl -> mResult
-                .add(ThreadUtils.postOnBackgroundThread(() -> setupAvailabilityStatus(prefCtrl))));
-
-    }
-
-    /**
-     * Close the session.
-     *
-     * No longer control the status.
-     */
-    public void close() {
-        //check the background thread is finished then unset the status of availability.
-
-        for (Future<Boolean> result : mResult) {
-            try {
-                result.get();
-            } catch (ExecutionException | InterruptedException exception) {
-                Log.e(LOG_TAG, "setup availability status failed!", exception);
-            }
-        }
-        unsetAvailabilityStatus(mControllers);
-    }
-
-    private Boolean setupAvailabilityStatus(AbstractPreferenceController controller) {
-        try {
-            if (controller instanceof TelephonyAvailabilityHandler) {
-                int status = ((BasePreferenceController) controller)
-                        .getAvailabilityStatus();
-                ((TelephonyAvailabilityHandler) controller).setAvailabilityStatus(status);
-            }
-            return true;
-        } catch (Exception exception) {
-            Log.e(LOG_TAG, "Setup availability status failed!", exception);
-            return false;
-        }
-    }
-
-    private void unsetAvailabilityStatus(
-            Collection<AbstractPreferenceController> controllerLists) {
-        controllerLists.stream()
-                .filter(controller -> controller instanceof TelephonyAvailabilityHandler)
-                .map(TelephonyAvailabilityHandler.class::cast)
-                .forEach(controller -> {
-                    controller.unsetAvailabilityStatus();
-                });
-    }
-}
diff --git a/src/com/android/settings/network/telephony/TelephonyStatusControlSession.kt b/src/com/android/settings/network/telephony/TelephonyStatusControlSession.kt
new file mode 100644
index 0000000..0e63c8c
--- /dev/null
+++ b/src/com/android/settings/network/telephony/TelephonyStatusControlSession.kt
@@ -0,0 +1,86 @@
+/*
+ * 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.network.telephony
+
+import android.util.Log
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.coroutineScope
+import com.android.settings.core.BasePreferenceController
+import com.android.settingslib.core.AbstractPreferenceController
+import com.google.common.collect.Sets
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.Job
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.yield
+
+/**
+ * Session for controlling the status of TelephonyPreferenceController(s).
+ *
+ * Within this session, result of [BasePreferenceController.getAvailabilityStatus]
+ * would be under control.
+ */
+class TelephonyStatusControlSession(
+    private val controllers: Collection<AbstractPreferenceController>,
+    lifecycle: Lifecycle,
+) : AutoCloseable {
+    private var job: Job? = null
+    private val controllerSet = Sets.newConcurrentHashSet<TelephonyAvailabilityHandler>()
+
+    init {
+        job = lifecycle.coroutineScope.launch(Dispatchers.Default) {
+            for (controller in controllers) {
+                launch {
+                    setupAvailabilityStatus(controller)
+                }
+            }
+        }
+    }
+
+    /**
+     * Close the session.
+     *
+     * No longer control the status.
+     */
+    override fun close() {
+        job?.cancel()
+        unsetAvailabilityStatus()
+    }
+
+    private suspend fun setupAvailabilityStatus(controller: AbstractPreferenceController): Boolean =
+        try {
+            if (controller is TelephonyAvailabilityHandler) {
+                val status = (controller as BasePreferenceController).availabilityStatus
+                yield() // prompt cancellation guarantee
+                if (controllerSet.add(controller)) {
+                    controller.setAvailabilityStatus(status)
+                }
+            }
+            true
+        } catch (exception: Exception) {
+            Log.e(LOG_TAG, "Setup availability status failed!", exception)
+            false
+        }
+
+    private fun unsetAvailabilityStatus() {
+        for (controller in controllerSet) {
+            controller.unsetAvailabilityStatus()
+        }
+    }
+
+    companion object {
+        private const val LOG_TAG = "TelephonyStatusControlSS"
+    }
+}
diff --git a/src/com/android/settings/notification/SeekBarVolumizerFactory.java b/src/com/android/settings/notification/SeekBarVolumizerFactory.java
new file mode 100644
index 0000000..6fac2c1
--- /dev/null
+++ b/src/com/android/settings/notification/SeekBarVolumizerFactory.java
@@ -0,0 +1,44 @@
+/*
+ * 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.notification;
+
+import android.content.Context;
+import android.net.Uri;
+import android.preference.SeekBarVolumizer;
+
+/**
+ * Testable wrapper around {@link SeekBarVolumizer} constructor.
+ */
+public class SeekBarVolumizerFactory {
+    private final Context mContext;
+
+    public SeekBarVolumizerFactory(Context context) {
+        mContext = context;
+    }
+
+    /**
+     * Creates a new SeekBarVolumizer.
+     *
+     * @param streamType of the audio manager.
+     * @param defaultUri of the volume.
+     * @param sbvc callback of the seekbar volumizer.
+     * @return a SeekBarVolumizer.
+     */
+    public SeekBarVolumizer create(int streamType, Uri defaultUri, SeekBarVolumizer.Callback sbvc) {
+        return new SeekBarVolumizer(mContext, streamType, defaultUri, sbvc);
+    }
+}
diff --git a/src/com/android/settings/notification/VolumeSeekBarPreference.java b/src/com/android/settings/notification/VolumeSeekBarPreference.java
index 0000eba..9f14b73 100644
--- a/src/com/android/settings/notification/VolumeSeekBarPreference.java
+++ b/src/com/android/settings/notification/VolumeSeekBarPreference.java
@@ -37,6 +37,8 @@
 import com.android.settings.R;
 import com.android.settings.widget.SeekBarPreference;
 
+import java.text.NumberFormat;
+import java.util.Locale;
 import java.util.Objects;
 
 /** A slider preference that directly controls an audio stream volume (no dialog) **/
@@ -47,8 +49,9 @@
 
     protected SeekBar mSeekBar;
     private int mStream;
+    private SeekBarVolumizer mVolumizer;
     @VisibleForTesting
-    SeekBarVolumizer mVolumizer;
+    SeekBarVolumizerFactory mSeekBarVolumizerFactory;
     private Callback mCallback;
     private Listener mListener;
     private ImageView mIconView;
@@ -62,30 +65,36 @@
     private boolean mStopped;
     @VisibleForTesting
     AudioManager mAudioManager;
+    private Locale mLocale;
+    private NumberFormat mNumberFormat;
 
     public VolumeSeekBarPreference(Context context, AttributeSet attrs, int defStyleAttr,
             int defStyleRes) {
         super(context, attrs, defStyleAttr, defStyleRes);
         setLayoutResource(R.layout.preference_volume_slider);
         mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
+        mSeekBarVolumizerFactory = new SeekBarVolumizerFactory(context);
     }
 
     public VolumeSeekBarPreference(Context context, AttributeSet attrs, int defStyleAttr) {
         super(context, attrs, defStyleAttr);
         setLayoutResource(R.layout.preference_volume_slider);
         mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
+        mSeekBarVolumizerFactory = new SeekBarVolumizerFactory(context);
     }
 
     public VolumeSeekBarPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
         setLayoutResource(R.layout.preference_volume_slider);
         mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
+        mSeekBarVolumizerFactory = new SeekBarVolumizerFactory(context);
     }
 
     public VolumeSeekBarPreference(Context context) {
         super(context);
         setLayoutResource(R.layout.preference_volume_slider);
         mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
+        mSeekBarVolumizerFactory = new SeekBarVolumizerFactory(context);
     }
 
     public void setStream(int stream) {
@@ -143,6 +152,7 @@
                 if (mCallback != null) {
                     mCallback.onStreamValueChanged(mStream, progress);
                 }
+                overrideSeekBarStateDescription(formatStateDescription(progress));
             }
             @Override
             public void onMuted(boolean muted, boolean zenMuted) {
@@ -170,7 +180,7 @@
         };
         final Uri sampleUri = mStream == AudioManager.STREAM_MUSIC ? getMediaVolumeUri() : null;
         if (mVolumizer == null) {
-            mVolumizer = new SeekBarVolumizer(getContext(), mStream, sampleUri, sbvc);
+            mVolumizer = mSeekBarVolumizerFactory.create(mStream, sampleUri, sbvc);
         }
         mVolumizer.start();
         mVolumizer.setSeekBar(mSeekBar);
@@ -216,6 +226,33 @@
                 + "/" + R.raw.media_volume);
     }
 
+    @VisibleForTesting
+    CharSequence formatStateDescription(int progress) {
+        // This code follows the same approach in ProgressBar.java, but it rounds down the percent
+        // to match it with what the talkback feature says after any progress change. (b/285458191)
+        // Cache the locale-appropriate NumberFormat.  Configuration locale is guaranteed
+        // non-null, so the first time this is called we will always get the appropriate
+        // NumberFormat, then never regenerate it unless the locale changes on the fly.
+        Locale curLocale = getContext().getResources().getConfiguration().getLocales().get(0);
+        if (mLocale == null || !mLocale.equals(curLocale)) {
+            mLocale = curLocale;
+            mNumberFormat = NumberFormat.getPercentInstance(mLocale);
+        }
+        return mNumberFormat.format(getPercent(progress));
+    }
+
+    @VisibleForTesting
+    double getPercent(float progress) {
+        final float maxProgress = getMax();
+        final float minProgress = getMin();
+        final float diffProgress = maxProgress - minProgress;
+        if (diffProgress <= 0.0f) {
+            return 0.0f;
+        }
+        final float percent = (progress - minProgress) / diffProgress;
+        return Math.floor(Math.max(0.0f, Math.min(1.0f, percent)) * 100) / 100;
+    }
+
     public void setSuppressionText(String text) {
         if (Objects.equals(text, mSuppressionText)) return;
         mSuppressionText = text;
diff --git a/src/com/android/settings/notification/app/ConversationListPreferenceController.java b/src/com/android/settings/notification/app/ConversationListPreferenceController.java
index f893df3..6703e4e 100644
--- a/src/com/android/settings/notification/app/ConversationListPreferenceController.java
+++ b/src/com/android/settings/notification/app/ConversationListPreferenceController.java
@@ -23,6 +23,7 @@
 import android.os.UserHandle;
 import android.provider.Settings;
 import android.service.notification.ConversationChannelWrapper;
+import android.text.BidiFormatter;
 import android.text.TextUtils;
 
 import androidx.annotation.VisibleForTesting;
@@ -132,7 +133,7 @@
     CharSequence getTitle(ConversationChannelWrapper conversation) {
         ShortcutInfo si = conversation.getShortcutInfo();
         return si != null
-                ? si.getLabel()
+                ? BidiFormatter.getInstance().unicodeWrap(si.getLabel())
                 : conversation.getNotificationChannel().getName();
     }
 
diff --git a/src/com/android/settings/overlay/FeatureFactory.java b/src/com/android/settings/overlay/FeatureFactory.java
index c536a38..97fc343 100644
--- a/src/com/android/settings/overlay/FeatureFactory.java
+++ b/src/com/android/settings/overlay/FeatureFactory.java
@@ -31,6 +31,7 @@
 import com.android.settings.biometrics.face.FaceFeatureProvider;
 import com.android.settings.biometrics2.factory.BiometricsRepositoryProvider;
 import com.android.settings.bluetooth.BluetoothFeatureProvider;
+import com.android.settings.connecteddevice.stylus.StylusFeatureProvider;
 import com.android.settings.dashboard.DashboardFeatureProvider;
 import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider;
 import com.android.settings.deviceinfo.hardwareinfo.HardwareInfoFeatureProvider;
@@ -40,6 +41,7 @@
 import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
 import com.android.settings.gestures.AssistGestureFeatureProvider;
 import com.android.settings.homepage.contextualcards.ContextualCardFeatureProvider;
+import com.android.settings.inputmethod.KeyboardSettingsFeatureProvider;
 import com.android.settings.localepicker.LocaleFeatureProvider;
 import com.android.settings.panel.PanelFeatureProvider;
 import com.android.settings.search.SearchFeatureProvider;
@@ -130,8 +132,7 @@
     /**
      * Gets implementation for Battery Settings provider.
      */
-    public abstract BatterySettingsFeatureProvider getBatterySettingsFeatureProvider(
-            Context context);
+    public abstract BatterySettingsFeatureProvider getBatterySettingsFeatureProvider();
 
     public abstract DashboardFeatureProvider getDashboardFeatureProvider(Context context);
 
@@ -204,6 +205,16 @@
      */
     public abstract WifiFeatureProvider getWifiFeatureProvider();
 
+    /**
+     * Retrieves implementation for keyboard settings feature.
+     */
+    public abstract KeyboardSettingsFeatureProvider getKeyboardSettingsFeatureProvider();
+
+    /**
+     * Retrieves implementation for stylus settings feature.
+     */
+    public abstract StylusFeatureProvider getStylusFeatureProvider();
+
     public static final class FactoryNotFoundException extends RuntimeException {
         public FactoryNotFoundException(Throwable throwable) {
             super("Unable to create factory. Did you misconfigure Proguard?", throwable);
diff --git a/src/com/android/settings/overlay/FeatureFactoryImpl.java b/src/com/android/settings/overlay/FeatureFactoryImpl.java
index 3ddda47..8c92792 100644
--- a/src/com/android/settings/overlay/FeatureFactoryImpl.java
+++ b/src/com/android/settings/overlay/FeatureFactoryImpl.java
@@ -42,6 +42,8 @@
 import com.android.settings.bluetooth.BluetoothFeatureProvider;
 import com.android.settings.bluetooth.BluetoothFeatureProviderImpl;
 import com.android.settings.connecteddevice.dock.DockUpdaterFeatureProviderImpl;
+import com.android.settings.connecteddevice.stylus.StylusFeatureProvider;
+import com.android.settings.connecteddevice.stylus.StylusFeatureProviderImpl;
 import com.android.settings.core.instrumentation.SettingsMetricsFeatureProvider;
 import com.android.settings.dashboard.DashboardFeatureProvider;
 import com.android.settings.dashboard.DashboardFeatureProviderImpl;
@@ -61,6 +63,8 @@
 import com.android.settings.gestures.AssistGestureFeatureProviderImpl;
 import com.android.settings.homepage.contextualcards.ContextualCardFeatureProvider;
 import com.android.settings.homepage.contextualcards.ContextualCardFeatureProviderImpl;
+import com.android.settings.inputmethod.KeyboardSettingsFeatureProvider;
+import com.android.settings.inputmethod.KeyboardSettingsFeatureProviderImpl;
 import com.android.settings.localepicker.LocaleFeatureProvider;
 import com.android.settings.localepicker.LocaleFeatureProviderImpl;
 import com.android.settings.panel.PanelFeatureProvider;
@@ -116,6 +120,8 @@
     private AccessibilityMetricsFeatureProvider mAccessibilityMetricsFeatureProvider;
     private AdvancedVpnFeatureProvider mAdvancedVpnFeatureProvider;
     private WifiFeatureProvider mWifiFeatureProvider;
+    private KeyboardSettingsFeatureProvider mKeyboardSettingsFeatureProvider;
+    private StylusFeatureProvider mStylusFeatureProvider;
 
     @Override
     public HardwareInfoFeatureProvider getHardwareInfoFeatureProvider() {
@@ -154,9 +160,9 @@
     }
 
     @Override
-    public BatterySettingsFeatureProvider getBatterySettingsFeatureProvider(Context context) {
+    public BatterySettingsFeatureProvider getBatterySettingsFeatureProvider() {
         if (mBatterySettingsFeatureProvider == null) {
-            mBatterySettingsFeatureProvider = new BatterySettingsFeatureProviderImpl(context);
+            mBatterySettingsFeatureProvider = new BatterySettingsFeatureProviderImpl();
         }
         return mBatterySettingsFeatureProvider;
     }
@@ -372,4 +378,20 @@
         }
         return mWifiFeatureProvider;
     }
+
+    @Override
+    public KeyboardSettingsFeatureProvider getKeyboardSettingsFeatureProvider() {
+        if (mKeyboardSettingsFeatureProvider == null) {
+            mKeyboardSettingsFeatureProvider = new KeyboardSettingsFeatureProviderImpl();
+        }
+        return mKeyboardSettingsFeatureProvider;
+    }
+
+    @Override
+    public StylusFeatureProvider getStylusFeatureProvider() {
+        if (mStylusFeatureProvider == null) {
+            mStylusFeatureProvider = new StylusFeatureProviderImpl();
+        }
+        return mStylusFeatureProvider;
+    }
 }
diff --git a/src/com/android/settings/password/ChooseLockGeneric.java b/src/com/android/settings/password/ChooseLockGeneric.java
index 4c4795c..0bf1255 100644
--- a/src/com/android/settings/password/ChooseLockGeneric.java
+++ b/src/com/android/settings/password/ChooseLockGeneric.java
@@ -33,6 +33,7 @@
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_DEVICE_PASSWORD_REQUIREMENT_ONLY;
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_IS_CALLING_APP_ADMIN;
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_REQUESTED_MIN_COMPLEXITY;
+import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_WRITE_REPAIR_MODE_PW;
 
 import android.app.Activity;
 import android.app.Dialog;
@@ -795,6 +796,9 @@
                 if (getIntent().getBooleanExtra(EXTRA_SHOW_OPTIONS_BUTTON, false)) {
                     intent.putExtra(EXTRA_SHOW_OPTIONS_BUTTON, chooseLockSkipped);
                 }
+                if (getIntent().getBooleanExtra(EXTRA_KEY_REQUEST_WRITE_REPAIR_MODE_PW, false)) {
+                    intent.putExtra(EXTRA_KEY_REQUEST_WRITE_REPAIR_MODE_PW, true);
+                }
                 intent.putExtra(EXTRA_CHOOSE_LOCK_GENERIC_EXTRAS, getIntent().getExtras());
                 // If the caller requested Gatekeeper Password Handle to be returned, we assume it
                 // came from biometric enrollment. onActivityResult will put the LockSettingsService
diff --git a/src/com/android/settings/password/ChooseLockPassword.java b/src/com/android/settings/password/ChooseLockPassword.java
index 16c4f5b..09d1924 100644
--- a/src/com/android/settings/password/ChooseLockPassword.java
+++ b/src/com/android/settings/password/ChooseLockPassword.java
@@ -65,7 +65,6 @@
 import android.text.TextUtils;
 import android.text.TextWatcher;
 import android.util.Log;
-import android.util.Pair;
 import android.view.KeyEvent;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -74,9 +73,11 @@
 import android.view.inputmethod.EditorInfo;
 import android.widget.CheckBox;
 import android.widget.ImeAwareEditText;
+import android.widget.LinearLayout;
 import android.widget.TextView;
 import android.widget.TextView.OnEditorActionListener;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.StringRes;
 import androidx.fragment.app.Fragment;
 import androidx.recyclerview.widget.LinearLayoutManager;
@@ -87,7 +88,6 @@
 import com.android.internal.widget.LockscreenCredential;
 import com.android.internal.widget.PasswordValidationError;
 import com.android.internal.widget.TextViewInputDisabler;
-import com.android.internal.widget.VerifyCredentialResponse;
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
 import com.android.settings.SetupWizardUtils;
@@ -234,6 +234,7 @@
         private LockscreenCredential mCurrentCredential;
         private LockscreenCredential mChosenPassword;
         private boolean mRequestGatekeeperPassword;
+        private boolean mRequestWriteRepairModePassword;
         private ImeAwareEditText mPasswordEntry;
         private TextViewInputDisabler mPasswordEntryInputDisabler;
 
@@ -517,7 +518,9 @@
                     || DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC == mPasswordType
                     || DevicePolicyManager.PASSWORD_QUALITY_COMPLEX == mPasswordType;
 
-            setupPasswordRequirementsView(view);
+            final LinearLayout headerLayout = view.findViewById(
+                    R.id.sud_layout_header);
+            setupPasswordRequirementsView(headerLayout);
 
             mPasswordRestrictionView.setLayoutManager(new LinearLayoutManager(getActivity()));
             mPasswordEntry = view.findViewById(R.id.password_entry);
@@ -561,6 +564,8 @@
                     ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
             mRequestGatekeeperPassword = intent.getBooleanExtra(
                     ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_GK_PW_HANDLE, false);
+            mRequestWriteRepairModePassword = intent.getBooleanExtra(
+                    ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_WRITE_REPAIR_MODE_PW, false);
             if (savedInstanceState == null) {
                 updateStage(Stage.Introduction);
                 if (confirmCredentials) {
@@ -570,6 +575,7 @@
                             .setTitle(getString(R.string.unlock_set_unlock_launch_picker_title))
                             .setReturnCredentials(true)
                             .setRequestGatekeeperPasswordHandle(mRequestGatekeeperPassword)
+                            .setRequestWriteRepairModePassword(mRequestWriteRepairModePassword)
                             .setUserId(mUserId)
                             .show();
                 }
@@ -626,11 +632,33 @@
             }
         }
 
-        private void setupPasswordRequirementsView(View view) {
-            mPasswordRestrictionView = view.findViewById(R.id.password_requirements_view);
+        private void setupPasswordRequirementsView(@Nullable ViewGroup view) {
+            if (view == null) {
+                return;
+            }
+
+            createHintMessageView(view);
             mPasswordRestrictionView.setLayoutManager(new LinearLayoutManager(getActivity()));
-            mPasswordRequirementAdapter = new PasswordRequirementAdapter();
+            mPasswordRequirementAdapter = new PasswordRequirementAdapter(getActivity());
             mPasswordRestrictionView.setAdapter(mPasswordRequirementAdapter);
+            view.addView(mPasswordRestrictionView);
+        }
+
+        private void createHintMessageView(ViewGroup view) {
+            if (mPasswordRestrictionView != null) {
+                return;
+            }
+
+            final TextView sucTitleView = view.findViewById(R.id.suc_layout_title);
+            final ViewGroup.MarginLayoutParams titleLayoutParams =
+                    (ViewGroup.MarginLayoutParams) sucTitleView.getLayoutParams();
+            mPasswordRestrictionView = new RecyclerView(getActivity());
+            final LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
+                    LinearLayout.LayoutParams.MATCH_PARENT,
+                    LinearLayout.LayoutParams.WRAP_CONTENT);
+            lp.setMargins(titleLayoutParams.leftMargin, getResources().getDimensionPixelSize(
+                    R.dimen.password_requirement_view_margin_top), titleLayoutParams.leftMargin, 0);
+            mPasswordRestrictionView.setLayoutParams(lp);
         }
 
         @Override
@@ -1009,7 +1037,10 @@
             setNextEnabled(false);
 
             mSaveAndFinishWorker = new SaveAndFinishWorker();
-            mSaveAndFinishWorker.setListener(this);
+            mSaveAndFinishWorker
+                    .setListener(this)
+                    .setRequestGatekeeperPasswordHandle(mRequestGatekeeperPassword)
+                    .setRequestWriteRepairModePassword(mRequestWriteRepairModePassword);
 
             getFragmentManager().beginTransaction().add(mSaveAndFinishWorker,
                     FRAGMENT_TAG_SAVE_AND_FINISH).commit();
@@ -1029,7 +1060,7 @@
                     (mAutoPinConfirmOption != null && mAutoPinConfirmOption.isChecked()),
                     mUserId);
 
-            mSaveAndFinishWorker.start(mLockPatternUtils, mRequestGatekeeperPassword,
+            mSaveAndFinishWorker.start(mLockPatternUtils,
                     mChosenPassword, mCurrentCredential, mUserId);
         }
 
@@ -1082,50 +1113,4 @@
             }
         }
     }
-
-    public static class SaveAndFinishWorker extends SaveChosenLockWorkerBase {
-
-        private LockscreenCredential mChosenPassword;
-        private LockscreenCredential mCurrentCredential;
-
-        public void start(LockPatternUtils utils, boolean requestGatekeeperPassword,
-                LockscreenCredential chosenPassword, LockscreenCredential currentCredential,
-                int userId) {
-            prepare(utils, requestGatekeeperPassword, userId);
-
-            mChosenPassword = chosenPassword;
-            mCurrentCredential = currentCredential != null ? currentCredential
-                    : LockscreenCredential.createNone();
-            mUserId = userId;
-
-            start();
-        }
-
-        @Override
-        protected Pair<Boolean, Intent> saveAndVerifyInBackground() {
-            final boolean success = mUtils.setLockCredential(
-                    mChosenPassword, mCurrentCredential, mUserId);
-            if (success) {
-                unifyProfileCredentialIfRequested();
-            }
-            Intent result = null;
-            if (success && mRequestGatekeeperPassword) {
-                // If a Gatekeeper Password was requested, invoke the LockSettingsService code
-                // path to return a Gatekeeper Password based on the credential that the user
-                // chose. This should only be run if the credential was successfully set.
-                final VerifyCredentialResponse response = mUtils.verifyCredential(mChosenPassword,
-                        mUserId, LockPatternUtils.VERIFY_FLAG_REQUEST_GK_PW_HANDLE);
-
-                if (!response.isMatched() || !response.containsGatekeeperPasswordHandle()) {
-                    Log.e(TAG, "critical: bad response or missing GK PW handle for known good"
-                            + " password: " + response.toString());
-                }
-
-                result = new Intent();
-                result.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE,
-                        response.getGatekeeperPasswordHandle());
-            }
-            return Pair.create(success, result);
-        }
-    }
 }
diff --git a/src/com/android/settings/password/ChooseLockPattern.java b/src/com/android/settings/password/ChooseLockPattern.java
index a2fd986..7569c15 100644
--- a/src/com/android/settings/password/ChooseLockPattern.java
+++ b/src/com/android/settings/password/ChooseLockPattern.java
@@ -34,7 +34,6 @@
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.util.Log;
-import android.util.Pair;
 import android.util.TypedValue;
 import android.view.KeyEvent;
 import android.view.LayoutInflater;
@@ -53,7 +52,6 @@
 import com.android.internal.widget.LockPatternView.Cell;
 import com.android.internal.widget.LockPatternView.DisplayMode;
 import com.android.internal.widget.LockscreenCredential;
-import com.android.internal.widget.VerifyCredentialResponse;
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
 import com.android.settings.SetupWizardUtils;
@@ -206,6 +204,7 @@
 
         private LockscreenCredential mCurrentCredential;
         private boolean mRequestGatekeeperPassword;
+        private boolean mRequestWriteRepairModePassword;
         protected TextView mHeaderText;
         protected LockPatternView mLockPatternView;
         protected TextView mFooterText;
@@ -563,6 +562,8 @@
                     intent.getParcelableExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
             mRequestGatekeeperPassword = intent.getBooleanExtra(
                     ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_GK_PW_HANDLE, false);
+            mRequestWriteRepairModePassword = intent.getBooleanExtra(
+                    ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_WRITE_REPAIR_MODE_PW, false);
 
             if (savedInstanceState == null) {
                 if (confirmCredentials) {
@@ -576,6 +577,7 @@
                             .setTitle(getString(R.string.unlock_set_unlock_launch_picker_title))
                             .setReturnCredentials(true)
                             .setRequestGatekeeperPasswordHandle(mRequestGatekeeperPassword)
+                            .setRequestWriteRepairModePassword(mRequestWriteRepairModePassword)
                             .setUserId(mUserId)
                             .show();
 
@@ -827,7 +829,10 @@
             setRightButtonEnabled(false);
 
             mSaveAndFinishWorker = new SaveAndFinishWorker();
-            mSaveAndFinishWorker.setListener(this);
+            mSaveAndFinishWorker
+                    .setListener(this)
+                    .setRequestGatekeeperPasswordHandle(mRequestGatekeeperPassword)
+                    .setRequestWriteRepairModePassword(mRequestWriteRepairModePassword);
 
             getFragmentManager().beginTransaction().add(mSaveAndFinishWorker,
                     FRAGMENT_TAG_SAVE_AND_FINISH).commit();
@@ -843,7 +848,7 @@
                             profileCredential);
                 }
             }
-            mSaveAndFinishWorker.start(mLockPatternUtils, mRequestGatekeeperPassword,
+            mSaveAndFinishWorker.start(mLockPatternUtils,
                     mChosenPattern, mCurrentCredential, mUserId);
         }
 
@@ -867,63 +872,4 @@
             getActivity().finish();
         }
     }
-
-    public static class SaveAndFinishWorker extends SaveChosenLockWorkerBase {
-
-        private LockscreenCredential mChosenPattern;
-        private LockscreenCredential mCurrentCredential;
-        private boolean mLockVirgin;
-
-        public void start(LockPatternUtils utils, boolean requestGatekeeperPassword,
-                LockscreenCredential chosenPattern, LockscreenCredential currentCredential,
-                int userId) {
-            prepare(utils, requestGatekeeperPassword, userId);
-
-            mCurrentCredential = currentCredential != null ? currentCredential
-                    : LockscreenCredential.createNone();
-            mChosenPattern = chosenPattern;
-            mUserId = userId;
-
-            mLockVirgin = !mUtils.isPatternEverChosen(mUserId);
-
-            start();
-        }
-
-        @Override
-        protected Pair<Boolean, Intent> saveAndVerifyInBackground() {
-            final int userId = mUserId;
-            final boolean success = mUtils.setLockCredential(mChosenPattern, mCurrentCredential,
-                    userId);
-            if (success) {
-                unifyProfileCredentialIfRequested();
-            }
-            Intent result = null;
-            if (success && mRequestGatekeeperPassword) {
-                // If a Gatekeeper Password was requested, invoke the LockSettingsService code
-                // path to return a Gatekeeper Password based on the credential that the user
-                // chose. This should only be run if the credential was successfully set.
-                final VerifyCredentialResponse response = mUtils.verifyCredential(mChosenPattern,
-                        userId, LockPatternUtils.VERIFY_FLAG_REQUEST_GK_PW_HANDLE);
-
-                if (!response.isMatched() || !response.containsGatekeeperPasswordHandle()) {
-                    Log.e(TAG, "critical: bad response or missing GK PW handle for known good"
-                            + " pattern: " + response.toString());
-                }
-
-                result = new Intent();
-                result.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE,
-                        response.getGatekeeperPasswordHandle());
-            }
-            return Pair.create(success, result);
-        }
-
-        @Override
-        protected void finish(Intent resultData) {
-            if (mLockVirgin) {
-                mUtils.setVisiblePatternEnabled(true, mUserId);
-            }
-
-            super.finish(resultData);
-        }
-    }
 }
diff --git a/src/com/android/settings/password/ChooseLockSettingsHelper.java b/src/com/android/settings/password/ChooseLockSettingsHelper.java
index 216f7db..e5fc550 100644
--- a/src/com/android/settings/password/ChooseLockSettingsHelper.java
+++ b/src/com/android/settings/password/ChooseLockSettingsHelper.java
@@ -71,6 +71,10 @@
     // Gatekeeper password handle, which can subsequently be used to generate Gatekeeper
     // HardwareAuthToken(s) via LockSettingsService#verifyGatekeeperPasswordHandle
     public static final String EXTRA_KEY_GK_PW_HANDLE = "gk_pw_handle";
+    public static final String EXTRA_KEY_REQUEST_WRITE_REPAIR_MODE_PW =
+            "request_write_repair_mode_pw";
+    public static final String EXTRA_KEY_WROTE_REPAIR_MODE_CREDENTIAL =
+            "wrote_repair_mode_credential";
 
     /**
      * When EXTRA_KEY_UNIFICATION_PROFILE_CREDENTIAL and EXTRA_KEY_UNIFICATION_PROFILE_ID are
@@ -152,6 +156,7 @@
         @Nullable private RemoteLockscreenValidationSession mRemoteLockscreenValidationSession;
         @Nullable private ComponentName mRemoteLockscreenValidationServiceComponent;
         private boolean mRequestGatekeeperPasswordHandle;
+        private boolean mRequestWriteRepairModePassword;
         private boolean mTaskOverlay;
 
         public Builder(@NonNull Activity activity) {
@@ -336,6 +341,17 @@
         }
 
         /**
+         * @param requestWriteRepairModePassword Set {@code true} to request that
+         * LockSettingsService writes the password data to the repair mode file after the user
+         * credential is verified successfully.
+         */
+        @NonNull public Builder setRequestWriteRepairModePassword(
+                boolean requestWriteRepairModePassword) {
+            mRequestWriteRepairModePassword = requestWriteRepairModePassword;
+            return this;
+        }
+
+        /**
          * Support of ActivityResultLauncher.
          *
          * Which allowing the launch operation be controlled externally.
@@ -348,7 +364,8 @@
         }
 
         @NonNull public ChooseLockSettingsHelper build() {
-            if (!mAllowAnyUserId && mUserId != LockPatternUtils.USER_FRP) {
+            if (!mAllowAnyUserId && mUserId != LockPatternUtils.USER_FRP
+                    && mUserId != LockPatternUtils.USER_REPAIR_MODE) {
                 Utils.enforceSameOwner(mActivity, mUserId);
             }
 
@@ -385,7 +402,7 @@
                 mBuilder.mRemoteLockscreenValidationSession,
                 mBuilder.mRemoteLockscreenValidationServiceComponent, mBuilder.mAllowAnyUserId,
                 mBuilder.mForegroundOnly, mBuilder.mRequestGatekeeperPasswordHandle,
-                mBuilder.mTaskOverlay);
+                mBuilder.mRequestWriteRepairModePassword, mBuilder.mTaskOverlay);
     }
 
     private boolean launchConfirmationActivity(int request, @Nullable CharSequence title,
@@ -396,7 +413,7 @@
             @Nullable RemoteLockscreenValidationSession remoteLockscreenValidationSession,
             @Nullable ComponentName remoteLockscreenValidationServiceComponent,
             boolean allowAnyUser, boolean foregroundOnly, boolean requestGatekeeperPasswordHandle,
-            boolean taskOverlay) {
+            boolean requestWriteRepairModePassword, boolean taskOverlay) {
         Optional<Class<?>> activityClass = determineAppropriateActivityClass(
                 returnCredentials, forceVerifyPath, userId, remoteLockscreenValidationSession);
         if (activityClass.isEmpty()) {
@@ -407,7 +424,7 @@
                 returnCredentials, external, forceVerifyPath, userId, alternateButton,
                 checkboxLabel, remoteLockscreenValidation, remoteLockscreenValidationSession,
                 remoteLockscreenValidationServiceComponent, allowAnyUser, foregroundOnly,
-                requestGatekeeperPasswordHandle, taskOverlay);
+                requestGatekeeperPasswordHandle, requestWriteRepairModePassword, taskOverlay);
     }
 
     private boolean launchConfirmationActivity(int request, CharSequence title, CharSequence header,
@@ -418,7 +435,7 @@
             @Nullable RemoteLockscreenValidationSession remoteLockscreenValidationSession,
             @Nullable ComponentName remoteLockscreenValidationServiceComponent,
             boolean allowAnyUser, boolean foregroundOnly, boolean requestGatekeeperPasswordHandle,
-            boolean taskOverlay) {
+            boolean requestWriteRepairModePassword, boolean taskOverlay) {
         final Intent intent = new Intent();
         intent.putExtra(ConfirmDeviceCredentialBaseFragment.TITLE_TEXT, title);
         intent.putExtra(ConfirmDeviceCredentialBaseFragment.HEADER_TEXT, header);
@@ -442,6 +459,8 @@
         intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_ALLOW_ANY_USER, allowAnyUser);
         intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_GK_PW_HANDLE,
                 requestGatekeeperPasswordHandle);
+        intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_WRITE_REPAIR_MODE_PW,
+                requestWriteRepairModePassword);
 
         intent.setClassName(SETTINGS_PACKAGE_NAME, activityClass.getName());
         intent.putExtra(SettingsBaseActivity.EXTRA_PAGE_TRANSITION_TYPE,
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
index fabca6b..f2f6520 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
@@ -23,6 +23,7 @@
 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;
 import android.app.KeyguardManager;
@@ -32,6 +33,7 @@
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
+import android.content.res.Configuration;
 import android.graphics.Color;
 import android.hardware.biometrics.BiometricConstants;
 import android.hardware.biometrics.BiometricPrompt;
@@ -166,11 +168,18 @@
         mDetails = intent.getCharSequenceExtra(KeyguardManager.EXTRA_DESCRIPTION);
         String alternateButton = intent.getStringExtra(
                 KeyguardManager.EXTRA_ALTERNATE_BUTTON_LABEL);
-        boolean frp = KeyguardManager.ACTION_CONFIRM_FRP_CREDENTIAL.equals(intent.getAction());
-        boolean remoteValidation =
+        final boolean frp =
+                KeyguardManager.ACTION_CONFIRM_FRP_CREDENTIAL.equals(intent.getAction());
+        final boolean repairMode =
+                KeyguardManager.ACTION_CONFIRM_REPAIR_MODE_DEVICE_CREDENTIAL
+                        .equals(intent.getAction());
+        final boolean remoteValidation =
                 KeyguardManager.ACTION_CONFIRM_REMOTE_DEVICE_CREDENTIAL.equals(intent.getAction());
         mTaskOverlay = isInternalActivity()
                 && intent.getBooleanExtra(KeyguardManager.EXTRA_FORCE_TASK_OVERLAY, false);
+        final boolean prepareRepairMode =
+                KeyguardManager.ACTION_PREPARE_REPAIR_MODE_DEVICE_CREDENTIAL.equals(
+                        intent.getAction());
 
         mUserId = UserHandle.myUserId();
         if (isInternalActivity()) {
@@ -219,6 +228,14 @@
                     .setExternal(true)
                     .setUserId(LockPatternUtils.USER_FRP)
                     .show();
+        } else if (repairMode) {
+            final ChooseLockSettingsHelper.Builder builder =
+                    new ChooseLockSettingsHelper.Builder(this);
+            launchedCDC = builder.setHeader(mTitle)
+                    .setDescription(mDetails)
+                    .setExternal(true)
+                    .setUserId(LockPatternUtils.USER_REPAIR_MODE)
+                    .show();
         } else if (remoteValidation) {
             RemoteLockscreenValidationSession remoteLockscreenValidationSession =
                     intent.getParcelableExtra(
@@ -244,6 +261,17 @@
                     .setExternal(true)
                     .show();
             return;
+        } else if (prepareRepairMode) {
+            final ChooseLockSettingsHelper.Builder builder =
+                    new ChooseLockSettingsHelper.Builder(this);
+            launchedCDC = builder.setHeader(mTitle)
+                    .setDescription(mDetails)
+                    .setExternal(true)
+                    .setUserId(mUserId)
+                    .setTaskOverlay(mTaskOverlay)
+                    .setRequestWriteRepairModePassword(true)
+                    .setForceVerifyPath(true)
+                    .show();
         } else if (isEffectiveUserManagedProfile && isInternalActivity()) {
             mCredentialMode = CREDENTIAL_MANAGED;
             if (isBiometricAllowed(effectiveUserId, mUserId)) {
@@ -353,6 +381,12 @@
         // Translucent activity that is "visible", so it doesn't complain about finish()
         // not being called before onResume().
         setVisible(true);
+
+        if ((getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK)
+                != Configuration.UI_MODE_NIGHT_YES) {
+            getWindow().getInsetsController().setSystemBarsAppearance(
+                    APPEARANCE_LIGHT_STATUS_BARS, APPEARANCE_LIGHT_STATUS_BARS);
+        }
     }
 
     @Override
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java b/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
index f4cfabc..43d8440 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
@@ -105,6 +105,8 @@
     protected final Handler mHandler = new Handler();
     protected boolean mFrp;
     protected boolean mRemoteValidation;
+    protected boolean mRequestWriteRepairModePassword;
+    protected boolean mRepairMode;
     protected CharSequence mAlternateButtonText;
     protected BiometricManager mBiometricManager;
     @Nullable protected RemoteLockscreenValidationSession mRemoteLockscreenValidationSession;
@@ -130,6 +132,8 @@
                 ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_GK_PW_HANDLE, false);
         mForceVerifyPath = intent.getBooleanExtra(
                 ChooseLockSettingsHelper.EXTRA_KEY_FORCE_VERIFY, false);
+        mRequestWriteRepairModePassword = intent.getBooleanExtra(
+                ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_WRITE_REPAIR_MODE_PW, false);
 
         if (intent.getBooleanExtra(IS_REMOTE_LOCKSCREEN_VALIDATION, false)) {
             if (FeatureFlagUtils.isEnabled(getContext(),
@@ -178,6 +182,7 @@
         mUserId = Utils.getUserIdFromBundle(getActivity(), intent.getExtras(),
                 isInternalActivity());
         mFrp = (mUserId == LockPatternUtils.USER_FRP);
+        mRepairMode = (mUserId == LockPatternUtils.USER_REPAIR_MODE);
         mUserManager = UserManager.get(getActivity());
         mEffectiveUserId = mUserManager.getCredentialOwnerProfile(mUserId);
         mLockPatternUtils = new LockPatternUtils(getActivity());
@@ -266,7 +271,7 @@
     // verifyTiedProfileChallenge. In such case, we also wanna show the user message that
     // fingerprint is disabled due to device restart.
     protected boolean isStrongAuthRequired() {
-        return mFrp
+        return mFrp || mRepairMode
                 || !mLockPatternUtils.isBiometricAllowedForUser(mEffectiveUserId)
                 || !mUserManager.isUserUnlocked(mUserId);
     }
diff --git a/src/com/android/settings/password/ConfirmLockPassword.java b/src/com/android/settings/password/ConfirmLockPassword.java
index 03b89f2..8d0ff14 100644
--- a/src/com/android/settings/password/ConfirmLockPassword.java
+++ b/src/com/android/settings/password/ConfirmLockPassword.java
@@ -125,7 +125,7 @@
 
     public static class ConfirmLockPasswordFragment extends ConfirmDeviceCredentialBaseFragment
             implements OnClickListener, OnEditorActionListener,
-            CredentialCheckResultTracker.Listener, SaveChosenLockWorkerBase.Listener,
+            CredentialCheckResultTracker.Listener, SaveAndFinishWorker.Listener,
             RemoteLockscreenValidationFragment.Listener {
         private static final String FRAGMENT_TAG_CHECK_LOCK_RESULT = "check_lock_result";
         private ImeAwareEditText mPasswordEntry;
@@ -284,6 +284,11 @@
                 return mIsAlpha ? getString(R.string.lockpassword_confirm_your_password_header_frp)
                         : getString(R.string.lockpassword_confirm_your_pin_header_frp);
             }
+            if (mRepairMode) {
+                return mIsAlpha
+                        ? getString(R.string.lockpassword_confirm_repair_mode_password_header)
+                        : getString(R.string.lockpassword_confirm_repair_mode_pin_header);
+            }
             if (mRemoteValidation) {
                 return getString(R.string.lockpassword_remote_validation_header);
             }
@@ -307,6 +312,11 @@
                 return mIsAlpha ? getString(R.string.lockpassword_confirm_your_password_details_frp)
                         : getString(R.string.lockpassword_confirm_your_pin_details_frp);
             }
+            if (mRepairMode) {
+                return mIsAlpha
+                        ? getString(R.string.lockpassword_confirm_repair_mode_password_details)
+                        : getString(R.string.lockpassword_confirm_repair_mode_pin_details);
+            }
             if (mRemoteValidation) {
                 return getContext().getString(mIsAlpha
                         ? R.string.lockpassword_remote_validation_password_details
@@ -496,7 +506,9 @@
                 }
             } else if (mForceVerifyPath)  {
                 if (isInternalActivity()) {
-                    startVerifyPassword(credential, intent, 0 /* flags */);
+                    final int flags = mRequestWriteRepairModePassword
+                            ? LockPatternUtils.VERIFY_FLAG_WRITE_REPAIR_MODE_PW : 0;
+                    startVerifyPassword(credential, intent, flags);
                     return;
                 }
             } else {
@@ -621,15 +633,15 @@
                     if (mCheckBox.isChecked() && mRemoteLockscreenValidationFragment
                             .getLockscreenCredential() != null) {
                         Log.i(TAG, "Setting device screen lock to the other device's screen lock.");
-                        ChooseLockPassword.SaveAndFinishWorker saveAndFinishWorker =
-                                new ChooseLockPassword.SaveAndFinishWorker();
+                        SaveAndFinishWorker saveAndFinishWorker = new SaveAndFinishWorker();
                         getFragmentManager().beginTransaction().add(saveAndFinishWorker, null)
                                 .commit();
                         getFragmentManager().executePendingTransactions();
-                        saveAndFinishWorker.setListener(this);
+                        saveAndFinishWorker
+                                .setListener(this)
+                                .setRequestGatekeeperPasswordHandle(true);
                         saveAndFinishWorker.start(
                                 mLockPatternUtils,
-                                /* requestGatekeeperPassword= */ true,
                                 mRemoteLockscreenValidationFragment.getLockscreenCredential(),
                                 /* currentCredential= */ null,
                                 mEffectiveUserId);
diff --git a/src/com/android/settings/password/ConfirmLockPattern.java b/src/com/android/settings/password/ConfirmLockPattern.java
index e99a986..ffd7c64 100644
--- a/src/com/android/settings/password/ConfirmLockPattern.java
+++ b/src/com/android/settings/password/ConfirmLockPattern.java
@@ -93,7 +93,7 @@
 
     public static class ConfirmLockPatternFragment extends ConfirmDeviceCredentialBaseFragment
             implements AppearAnimationCreator<Object>, CredentialCheckResultTracker.Listener,
-            SaveChosenLockWorkerBase.Listener, RemoteLockscreenValidationFragment.Listener {
+            SaveAndFinishWorker.Listener, RemoteLockscreenValidationFragment.Listener {
 
         private static final String FRAGMENT_TAG_CHECK_LOCK_RESULT = "check_lock_result";
 
@@ -179,7 +179,7 @@
                 //              ability to disable the pattern in L. Remove this block after
                 //              ensuring it's safe to do so. (Note that ConfirmLockPassword
                 //              doesn't have this).
-                if (!mFrp && !mRemoteValidation
+                if (!mFrp && !mRemoteValidation && !mRepairMode
                         && !mLockPatternUtils.isLockPatternEnabled(mEffectiveUserId)) {
                     getActivity().setResult(Activity.RESULT_OK);
                     getActivity().finish();
@@ -308,6 +308,9 @@
             if (mFrp) {
                 return getString(R.string.lockpassword_confirm_your_pattern_details_frp);
             }
+            if (mRepairMode) {
+                return getString(R.string.lockpassword_confirm_repair_mode_pattern_details);
+            }
             if (mRemoteValidation) {
                 return getString(
                         R.string.lockpassword_remote_validation_pattern_details);
@@ -402,7 +405,12 @@
         }
 
         private String getDefaultHeader() {
-            if (mFrp) return getString(R.string.lockpassword_confirm_your_pattern_header_frp);
+            if (mFrp) {
+                return getString(R.string.lockpassword_confirm_your_pattern_header_frp);
+            }
+            if (mRepairMode) {
+                return getString(R.string.lockpassword_confirm_repair_mode_pattern_header);
+            }
             if (mRemoteValidation) {
                 return getString(R.string.lockpassword_remote_validation_header);
             }
@@ -512,7 +520,9 @@
                     }
                 } else if (mForceVerifyPath) {
                     if (isInternalActivity()) {
-                        startVerifyPattern(credential, intent, 0 /* flags */);
+                        final int flags = mRequestWriteRepairModePassword
+                                ? LockPatternUtils.VERIFY_FLAG_WRITE_REPAIR_MODE_PW : 0;
+                        startVerifyPattern(credential, intent, flags);
                         return;
                     }
                 } else {
@@ -620,15 +630,15 @@
                     if (mCheckBox.isChecked() && mRemoteLockscreenValidationFragment
                             .getLockscreenCredential() != null) {
                         Log.i(TAG, "Setting device screen lock to the other device's screen lock.");
-                        ChooseLockPattern.SaveAndFinishWorker saveAndFinishWorker =
-                                new ChooseLockPattern.SaveAndFinishWorker();
+                        SaveAndFinishWorker saveAndFinishWorker = new SaveAndFinishWorker();
                         getFragmentManager().beginTransaction().add(saveAndFinishWorker, null)
                                 .commit();
                         getFragmentManager().executePendingTransactions();
-                        saveAndFinishWorker.setListener(this);
+                        saveAndFinishWorker
+                                .setListener(this)
+                                .setRequestGatekeeperPasswordHandle(true);
                         saveAndFinishWorker.start(
                                 mLockPatternUtils,
-                                /* requestGatekeeperPassword= */ true,
                                 mRemoteLockscreenValidationFragment.getLockscreenCredential(),
                                 /* currentCredential= */ null,
                                 mEffectiveUserId);
diff --git a/src/com/android/settings/password/PasswordRequirementAdapter.java b/src/com/android/settings/password/PasswordRequirementAdapter.java
index 0e194af..a4d349e 100644
--- a/src/com/android/settings/password/PasswordRequirementAdapter.java
+++ b/src/com/android/settings/password/PasswordRequirementAdapter.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.password;
 
+import android.content.Context;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -31,9 +32,12 @@
  */
 public class PasswordRequirementAdapter extends
         RecyclerView.Adapter<PasswordRequirementViewHolder> {
-    private String[] mRequirements;
 
-    public PasswordRequirementAdapter() {
+    private String[] mRequirements;
+    private Context mContext;
+
+    public PasswordRequirementAdapter(Context context) {
+        mContext = context;
         setHasStableIds(true);
     }
 
@@ -61,7 +65,12 @@
 
     @Override
     public void onBindViewHolder(PasswordRequirementViewHolder holder, int position) {
+        final int fontSize = mContext.getResources().getDimensionPixelSize(
+                R.dimen.password_requirement_font_size);
         holder.mDescriptionText.setText(mRequirements[position]);
+        holder.mDescriptionText.setTextAppearance(R.style.ScreenLockPasswordHintTextFontStyle);
+        holder.mDescriptionText.setTextSize(fontSize / mContext.getResources()
+                .getDisplayMetrics().scaledDensity);
     }
 
     public static class PasswordRequirementViewHolder extends RecyclerView.ViewHolder {
diff --git a/src/com/android/settings/password/PasswordUtils.java b/src/com/android/settings/password/PasswordUtils.java
index e8e309c..a7edc89 100644
--- a/src/com/android/settings/password/PasswordUtils.java
+++ b/src/com/android/settings/password/PasswordUtils.java
@@ -27,7 +27,13 @@
 import android.os.RemoteException;
 import android.os.UserHandle;
 import android.util.Log;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+import android.widget.LinearLayout;
+import android.widget.TextView;
 
+import com.android.settings.R;
 import com.android.settings.Utils;
 
 public final class PasswordUtils extends com.android.settingslib.Utils {
@@ -97,4 +103,25 @@
             Log.v(TAG, "Could not talk to activity manager.", e);
         }
     }
+
+    /** 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);
+        final TextView sucTitleView = headerLayout.findViewById(R.id.suc_layout_title);
+        if (headerLayout != null && sucTitleView != null) {
+            final ViewGroup.MarginLayoutParams layoutTitleParams =
+                    (ViewGroup.MarginLayoutParams) sucTitleView.getLayoutParams();
+            final ViewGroup.MarginLayoutParams lp = new ViewGroup.MarginLayoutParams(
+                    ViewGroup.LayoutParams.WRAP_CONTENT,
+                    ViewGroup.LayoutParams.WRAP_CONTENT);
+            lp.leftMargin = layoutTitleParams.leftMargin;
+            lp.topMargin = (int) context.getResources().getDimensionPixelSize(
+                    R.dimen.screen_lock_options_button_margin_top);
+            optButton.setPadding(0, 0, 0, 0);
+            optButton.setLayoutParams(lp);
+            optButton.setText(context.getString(R.string.setup_lock_settings_options_button_label));
+            headerLayout.addView(optButton);
+        }
+    }
 }
diff --git a/src/com/android/settings/password/SaveAndFinishWorker.java b/src/com/android/settings/password/SaveAndFinishWorker.java
new file mode 100644
index 0000000..df679e5
--- /dev/null
+++ b/src/com/android/settings/password/SaveAndFinishWorker.java
@@ -0,0 +1,213 @@
+/*
+ * Copyright (C) 2015 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.password;
+
+import android.content.Intent;
+import android.os.AsyncTask;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.util.Log;
+import android.util.Pair;
+import android.widget.Toast;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.internal.widget.LockscreenCredential;
+import com.android.internal.widget.VerifyCredentialResponse;
+import com.android.settings.R;
+import com.android.settings.safetycenter.LockScreenSafetySource;
+
+/**
+ * An invisible retained worker fragment to track the AsyncWork that saves (and optionally
+ * verifies if a challenge is given) the chosen lock credential (pattern/pin/password).
+ */
+public class SaveAndFinishWorker extends Fragment {
+    private static final String TAG = "SaveAndFinishWorker";
+
+    private Listener mListener;
+    private boolean mFinished;
+    private Intent mResultData;
+
+    private LockPatternUtils mUtils;
+    private boolean mRequestGatekeeperPassword;
+    private boolean mRequestWriteRepairModePassword;
+    private boolean mWasSecureBefore;
+    private int mUserId;
+    private int mUnificationProfileId = UserHandle.USER_NULL;
+    private LockscreenCredential mUnificationProfileCredential;
+    private LockscreenCredential mChosenCredential;
+    private LockscreenCredential mCurrentCredential;
+
+    private boolean mBlocking;
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setRetainInstance(true);
+    }
+
+    public SaveAndFinishWorker setListener(Listener listener) {
+        if (mListener == listener) {
+            return this;
+        }
+
+        mListener = listener;
+        if (mFinished && mListener != null) {
+            mListener.onChosenLockSaveFinished(mWasSecureBefore, mResultData);
+        }
+        return this;
+    }
+
+    @VisibleForTesting
+    void prepare(LockPatternUtils utils, LockscreenCredential chosenCredential,
+            LockscreenCredential currentCredential, int userId) {
+        mUtils = utils;
+        mUserId = userId;
+        // This will be a no-op for non managed profiles.
+        mWasSecureBefore = mUtils.isSecure(mUserId);
+        mFinished = false;
+        mResultData = null;
+
+        mChosenCredential = chosenCredential;
+        mCurrentCredential = currentCredential != null ? currentCredential
+                : LockscreenCredential.createNone();
+    }
+
+    public void start(LockPatternUtils utils, LockscreenCredential chosenCredential,
+            LockscreenCredential currentCredential, int userId) {
+        prepare(utils, chosenCredential, currentCredential, userId);
+        if (mBlocking) {
+            finish(saveAndVerifyInBackground().second);
+        } else {
+            new Task().execute();
+        }
+    }
+
+    /**
+     * Executes the save and verify work in background.
+     * @return pair where the first is a boolean confirming whether the change was successful or not
+     * and second is the Intent which has the challenge token or is null.
+     */
+    @VisibleForTesting
+    Pair<Boolean, Intent> saveAndVerifyInBackground() {
+        final int userId = mUserId;
+        if (!mUtils.setLockCredential(mChosenCredential, mCurrentCredential, userId)) {
+            return Pair.create(false, null);
+        }
+
+        unifyProfileCredentialIfRequested();
+
+        @LockPatternUtils.VerifyFlag int flags = 0;
+        if (mRequestGatekeeperPassword) {
+            // If a Gatekeeper Password was requested, invoke the LockSettingsService code
+            // path to return a Gatekeeper Password based on the credential that the user
+            // chose. This should only be run if the credential was successfully set.
+            flags |= LockPatternUtils.VERIFY_FLAG_REQUEST_GK_PW_HANDLE;
+        }
+        if (mRequestWriteRepairModePassword) {
+            flags |= LockPatternUtils.VERIFY_FLAG_WRITE_REPAIR_MODE_PW;
+        }
+        if (flags == 0) {
+            return Pair.create(true, null);
+        }
+
+        Intent result = new Intent();
+        final VerifyCredentialResponse response = mUtils.verifyCredential(mChosenCredential,
+                userId, flags);
+        if (response.isMatched()) {
+            if (mRequestGatekeeperPassword && response.containsGatekeeperPasswordHandle()) {
+                result.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE,
+                        response.getGatekeeperPasswordHandle());
+            } else if (mRequestGatekeeperPassword) {
+                Log.e(TAG, "critical: missing GK PW handle for known good credential: " + response);
+            }
+        } else {
+            Log.e(TAG, "critical: bad response for known good credential: " + response);
+        }
+        if (mRequestWriteRepairModePassword) {
+            // Notify the caller if repair mode credential is saved successfully
+            result.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_WROTE_REPAIR_MODE_CREDENTIAL,
+                    response.isMatched());
+        }
+
+        return Pair.create(true, result);
+    }
+
+    private void finish(Intent resultData) {
+        mFinished = true;
+        mResultData = resultData;
+        if (mListener != null) {
+            mListener.onChosenLockSaveFinished(mWasSecureBefore, mResultData);
+        }
+        if (mUnificationProfileCredential != null) {
+            mUnificationProfileCredential.zeroize();
+        }
+        LockScreenSafetySource.onLockScreenChange(getContext());
+    }
+
+    public SaveAndFinishWorker setRequestGatekeeperPasswordHandle(boolean value) {
+        mRequestGatekeeperPassword = value;
+        return this;
+    }
+
+    public SaveAndFinishWorker setRequestWriteRepairModePassword(boolean value) {
+        mRequestWriteRepairModePassword = value;
+        return this;
+    }
+
+    public SaveAndFinishWorker setBlocking(boolean blocking) {
+        mBlocking = blocking;
+        return this;
+    }
+
+    public SaveAndFinishWorker setProfileToUnify(
+            int profileId, LockscreenCredential credential) {
+        mUnificationProfileId = profileId;
+        mUnificationProfileCredential = credential.duplicate();
+        return this;
+    }
+
+    private void unifyProfileCredentialIfRequested() {
+        if (mUnificationProfileId != UserHandle.USER_NULL) {
+            mUtils.setSeparateProfileChallengeEnabled(mUnificationProfileId, false,
+                    mUnificationProfileCredential);
+        }
+    }
+
+    private class Task extends AsyncTask<Void, Void, Pair<Boolean, Intent>> {
+
+        @Override
+        protected Pair<Boolean, Intent> doInBackground(Void... params){
+            return saveAndVerifyInBackground();
+        }
+
+        @Override
+        protected void onPostExecute(Pair<Boolean, Intent> resultData) {
+            if (!resultData.first) {
+                Toast.makeText(getContext(), R.string.lockpassword_credential_changed,
+                        Toast.LENGTH_LONG).show();
+            }
+            finish(resultData.second);
+        }
+    }
+
+    interface Listener {
+        void onChosenLockSaveFinished(boolean wasSecureBefore, Intent resultData);
+    }
+}
diff --git a/src/com/android/settings/password/SaveChosenLockWorkerBase.java b/src/com/android/settings/password/SaveChosenLockWorkerBase.java
deleted file mode 100644
index 4864941..0000000
--- a/src/com/android/settings/password/SaveChosenLockWorkerBase.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (C) 2015 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.password;
-
-import android.content.Intent;
-import android.os.AsyncTask;
-import android.os.Bundle;
-import android.os.UserHandle;
-import android.util.Pair;
-import android.widget.Toast;
-
-import androidx.fragment.app.Fragment;
-
-import com.android.internal.widget.LockPatternUtils;
-import com.android.internal.widget.LockscreenCredential;
-import com.android.settings.R;
-import com.android.settings.safetycenter.LockScreenSafetySource;
-
-/**
- * An invisible retained worker fragment to track the AsyncWork that saves (and optionally
- * verifies if a challenge is given) the chosen lock credential (pattern/pin/password).
- */
-abstract class SaveChosenLockWorkerBase extends Fragment {
-
-    private Listener mListener;
-    private boolean mFinished;
-    private Intent mResultData;
-
-    protected LockPatternUtils mUtils;
-    protected boolean mRequestGatekeeperPassword;
-    protected boolean mWasSecureBefore;
-    protected int mUserId;
-    protected int mUnificationProfileId = UserHandle.USER_NULL;
-    protected LockscreenCredential mUnificationProfileCredential;
-
-    private boolean mBlocking;
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setRetainInstance(true);
-    }
-
-    public void setListener(Listener listener) {
-        if (mListener == listener) {
-            return;
-        }
-
-        mListener = listener;
-        if (mFinished && mListener != null) {
-            mListener.onChosenLockSaveFinished(mWasSecureBefore, mResultData);
-        }
-    }
-
-    protected void prepare(LockPatternUtils utils, boolean requestGatekeeperPassword, int userId) {
-        mUtils = utils;
-        mUserId = userId;
-        mRequestGatekeeperPassword = requestGatekeeperPassword;
-        // This will be a no-op for non managed profiles.
-        mWasSecureBefore = mUtils.isSecure(mUserId);
-        mFinished = false;
-        mResultData = null;
-    }
-
-    protected void start() {
-        if (mBlocking) {
-            finish(saveAndVerifyInBackground().second);
-        } else {
-            new Task().execute();
-        }
-    }
-
-    /**
-     * Executes the save and verify work in background.
-     * @return pair where the first is a boolean confirming whether the change was successful or not
-     * and second is the Intent which has the challenge token or is null.
-     */
-    protected abstract Pair<Boolean, Intent> saveAndVerifyInBackground();
-
-    protected void finish(Intent resultData) {
-        mFinished = true;
-        mResultData = resultData;
-        if (mListener != null) {
-            mListener.onChosenLockSaveFinished(mWasSecureBefore, mResultData);
-        }
-        if (mUnificationProfileCredential != null) {
-            mUnificationProfileCredential.zeroize();
-        }
-        LockScreenSafetySource.onLockScreenChange(getContext());
-    }
-
-    public void setBlocking(boolean blocking) {
-        mBlocking = blocking;
-    }
-
-    public void setProfileToUnify(int profileId, LockscreenCredential credential) {
-        mUnificationProfileId = profileId;
-        mUnificationProfileCredential = credential.duplicate();
-    }
-
-    protected void unifyProfileCredentialIfRequested() {
-        if (mUnificationProfileId != UserHandle.USER_NULL) {
-            mUtils.setSeparateProfileChallengeEnabled(mUnificationProfileId, false,
-                    mUnificationProfileCredential);
-        }
-    }
-
-    private class Task extends AsyncTask<Void, Void, Pair<Boolean, Intent>> {
-
-        @Override
-        protected Pair<Boolean, Intent> doInBackground(Void... params){
-            return saveAndVerifyInBackground();
-        }
-
-        @Override
-        protected void onPostExecute(Pair<Boolean, Intent> resultData) {
-            if (!resultData.first) {
-                Toast.makeText(getContext(), R.string.lockpassword_credential_changed,
-                        Toast.LENGTH_LONG).show();
-            }
-            finish(resultData.second);
-        }
-    }
-
-    interface Listener {
-        void onChosenLockSaveFinished(boolean wasSecureBefore, Intent resultData);
-    }
-}
diff --git a/src/com/android/settings/password/SetupChooseLockPassword.java b/src/com/android/settings/password/SetupChooseLockPassword.java
index 0101aa5..d0d7d93 100644
--- a/src/com/android/settings/password/SetupChooseLockPassword.java
+++ b/src/com/android/settings/password/SetupChooseLockPassword.java
@@ -24,6 +24,7 @@
 import android.content.Intent;
 import android.os.Bundle;
 import android.util.Log;
+import android.view.ContextThemeWrapper;
 import android.view.View;
 import android.widget.Button;
 
@@ -97,7 +98,10 @@
             }
 
             if (showOptionsButton && anyOptionsShown) {
-                mOptionsButton = view.findViewById(R.id.screen_lock_options);
+                mOptionsButton = new Button(new ContextThemeWrapper(getActivity(),
+                        R.style.SudGlifButton_Tertiary));
+                mOptionsButton.setId(R.id.screen_lock_options);
+                PasswordUtils.setupScreenLockOptionsButton(getActivity(), view, mOptionsButton);
                 mOptionsButton.setVisibility(View.VISIBLE);
                 mOptionsButton.setOnClickListener((btn) ->
                         ChooseLockTypeDialogFragment.newInstance(mUserId)
diff --git a/src/com/android/settings/password/SetupChooseLockPattern.java b/src/com/android/settings/password/SetupChooseLockPattern.java
index 2cad181..560906d 100644
--- a/src/com/android/settings/password/SetupChooseLockPattern.java
+++ b/src/com/android/settings/password/SetupChooseLockPattern.java
@@ -23,6 +23,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
+import android.view.ContextThemeWrapper;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -83,7 +84,10 @@
                 LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
             View view = super.onCreateView(inflater, container, savedInstanceState);
             if (!getResources().getBoolean(R.bool.config_lock_pattern_minimal_ui)) {
-                mOptionsButton = view.findViewById(R.id.screen_lock_options);
+                mOptionsButton = new Button(new ContextThemeWrapper(getActivity(),
+                        R.style.SudGlifButton_Tertiary));
+                mOptionsButton.setId(R.id.screen_lock_options);
+                PasswordUtils.setupScreenLockOptionsButton(getActivity(), view, mOptionsButton);
                 mOptionsButton.setOnClickListener((btn) ->
                         ChooseLockTypeDialogFragment.newInstance(mUserId)
                                 .show(getChildFragmentManager(), TAG_SKIP_SCREEN_LOCK_DIALOG));
diff --git a/src/com/android/settings/regionalpreferences/NumberingSystemItemController.java b/src/com/android/settings/regionalpreferences/NumberingSystemItemController.java
index e3a8d23..2a99e99 100644
--- a/src/com/android/settings/regionalpreferences/NumberingSystemItemController.java
+++ b/src/com/android/settings/regionalpreferences/NumberingSystemItemController.java
@@ -153,7 +153,7 @@
     private void handleLanguageSelect(Preference preference) {
         String selectedLanguage = preference.getKey();
         mMetricsFeatureProvider.action(mContext,
-                SettingsEnums.ACTION_CHOOSE_LANGUAGE_FOR_NUMBERS_PREFERENCES);
+                SettingsEnums.ACTION_CHOOSE_LANGUAGE_FOR_NUMBERS_PREFERENCES, selectedLanguage);
         final Bundle extra = new Bundle();
         extra.putString(RegionalPreferencesEntriesFragment.ARG_KEY_REGIONAL_PREFERENCE,
                 ARG_VALUE_NUMBERING_SYSTEM_SELECT);
@@ -177,7 +177,8 @@
                         saveNumberingSystemToLocale(Locale.forLanguageTag(mSelectedLanguage),
                                 numberingSystem);
                 mMetricsFeatureProvider.action(mContext,
-                        SettingsEnums.ACTION_SET_NUMBERS_PREFERENCES);
+                        SettingsEnums.ACTION_SET_NUMBERS_PREFERENCES,
+                        updatedLocale.getDisplayName() + ": " + numberingSystem);
                 // After updated locale to framework, this fragment will recreate,
                 // so it needs to update the argument of selected language.
                 Bundle bundle = new Bundle();
diff --git a/src/com/android/settings/regionalpreferences/RegionalPreferenceListBasePreferenceController.java b/src/com/android/settings/regionalpreferences/RegionalPreferenceListBasePreferenceController.java
index 1e39fff..432ce0e 100644
--- a/src/com/android/settings/regionalpreferences/RegionalPreferenceListBasePreferenceController.java
+++ b/src/com/android/settings/regionalpreferences/RegionalPreferenceListBasePreferenceController.java
@@ -59,6 +59,8 @@
             TickButtonPreference pref = new TickButtonPreference(mContext);
             mPreferenceCategory.addPreference(pref);
             final String item = unitValues[i];
+            final String value = RegionalPreferencesDataUtils.getDefaultUnicodeExtensionData(
+                    mContext, getExtensionTypes());
             pref.setTitle(getPreferenceTitle(item));
             pref.setKey(item);
             pref.setOnPreferenceClickListener(clickedPref -> {
@@ -66,11 +68,10 @@
                 RegionalPreferencesDataUtils.savePreference(mContext, getExtensionTypes(),
                         item.equals(RegionalPreferencesDataUtils.DEFAULT_VALUE)
                                 ? null : item);
-                mMetricsFeatureProvider.action(mContext, getMetricsActionKey());
+                mMetricsFeatureProvider.action(mContext, getMetricsActionKey(),
+                        getPreferenceTitle(value) + " > " +  getPreferenceTitle(item));
                 return true;
             });
-            String value = RegionalPreferencesDataUtils.getDefaultUnicodeExtensionData(mContext,
-                    getExtensionTypes());
             pref.setSelected(!value.isEmpty() && item.equals(value));
         }
     }
diff --git a/src/com/android/settings/security/ScreenPinningSettings.java b/src/com/android/settings/security/ScreenPinningSettings.java
index e219b44..8fae6e1 100644
--- a/src/com/android/settings/security/ScreenPinningSettings.java
+++ b/src/com/android/settings/security/ScreenPinningSettings.java
@@ -23,7 +23,6 @@
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.os.UserManager;
-import android.provider.SearchIndexableResource;
 import android.provider.Settings;
 import android.widget.Switch;
 
@@ -38,14 +37,12 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.password.ChooseLockGeneric;
+import com.android.settings.password.ChooseLockSettingsHelper;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.widget.SettingsMainSwitchBar;
 import com.android.settingslib.search.SearchIndexable;
 import com.android.settingslib.widget.FooterPreference;
 import com.android.settingslib.widget.OnMainSwitchChangeListener;
-
-import java.util.Arrays;
-import java.util.List;
 /**
  * Screen pinning settings.
  */
@@ -56,6 +53,7 @@
     private static final String KEY_USE_SCREEN_LOCK = "use_screen_lock";
     private static final String KEY_FOOTER = "screen_pinning_settings_screen_footer";
     private static final int CHANGE_LOCK_METHOD_REQUEST = 43;
+    private static final int CONFIRM_REQUEST = 1000;
 
     private SettingsMainSwitchBar mSwitchBar;
     private SwitchPreference mUseScreenLock;
@@ -129,10 +127,10 @@
     }
 
     private boolean setScreenLockUsed(boolean isEnabled) {
+        LockPatternUtils lockPatternUtils = new LockPatternUtils(getActivity());
+        final int passwordQuality = lockPatternUtils
+                .getKeyguardStoredPasswordQuality(UserHandle.myUserId());
         if (isEnabled) {
-            LockPatternUtils lockPatternUtils = new LockPatternUtils(getActivity());
-            int passwordQuality = lockPatternUtils
-                    .getKeyguardStoredPasswordQuality(UserHandle.myUserId());
             if (passwordQuality == DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED) {
                 Intent chooseLockIntent = new Intent(DevicePolicyManager.ACTION_SET_NEW_PASSWORD);
                 chooseLockIntent.putExtra(
@@ -141,6 +139,12 @@
                 startActivityForResult(chooseLockIntent, CHANGE_LOCK_METHOD_REQUEST);
                 return false;
             }
+        }  else {
+            if (passwordQuality != DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED) {
+                final ChooseLockSettingsHelper.Builder builder =
+                        new ChooseLockSettingsHelper.Builder(getActivity(), this);
+                return builder.setRequestCode(CONFIRM_REQUEST).show();
+            }
         }
         setScreenLockUsedSetting(isEnabled);
         return true;
@@ -162,6 +166,8 @@
             setScreenLockUsed(validPassQuality);
             // Make sure the screen updates.
             mUseScreenLock.setChecked(validPassQuality);
+        } else if (requestCode == CONFIRM_REQUEST) {
+            setScreenLockUsedSetting(false);
         }
     }
 
@@ -245,14 +251,5 @@
      * For search
      */
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.screen_pinning_settings;
-                    return Arrays.asList(sir);
-                }
-            };
+            new BaseSearchIndexProvider(R.xml.screen_pinning_settings);
 }
diff --git a/src/com/android/settings/sim/SimDialogActivity.java b/src/com/android/settings/sim/SimDialogActivity.java
index 7d39938..e7b0185 100644
--- a/src/com/android/settings/sim/SimDialogActivity.java
+++ b/src/com/android/settings/sim/SimDialogActivity.java
@@ -280,8 +280,20 @@
     public void showEnableAutoDataSwitchDialog() {
         final FragmentManager fragmentManager = getSupportFragmentManager();
         SimDialogFragment fragment = createFragment(ENABLE_AUTO_DATA_SWITCH);
-        fragment.show(fragmentManager, Integer.toString(ENABLE_AUTO_DATA_SWITCH));
 
+        if (fragmentManager.isStateSaved()) {
+            Log.w(TAG, "Failed to show EnableAutoDataSwitchDialog. The fragmentManager "
+                    + "is StateSaved.");
+            forceClose();
+            return;
+        }
+        try {
+            fragment.show(fragmentManager, Integer.toString(ENABLE_AUTO_DATA_SWITCH));
+        } catch (Exception e) {
+            Log.e(TAG, "Failed to show EnableAutoDataSwitchDialog.", e);
+            forceClose();
+            return;
+        }
         if (getResources().getBoolean(
                 R.bool.config_auto_data_switch_enables_cross_sim_calling)) {
             // If auto data switch is already enabled on the non-DDS, the dialog for enabling it
diff --git a/src/com/android/settings/slices/RestrictedSliceUtils.java b/src/com/android/settings/slices/RestrictedSliceUtils.java
new file mode 100644
index 0000000..a5b5a14
--- /dev/null
+++ b/src/com/android/settings/slices/RestrictedSliceUtils.java
@@ -0,0 +1,81 @@
+/*
+ * 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.slices;
+
+import android.content.ContentResolver;
+import android.net.Uri;
+import android.provider.SettingsSlicesContract;
+
+/**
+ * A utility class to check slice Uris for restriction.
+ */
+public class RestrictedSliceUtils {
+
+    /**
+     * Uri for the notifying open networks Slice.
+     */
+    private static final Uri NOTIFY_OPEN_NETWORKS_SLICE_URI = new Uri.Builder()
+        .scheme(ContentResolver.SCHEME_CONTENT)
+        .authority(SettingsSliceProvider.SLICE_AUTHORITY)
+        .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
+        .appendPath("notify_open_networks")
+        .build();
+
+    /**
+     * Uri for the auto turning on Wi-Fi Slice.
+     */
+    private static final Uri AUTO_TURN_ON_WIFI_SLICE_URI = new Uri.Builder()
+        .scheme(ContentResolver.SCHEME_CONTENT)
+        .authority(SettingsSliceProvider.SLICE_AUTHORITY)
+        .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
+        .appendPath("enable_wifi_wakeup")
+        .build();
+
+    /**
+     * Uri for the usb tethering Slice.
+     */
+    private static final Uri USB_TETHERING_SLICE_URI = new Uri.Builder()
+        .scheme(ContentResolver.SCHEME_CONTENT)
+        .authority(SettingsSliceProvider.SLICE_AUTHORITY)
+        .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
+        .appendPath("enable_usb_tethering")
+        .build();
+
+    /**
+     * Uri for the bluetooth tethering Slice.
+     */
+    private static final Uri BLUETOOTH_TETHERING_SLICE_URI = new Uri.Builder()
+        .scheme(ContentResolver.SCHEME_CONTENT)
+        .authority(SettingsSliceProvider.SLICE_AUTHORITY)
+        .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
+        .appendPath("enable_bluetooth_tethering_2")
+        .build();
+
+    /**
+     * Returns true if the slice Uri restricts access to guest user.
+     */
+    public static boolean isGuestRestricted(Uri sliceUri) {
+        if (AUTO_TURN_ON_WIFI_SLICE_URI.equals(sliceUri)
+            || NOTIFY_OPEN_NETWORKS_SLICE_URI.equals(sliceUri)
+            || BLUETOOTH_TETHERING_SLICE_URI.equals(sliceUri)
+            || USB_TETHERING_SLICE_URI.equals(sliceUri)
+            || CustomSliceRegistry.MOBILE_DATA_SLICE_URI.equals(sliceUri)) {
+            return true;
+        }
+        return false;
+    }
+}
diff --git a/src/com/android/settings/slices/SettingsSliceProvider.java b/src/com/android/settings/slices/SettingsSliceProvider.java
index 12272a7..5d2bde3 100644
--- a/src/com/android/settings/slices/SettingsSliceProvider.java
+++ b/src/com/android/settings/slices/SettingsSliceProvider.java
@@ -30,6 +30,7 @@
 import android.net.Uri;
 import android.os.Binder;
 import android.os.StrictMode;
+import android.os.UserManager;
 import android.provider.Settings;
 import android.provider.SettingsSlicesContract;
 import android.text.TextUtils;
@@ -233,6 +234,14 @@
                 getContext().getTheme().rebase();
             }
 
+            // Checking if some semi-sensitive slices are requested by a guest user. If so, will
+            // return an empty slice.
+            final UserManager userManager = getContext().getSystemService(UserManager.class);
+            if (userManager.isGuestUser() && RestrictedSliceUtils.isGuestRestricted(sliceUri)) {
+                Log.i(TAG, "Guest user access denied.");
+                return null;
+            }
+
             // Before adding a slice to {@link CustomSliceManager}, please get approval
             // from the Settings team.
             if (CustomSliceRegistry.isValidUri(sliceUri)) {
diff --git a/src/com/android/settings/spa/SettingsSpaEnvironment.kt b/src/com/android/settings/spa/SettingsSpaEnvironment.kt
index 455fe9f..db88784 100644
--- a/src/com/android/settings/spa/SettingsSpaEnvironment.kt
+++ b/src/com/android/settings/spa/SettingsSpaEnvironment.kt
@@ -20,6 +20,7 @@
 import android.util.FeatureFlagUtils
 import com.android.settings.spa.app.AllAppListPageProvider
 import com.android.settings.spa.app.AppsMainPageProvider
+import com.android.settings.spa.app.appcompat.UserAspectRatioAppsPageProvider
 import com.android.settings.spa.app.appinfo.AppInfoSettingsProvider
 import com.android.settings.spa.app.appinfo.CloneAppInfoSettingsProvider
 import com.android.settings.spa.app.backgroundinstall.BackgroundInstalledAppsPageProvider
@@ -29,12 +30,14 @@
 import com.android.settings.spa.app.specialaccess.InstallUnknownAppsListProvider
 import com.android.settings.spa.app.specialaccess.MediaManagementAppsAppListProvider
 import com.android.settings.spa.app.specialaccess.ModifySystemSettingsAppListProvider
+import com.android.settings.spa.app.specialaccess.NfcTagAppsSettingsProvider
 import com.android.settings.spa.app.specialaccess.PictureInPictureListProvider
 import com.android.settings.spa.app.specialaccess.SpecialAppAccessPageProvider
 import com.android.settings.spa.app.specialaccess.WifiControlAppListProvider
 import com.android.settings.spa.app.specialaccess.UseFullScreenIntentAppListProvider
 import com.android.settings.spa.core.instrumentation.SpaLogProvider
 import com.android.settings.spa.development.UsageStatsPageProvider
+import com.android.settings.spa.development.compat.PlatformCompatAppListPageProvider
 import com.android.settings.spa.home.HomePageProvider
 import com.android.settings.spa.network.NetworkAndInternetPageProvider
 import com.android.settings.spa.notification.AppListNotificationsPageProvider
@@ -61,6 +64,7 @@
             InstallUnknownAppsListProvider,
             AlarmsAndRemindersAppListProvider,
             WifiControlAppListProvider,
+            NfcTagAppsSettingsProvider,
         )
     }
 
@@ -81,7 +85,9 @@
                 LanguageAndInputPageProvider,
                 AppLanguagesPageProvider,
                 UsageStatsPageProvider,
+                PlatformCompatAppListPageProvider,
                 BackgroundInstalledAppsPageProvider,
+                UserAspectRatioAppsPageProvider,
                 CloneAppInfoSettingsProvider,
                 NetworkAndInternetPageProvider,
                 ) + togglePermissionAppListTemplate.createPageProviders(),
@@ -93,5 +99,5 @@
     override val logger =
         if (FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_ENABLE_SPA_METRICS))
             SpaLogProvider
-        else object: SpaLogger {}
+        else object : SpaLogger {}
 }
diff --git a/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppPreference.kt b/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppPreference.kt
new file mode 100644
index 0000000..3680715
--- /dev/null
+++ b/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppPreference.kt
@@ -0,0 +1,80 @@
+/*
+ * 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.spa.app.appcompat
+
+import android.content.Context
+import android.content.pm.ApplicationInfo
+import androidx.compose.runtime.Composable
+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
+import com.android.settings.applications.appcompat.UserAspectRatioManager
+import com.android.settings.applications.appinfo.AppInfoDashboardFragment
+import com.android.settings.spa.app.appinfo.AppInfoSettingsProvider
+import com.android.settingslib.spa.widget.preference.Preference
+import com.android.settingslib.spa.widget.preference.PreferenceModel
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.flow
+import kotlinx.coroutines.flow.flowOn
+
+@OptIn(ExperimentalLifecycleComposeApi::class)
+@Composable
+fun UserAspectRatioAppPreference(app: ApplicationInfo) {
+    val context = LocalContext.current
+    val presenter = remember { UserAspectRatioAppPresenter(context, app) }
+    if (!presenter.isAvailableFlow.collectAsStateWithLifecycle(initialValue = false).value) return
+
+    Preference(object : PreferenceModel {
+        override val title = stringResource(R.string.aspect_ratio_title)
+        override val summary = presenter.summaryFlow.collectAsStateWithLifecycle(
+            initialValue = stringResource(R.string.summary_placeholder),
+        )
+        override val onClick = presenter::startActivity
+    })
+}
+
+class UserAspectRatioAppPresenter(
+    private val context: Context,
+    private val app: ApplicationInfo,
+) {
+    private val manager = UserAspectRatioManager(context)
+
+    val isAvailableFlow = flow {
+        emit(UserAspectRatioManager.isFeatureEnabled(context)
+                && manager.canDisplayAspectRatioUi(app))
+    }.flowOn(Dispatchers.IO)
+
+    fun startActivity() =
+        navigateToAppAspectRatioSettings(context, app)
+
+    val summaryFlow = flow {
+        emit(manager.getUserMinAspectRatioEntry(app.packageName, context.userId))
+    }.flowOn(Dispatchers.IO)
+}
+
+fun navigateToAppAspectRatioSettings(context: Context, app: ApplicationInfo) {
+    AppInfoDashboardFragment.startAppInfoFragment(
+        UserAspectRatioDetails::class.java,
+        app,
+        context,
+        AppInfoSettingsProvider.METRICS_CATEGORY,
+    )
+}
\ No newline at end of file
diff --git a/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProvider.kt b/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProvider.kt
new file mode 100644
index 0000000..ff90492
--- /dev/null
+++ b/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProvider.kt
@@ -0,0 +1,213 @@
+/*
+ * 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.spa.app.appcompat
+
+import android.content.Context
+import android.content.pm.ApplicationInfo
+import android.content.pm.PackageInfo
+import android.content.pm.PackageManager
+import android.content.pm.PackageManager.GET_ACTIVITIES
+import android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_UNSET
+import android.os.Build
+import android.os.Bundle
+import android.util.Log
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.padding
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.State
+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
+import com.android.settingslib.spa.framework.common.SettingsEntryBuilder
+import com.android.settingslib.spa.framework.common.SettingsPageProvider
+import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory
+import com.android.settingslib.spa.framework.common.createSettingsPage
+import com.android.settingslib.spa.framework.compose.navigator
+import com.android.settingslib.spa.framework.compose.rememberContext
+import com.android.settingslib.spa.framework.compose.toState
+import com.android.settingslib.spa.framework.theme.SettingsDimension
+import com.android.settingslib.spa.framework.util.asyncMap
+import com.android.settingslib.spa.framework.util.filterItem
+import com.android.settingslib.spa.widget.preference.Preference
+import com.android.settingslib.spa.widget.preference.PreferenceModel
+import com.android.settingslib.spa.widget.ui.SettingsBody
+import com.android.settingslib.spa.widget.ui.SpinnerOption
+import com.android.settingslib.spaprivileged.model.app.AppListModel
+import com.android.settingslib.spaprivileged.model.app.AppRecord
+import com.android.settingslib.spaprivileged.model.app.userId
+import com.android.settingslib.spaprivileged.template.app.AppList
+import com.android.settingslib.spaprivileged.template.app.AppListInput
+import com.android.settingslib.spaprivileged.template.app.AppListItem
+import com.android.settingslib.spaprivileged.template.app.AppListItemModel
+import com.android.settingslib.spaprivileged.template.app.AppListPage
+import com.google.common.annotations.VisibleForTesting
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.combine
+import kotlinx.coroutines.flow.flow
+import kotlinx.coroutines.flow.flowOn
+
+object UserAspectRatioAppsPageProvider : SettingsPageProvider {
+    override val name = "UserAspectRatioAppsPage"
+    private val owner = createSettingsPage()
+
+    override fun isEnabled(arguments: Bundle?): Boolean =
+        UserAspectRatioManager.isFeatureEnabled(SpaEnvironmentFactory.instance.appContext)
+
+    @Composable
+    override fun Page(arguments: Bundle?) =
+        UserAspectRatioAppList()
+
+    @Composable
+    @VisibleForTesting
+    fun EntryItem() =
+        Preference(object : PreferenceModel {
+            override val title = stringResource(R.string.aspect_ratio_title)
+            override val summary = getSummary().toState()
+            override val onClick = navigator(name)
+        })
+
+    @VisibleForTesting
+    fun buildInjectEntry() = SettingsEntryBuilder
+        .createInject(owner)
+        .setSearchDataFn { null }
+        .setUiLayoutFn { EntryItem() }
+
+    @Composable
+    @VisibleForTesting
+    fun getSummary(): String = stringResource(R.string.aspect_ratio_summary, Build.MODEL)
+}
+
+@Composable
+fun UserAspectRatioAppList(
+    appList: @Composable AppListInput<UserAspectRatioAppListItemModel>.() -> Unit
+    = { AppList() },
+) {
+    AppListPage(
+        title = stringResource(R.string.aspect_ratio_title),
+        listModel = rememberContext(::UserAspectRatioAppListModel),
+        appList = appList,
+        header = {
+            Box(Modifier.padding(SettingsDimension.itemPadding)) {
+                SettingsBody(UserAspectRatioAppsPageProvider.getSummary())
+            }
+        }
+    )
+}
+
+data class UserAspectRatioAppListItemModel(
+    override val app: ApplicationInfo,
+    val override: Int,
+    val suggested: Boolean,
+    val canDisplay: Boolean,
+) : AppRecord
+
+class UserAspectRatioAppListModel(private val context: Context)
+    : AppListModel<UserAspectRatioAppListItemModel> {
+
+    private val packageManager = context.packageManager
+    private val userAspectRatioManager = UserAspectRatioManager(context)
+
+    override fun getSpinnerOptions(
+        recordList: List<UserAspectRatioAppListItemModel>
+    ): List<SpinnerOption> {
+        val hasSuggested = recordList.any { it.suggested }
+        val hasOverride = recordList.any { it.override != USER_MIN_ASPECT_RATIO_UNSET }
+        val options = mutableListOf(SpinnerItem.All)
+        // Add suggested filter first as default
+        if (hasSuggested) options.add(0, SpinnerItem.Suggested)
+        if (hasOverride) options += SpinnerItem.Overridden
+        return options.map {
+            SpinnerOption(
+                id = it.ordinal,
+                text = context.getString(it.stringResId),
+            )
+        }
+    }
+
+    @Composable
+    override fun AppListItemModel<UserAspectRatioAppListItemModel>.AppItem() {
+        val app = record.app
+        AppListItem(
+            onClick = { navigateToAppAspectRatioSettings(context, app) }
+        )
+    }
+
+    override fun transform(userIdFlow: Flow<Int>, appListFlow: Flow<List<ApplicationInfo>>) =
+        userIdFlow.combine(appListFlow) { uid, appList ->
+            appList.asyncMap { app ->
+                UserAspectRatioAppListItemModel(
+                    app = app,
+                    suggested = !app.isSystemApp && getPackageAndActivityInfo(
+                                    app)?.isFixedOrientationOrAspectRatio() == true,
+                    override = userAspectRatioManager.getUserMinAspectRatioValue(
+                                    app.packageName, uid),
+                    canDisplay = userAspectRatioManager.canDisplayAspectRatioUi(app),
+                )
+            }
+        }
+
+    override fun filter(
+        userIdFlow: Flow<Int>,
+        option: Int,
+        recordListFlow: Flow<List<UserAspectRatioAppListItemModel>>
+    ): Flow<List<UserAspectRatioAppListItemModel>> = recordListFlow.filterItem(
+        when (SpinnerItem.values().getOrNull(option)) {
+            SpinnerItem.Suggested -> ({ it.canDisplay && it.suggested })
+            SpinnerItem.Overridden -> ({ it.override != USER_MIN_ASPECT_RATIO_UNSET })
+            else -> ({ it.canDisplay })
+        }
+    )
+
+    @OptIn(ExperimentalLifecycleComposeApi::class)
+    @Composable
+    override fun getSummary(option: Int, record: UserAspectRatioAppListItemModel) : State<String> =
+        remember(record.override) {
+            flow {
+                emit(userAspectRatioManager.getUserMinAspectRatioEntry(record.override))
+            }.flowOn(Dispatchers.IO)
+        }.collectAsStateWithLifecycle(initialValue = stringResource(R.string.summary_placeholder))
+
+    private fun getPackageAndActivityInfo(app: ApplicationInfo): PackageInfo? = try {
+        packageManager.getPackageInfoAsUser(app.packageName, GET_ACTIVITIES_FLAGS, app.userId)
+    } catch (e: Exception) {
+        // Query PackageManager.getPackageInfoAsUser() with GET_ACTIVITIES_FLAGS could cause
+        // exception sometimes. Since we reply on this flag to retrieve the Picture In Picture
+        // packages, we need to catch the exception to alleviate the impact before PackageManager
+        // fixing this issue or provide a better api.
+        Log.e(TAG, "Exception while getPackageInfoAsUser", e)
+        null
+    }
+
+    companion object {
+        private const val TAG = "AspectRatioAppsListModel"
+        private fun PackageInfo.isFixedOrientationOrAspectRatio() =
+            activities?.any { a -> a.isFixedOrientation || a.hasFixedAspectRatio() } ?: false
+        private val GET_ACTIVITIES_FLAGS =
+            PackageManager.PackageInfoFlags.of(GET_ACTIVITIES.toLong())
+    }
+}
+
+private enum class SpinnerItem(val stringResId: Int) {
+    Suggested(R.string.user_aspect_ratio_suggested_apps_label),
+    All(R.string.filter_all_apps),
+    Overridden(R.string.user_aspect_ratio_overridden_apps_label)
+}
\ No newline at end of file
diff --git a/src/com/android/settings/spa/app/appinfo/AppInfoSettings.kt b/src/com/android/settings/spa/app/appinfo/AppInfoSettings.kt
index d59a4f7..e6df933 100644
--- a/src/com/android/settings/spa/app/appinfo/AppInfoSettings.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppInfoSettings.kt
@@ -35,6 +35,7 @@
 import com.android.settings.applications.AppInfoBase
 import com.android.settings.applications.appinfo.AppInfoDashboardFragment
 import com.android.settings.spa.SpaActivity.Companion.startSpaActivity
+import com.android.settings.spa.app.appcompat.UserAspectRatioAppPreference
 import com.android.settings.spa.app.specialaccess.AlarmsAndRemindersAppListProvider
 import com.android.settings.spa.app.specialaccess.DisplayOverOtherAppsAppListProvider
 import com.android.settings.spa.app.specialaccess.InstallUnknownAppsListProvider
@@ -150,6 +151,7 @@
         }
 
         Category(title = stringResource(R.string.advanced_apps)) {
+            UserAspectRatioAppPreference(app)
             DisplayOverOtherAppsAppListProvider.InfoPageEntryItem(app)
             ModifySystemSettingsAppListProvider.InfoPageEntryItem(app)
             PictureInPictureListProvider.InfoPageEntryItem(app)
diff --git a/src/com/android/settings/spa/app/specialaccess/NfcTagAppsSettings.kt b/src/com/android/settings/spa/app/specialaccess/NfcTagAppsSettings.kt
new file mode 100644
index 0000000..3dede42
--- /dev/null
+++ b/src/com/android/settings/spa/app/specialaccess/NfcTagAppsSettings.kt
@@ -0,0 +1,127 @@
+/*
+ * 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.spa.app.specialaccess
+
+import android.content.Context
+import android.content.pm.ApplicationInfo
+import android.content.pm.PackageManager.GET_ACTIVITIES
+import android.content.pm.PackageManager.PackageInfoFlags
+import android.nfc.NfcAdapter
+import android.util.Log
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.livedata.observeAsState
+import com.android.settings.R
+import com.android.settingslib.spaprivileged.model.app.AppRecord
+import com.android.settingslib.spaprivileged.model.app.userId
+import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListModel
+import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.combine
+import kotlinx.coroutines.flow.map
+
+object NfcTagAppsSettingsProvider : TogglePermissionAppListProvider {
+    override val permissionType = "NfcTagAppsSettings"
+    override fun createModel(context: Context) = NfcTagAppsSettingsListModel(context)
+}
+
+data class NfcTagAppsSettingsRecord(
+    override val app: ApplicationInfo,
+    val controller: NfcTagAppsSettingsController,
+    val isSupported: Boolean,
+) : AppRecord
+
+class NfcTagAppsSettingsListModel(private val context: Context) :
+    TogglePermissionAppListModel<NfcTagAppsSettingsRecord> {
+    override val pageTitleResId = R.string.change_nfc_tag_apps_title
+    override val switchTitleResId = R.string.change_nfc_tag_apps_detail_switch
+    override val footerResId = R.string.change_nfc_tag_apps_detail_summary
+
+    private val packageManager = context.packageManager
+
+    override fun transform(
+        userIdFlow: Flow<Int>,
+        appListFlow: Flow<List<ApplicationInfo>>
+    ): Flow<List<NfcTagAppsSettingsRecord>> =
+        userIdFlow.combine(appListFlow) { userId, appList ->
+            // The appListFlow always refreshed on resume, need to update nfcTagAppsSettingsPackages
+            // here to handle status change.
+            val nfcTagAppsSettingsPackages = getNfcTagAppsSettingsPackages(userId)
+            appList.map { app ->
+                createNfcTagAppsSettingsRecord(
+                    app = app,
+                    isAllowed = nfcTagAppsSettingsPackages[app.packageName],
+                )
+            }
+        }
+
+    private fun getNfcTagAppsSettingsPackages(userId: Int): Map<String, Boolean> {
+        NfcAdapter.getDefaultAdapter(context)?.let { nfcAdapter ->
+            if (nfcAdapter.isTagIntentAppPreferenceSupported) {
+                return nfcAdapter.getTagIntentAppPreferenceForUser(userId)
+            }
+        }
+        return emptyMap()
+    }
+
+    override fun transformItem(app: ApplicationInfo) =
+        createNfcTagAppsSettingsRecord(
+            app = app,
+            isAllowed = getNfcTagAppsSettingsPackages(app.userId)[app.packageName],
+        )
+
+    private fun createNfcTagAppsSettingsRecord(
+        app: ApplicationInfo,
+        isAllowed: Boolean?,
+    ) =
+        NfcTagAppsSettingsRecord(
+            app = app,
+            isSupported = isAllowed != null,
+            controller = NfcTagAppsSettingsController(isAllowed == true),
+        )
+
+    override fun filter(
+        userIdFlow: Flow<Int>,
+        recordListFlow: Flow<List<NfcTagAppsSettingsRecord>>
+    ) = recordListFlow.map { recordList -> recordList.filter { it.isSupported } }
+
+    @Composable
+    override fun isAllowed(record: NfcTagAppsSettingsRecord) =
+        record.controller.isAllowed.observeAsState()
+
+    override fun isChangeable(record: NfcTagAppsSettingsRecord) = true
+
+    override fun setAllowed(record: NfcTagAppsSettingsRecord, newAllowed: Boolean) {
+        NfcAdapter.getDefaultAdapter(context)?.let {
+            if (
+                it.setTagIntentAppPreferenceForUser(
+                    record.app.userId,
+                    record.app.packageName,
+                    newAllowed
+                ) == NfcAdapter.TAG_INTENT_APP_PREF_RESULT_SUCCESS
+            ) {
+                record.controller.setAllowed(newAllowed)
+            } else {
+                Log.e(TAG, "Error updating TagIntentAppPreference")
+            }
+        }
+    }
+
+    private companion object {
+        const val TAG = "NfcTagAppsSettingsListModel"
+        val GET_ACTIVITIES_FLAGS = PackageInfoFlags.of(GET_ACTIVITIES.toLong())
+    }
+}
diff --git a/src/com/android/settings/spa/app/specialaccess/NfcTagAppsSettingsController.kt b/src/com/android/settings/spa/app/specialaccess/NfcTagAppsSettingsController.kt
new file mode 100644
index 0000000..6e1b7b3
--- /dev/null
+++ b/src/com/android/settings/spa/app/specialaccess/NfcTagAppsSettingsController.kt
@@ -0,0 +1,30 @@
+/*
+ * 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.spa.app.specialaccess
+
+import androidx.lifecycle.LiveData
+import androidx.lifecycle.MutableLiveData
+
+class NfcTagAppsSettingsController(initialStatus: Boolean) {
+    val isAllowed: LiveData<Boolean>
+        get() = _allowed
+
+    fun setAllowed(newAllowed: Boolean) {
+        _allowed.postValue(newAllowed)
+    }
+    private val _allowed = MutableLiveData<Boolean>(initialStatus)
+}
diff --git a/src/com/android/settings/spa/development/UsageStats.kt b/src/com/android/settings/spa/development/UsageStats.kt
index b681d75..4d9c455 100644
--- a/src/com/android/settings/spa/development/UsageStats.kt
+++ b/src/com/android/settings/spa/development/UsageStats.kt
@@ -32,7 +32,6 @@
         AppListPage(
             title = stringResource(R.string.testing_usage_stats),
             listModel = rememberContext(::UsageStatsListModel),
-            primaryUserOnly = true,
         )
     }
 }
diff --git a/src/com/android/settings/spa/development/compat/PlatformCompatAppList.kt b/src/com/android/settings/spa/development/compat/PlatformCompatAppList.kt
new file mode 100644
index 0000000..5f3b4e7
--- /dev/null
+++ b/src/com/android/settings/spa/development/compat/PlatformCompatAppList.kt
@@ -0,0 +1,38 @@
+/*
+ * 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.spa.development.compat
+
+import android.os.Bundle
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.res.stringResource
+import com.android.settings.R
+import com.android.settingslib.spa.framework.common.SettingsPageProvider
+import com.android.settingslib.spa.framework.compose.rememberContext
+import com.android.settingslib.spaprivileged.template.app.AppListPage
+
+object PlatformCompatAppListPageProvider : SettingsPageProvider {
+    override val name = "PlatformCompatAppList"
+
+    @Composable
+    override fun Page(arguments: Bundle?) {
+        AppListPage(
+            title = stringResource(R.string.platform_compat_dashboard_title),
+            listModel = rememberContext(::PlatformCompatAppListModel),
+            noItemMessage = stringResource(R.string.platform_compat_dialog_text_no_apps),
+        )
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/spa/development/compat/PlatformCompatAppListModel.kt b/src/com/android/settings/spa/development/compat/PlatformCompatAppListModel.kt
new file mode 100644
index 0000000..c6752b9
--- /dev/null
+++ b/src/com/android/settings/spa/development/compat/PlatformCompatAppListModel.kt
@@ -0,0 +1,72 @@
+/*
+ * 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.spa.development.compat
+
+import android.app.settings.SettingsEnums
+import android.content.Context
+import android.content.pm.ApplicationInfo
+import android.os.Build
+import androidx.compose.runtime.Composable
+import androidx.core.os.bundleOf
+import com.android.settings.core.SubSettingLauncher
+import com.android.settings.development.compat.PlatformCompatDashboard
+import com.android.settingslib.spa.framework.compose.stateOf
+import com.android.settingslib.spa.framework.util.filterItem
+import com.android.settingslib.spa.framework.util.mapItem
+import com.android.settingslib.spaprivileged.model.app.AppListModel
+import com.android.settingslib.spaprivileged.model.app.AppRecord
+import com.android.settingslib.spaprivileged.model.app.hasFlag
+import com.android.settingslib.spaprivileged.model.app.userHandle
+import com.android.settingslib.spaprivileged.template.app.AppListItem
+import com.android.settingslib.spaprivileged.template.app.AppListItemModel
+import kotlinx.coroutines.flow.Flow
+
+data class PlatformCompatAppRecord(
+    override val app: ApplicationInfo,
+) : AppRecord
+
+class PlatformCompatAppListModel(
+    private val context: Context,
+) : AppListModel<PlatformCompatAppRecord> {
+
+    override fun transform(userIdFlow: Flow<Int>, appListFlow: Flow<List<ApplicationInfo>>) =
+        appListFlow.mapItem(::PlatformCompatAppRecord)
+
+    override fun filter(
+        userIdFlow: Flow<Int>, option: Int, recordListFlow: Flow<List<PlatformCompatAppRecord>>,
+    ) = recordListFlow.filterItem { record ->
+        Build.IS_DEBUGGABLE || record.app.hasFlag(ApplicationInfo.FLAG_DEBUGGABLE)
+    }
+
+    @Composable
+    override fun getSummary(option: Int, record: PlatformCompatAppRecord) =
+        stateOf(record.app.packageName)
+
+    @Composable
+    override fun AppListItemModel<PlatformCompatAppRecord>.AppItem() {
+        AppListItem { navigateToAppCompat(app = record.app) }
+    }
+
+    private fun navigateToAppCompat(app: ApplicationInfo) {
+        SubSettingLauncher(context)
+            .setDestination(PlatformCompatDashboard::class.qualifiedName)
+            .setSourceMetricsCategory(SettingsEnums.DEVELOPMENT)
+            .setArguments(bundleOf(PlatformCompatDashboard.COMPAT_APP to app.packageName))
+            .setUserHandle(app.userHandle)
+            .launch()
+    }
+}
diff --git a/src/com/android/settings/spa/development/compat/PlatformCompatPreferenceController.kt b/src/com/android/settings/spa/development/compat/PlatformCompatPreferenceController.kt
new file mode 100644
index 0000000..c0a421c
--- /dev/null
+++ b/src/com/android/settings/spa/development/compat/PlatformCompatPreferenceController.kt
@@ -0,0 +1,34 @@
+/*
+ * 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.spa.development.compat
+
+import android.content.Context
+import androidx.preference.Preference
+import com.android.settings.core.BasePreferenceController
+import com.android.settings.spa.SpaActivity.Companion.startSpaActivity
+
+class PlatformCompatPreferenceController(context: Context, preferenceKey: String) :
+    BasePreferenceController(context, preferenceKey) {
+    override fun getAvailabilityStatus() = AVAILABLE
+
+    override fun handlePreferenceTreeClick(preference: Preference): Boolean {
+        if (preference.key == mPreferenceKey) {
+            mContext.startSpaActivity(PlatformCompatAppListPageProvider.name)
+            return true
+        }
+        return false
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/users/GuestTelephonyPreferenceController.java b/src/com/android/settings/users/GuestTelephonyPreferenceController.java
index a935b8a..83e4bfc 100644
--- a/src/com/android/settings/users/GuestTelephonyPreferenceController.java
+++ b/src/com/android/settings/users/GuestTelephonyPreferenceController.java
@@ -17,6 +17,7 @@
 package com.android.settings.users;
 
 import android.content.Context;
+import android.content.pm.PackageManager;
 import android.os.Bundle;
 import android.os.UserManager;
 
@@ -33,14 +34,11 @@
 
     private final UserManager mUserManager;
     private final UserCapabilities mUserCaps;
-    private Bundle mDefaultGuestRestrictions;
 
     public GuestTelephonyPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
         mUserManager = context.getSystemService(UserManager.class);
         mUserCaps = UserCapabilities.create(context);
-        mDefaultGuestRestrictions = mUserManager.getDefaultGuestRestrictions();
-        mDefaultGuestRestrictions.putBoolean(UserManager.DISALLOW_SMS, true);
     }
 
     @Override
@@ -54,13 +52,16 @@
 
     @Override
     public boolean isChecked() {
-        return !mDefaultGuestRestrictions.getBoolean(UserManager.DISALLOW_OUTGOING_CALLS, false);
+        return !mUserManager.getDefaultGuestRestrictions()
+                .getBoolean(UserManager.DISALLOW_OUTGOING_CALLS, false);
     }
 
     @Override
     public boolean setChecked(boolean isChecked) {
-        mDefaultGuestRestrictions.putBoolean(UserManager.DISALLOW_OUTGOING_CALLS, !isChecked);
-        mUserManager.setDefaultGuestRestrictions(mDefaultGuestRestrictions);
+        Bundle guestRestrictions = mUserManager.getDefaultGuestRestrictions();
+        guestRestrictions.putBoolean(UserManager.DISALLOW_SMS, true);
+        guestRestrictions.putBoolean(UserManager.DISALLOW_OUTGOING_CALLS, !isChecked);
+        mUserManager.setDefaultGuestRestrictions(guestRestrictions);
         return true;
     }
 
@@ -73,6 +74,7 @@
     public void updateState(Preference preference) {
         super.updateState(preference);
         mUserCaps.updateAddUserCapabilities(mContext);
-        preference.setVisible(isAvailable() && mUserCaps.mUserSwitcherEnabled);
+        preference.setVisible(isAvailable() && mUserCaps.mUserSwitcherEnabled
+                && mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY));
     }
 }
diff --git a/src/com/android/settings/users/UserDetailsSettings.java b/src/com/android/settings/users/UserDetailsSettings.java
index 2f9031e..402d4b1 100644
--- a/src/com/android/settings/users/UserDetailsSettings.java
+++ b/src/com/android/settings/users/UserDetailsSettings.java
@@ -79,6 +79,7 @@
 
     /** Whether to enable the app_copying fragment. */
     private static final boolean SHOW_APP_COPYING_PREF = false;
+    private static final int MESSAGE_PADDING = 20;
 
     private UserManager mUserManager;
     private UserCapabilities mUserCaps;
@@ -274,6 +275,7 @@
                 context.getDrawable(com.android.settingslib.R.drawable.ic_admin_panel_settings));
         dialogHelper.setTitle(R.string.user_revoke_admin_confirm_title);
         dialogHelper.setMessage(R.string.user_revoke_admin_confirm_message);
+        dialogHelper.setMessagePadding(MESSAGE_PADDING);
         dialogHelper.setPositiveButton(R.string.remove, view -> {
             updateUserAdminStatus(false);
             dialogHelper.getDialog().dismiss();
@@ -294,6 +296,7 @@
                 context.getDrawable(com.android.settingslib.R.drawable.ic_admin_panel_settings));
         dialogHelper.setTitle(com.android.settingslib.R.string.user_grant_admin_title);
         dialogHelper.setMessage(com.android.settingslib.R.string.user_grant_admin_message);
+        dialogHelper.setMessagePadding(MESSAGE_PADDING);
         dialogHelper.setPositiveButton(com.android.settingslib.R.string.user_grant_admin_button,
                 view -> {
                     updateUserAdminStatus(true);
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java
index 28e02ec..b0816fd 100644
--- a/src/com/android/settings/users/UserSettings.java
+++ b/src/com/android/settings/users/UserSettings.java
@@ -885,7 +885,6 @@
                 this::startActivityForResult,
                 userIcon,
                 user.name,
-                getString(com.android.settingslib.R.string.profile_info_settings_title),
                 (newUserName, newUserIcon) -> {
                     if (newUserIcon != userIcon) {
                         ThreadUtils.postOnBackgroundThread(() ->
@@ -978,10 +977,10 @@
             return;
         }
         try {
-            getContext().getSystemService(UserManager.class)
-                    .removeUserWhenPossible(UserHandle.of(UserHandle.myUserId()),
-                            /* overrideDevicePolicy= */ false);
-            ActivityManager.getService().switchUser(UserHandle.USER_SYSTEM);
+            mUserManager.removeUserWhenPossible(
+                    UserHandle.of(UserHandle.myUserId()), /* overrideDevicePolicy= */ false);
+            ActivityManager.getService().switchUser(
+                    mUserManager.getPreviousForegroundUser().getIdentifier());
         } catch (RemoteException re) {
             Log.e(TAG, "Unable to remove self user");
         }
@@ -1100,7 +1099,7 @@
         }
         mMetricsFeatureProvider.action(getActivity(),
                 SettingsEnums.ACTION_USER_GUEST_EXIT_CONFIRMED);
-        switchToUserId(UserHandle.USER_SYSTEM);
+        switchToUserId(mUserManager.getPreviousForegroundUser().getIdentifier());
     }
 
     private int createGuest() {
@@ -1140,8 +1139,8 @@
             // Create a new guest in the foreground, and then immediately switch to it
             int newGuestUserId = createGuest();
             if (newGuestUserId == UserHandle.USER_NULL) {
-                Log.e(TAG, "Could not create new guest, switching back to system user");
-                switchToUserId(UserHandle.USER_SYSTEM);
+                Log.e(TAG, "Could not create new guest, switching back to previous user");
+                switchToUserId(mUserManager.getPreviousForegroundUser().getIdentifier());
                 mUserManager.removeUser(oldGuestUserId);
                 WindowManagerGlobal.getWindowManagerService().lockNow(/* options= */ null);
                 return;
@@ -1629,7 +1628,7 @@
             mRemovingUserId = -1;
             updateUserList();
             if (mCreateUserDialogController.isActive()) {
-                mCreateUserDialogController.clear();
+                mCreateUserDialogController.finish();
             }
         }
     }
diff --git a/src/com/android/settings/wifi/WifiAPITest.java b/src/com/android/settings/wifi/WifiAPITest.java
index 15465ed..c8bcf7f 100644
--- a/src/com/android/settings/wifi/WifiAPITest.java
+++ b/src/com/android/settings/wifi/WifiAPITest.java
@@ -69,7 +69,7 @@
 
     @Override
     public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
-        addPreferencesFromResource(R.layout.wifi_api_test);
+        addPreferencesFromResource(R.xml.wifi_api_test);
 
         final PreferenceScreen preferenceScreen = getPreferenceScreen();
 
diff --git a/src/com/android/settings/wifi/WifiEntryPreference.java b/src/com/android/settings/wifi/WifiEntryPreference.java
index 5b44887..7206666 100644
--- a/src/com/android/settings/wifi/WifiEntryPreference.java
+++ b/src/com/android/settings/wifi/WifiEntryPreference.java
@@ -15,6 +15,8 @@
  */
 package com.android.settings.wifi;
 
+import static com.android.settingslib.wifi.WifiUtils.getHotspotIconResource;
+
 import android.annotation.Nullable;
 import android.content.Context;
 import android.content.res.Resources;
@@ -37,6 +39,7 @@
 import com.android.settingslib.Utils;
 import com.android.settingslib.wifi.WifiUtils;
 import com.android.wifitrackerlib.BaseWifiTracker;
+import com.android.wifitrackerlib.HotspotNetworkEntry;
 import com.android.wifitrackerlib.WifiEntry;
 
 /**
@@ -145,13 +148,17 @@
      */
     public void refresh() {
         setTitle(mWifiEntry.getTitle());
-        final int level = mWifiEntry.getLevel();
-        final boolean showX = mWifiEntry.shouldShowXLevelIcon();
-        if (level != mLevel || showX != mShowX) {
-            mLevel = level;
-            mShowX = showX;
-            updateIcon(mShowX, mLevel);
-            notifyChanged();
+        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);
+            }
         }
 
         setSummary(mWifiEntry.getSummary(false /* concise */));
@@ -201,14 +208,7 @@
         return accent ? android.R.attr.colorAccent : android.R.attr.colorControlNormal;
     }
 
-    @VisibleForTesting
-    void updateIcon(boolean showX, int level) {
-        if (level == -1) {
-            setIcon(null);
-            return;
-        }
-
-        final Drawable drawable = mIconInjector.getIcon(showX, level);
+    private void setIconWithTint(Drawable drawable) {
         if (drawable != null) {
             // Must use Drawable#setTintList() instead of Drawable#setTint() to show the grey
             // icon when the preference is disabled.
@@ -219,6 +219,20 @@
         }
     }
 
+    @VisibleForTesting
+    void updateIcon(boolean showX, int level) {
+        if (level == -1) {
+            setIcon(null);
+            return;
+        }
+        setIconWithTint(mIconInjector.getIcon(showX, level));
+    }
+
+    @VisibleForTesting
+    void updateHotspotIcon(int deviceType) {
+        setIconWithTint(getContext().getDrawable(getHotspotIconResource(deviceType)));
+    }
+
     @Nullable
     private StateListDrawable getFrictionStateListDrawable() {
         TypedArray frictionSld;
diff --git a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
index 3890ddf..098787c 100644
--- a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
+++ b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
@@ -201,8 +201,10 @@
     void showAlert(Intent intent) {
         final Context context = getActivity();
 
-        final CharSequence title = intent.getCharSequenceExtra(Phone.EXTRA_KEY_ALERT_TITLE);
-        final CharSequence message = intent.getCharSequenceExtra(Phone.EXTRA_KEY_ALERT_MESSAGE);
+        final CharSequence title =
+                intent.getCharSequenceExtra(ImsManager.EXTRA_WFC_REGISTRATION_FAILURE_TITLE);
+        final CharSequence message =
+                intent.getCharSequenceExtra(ImsManager.EXTRA_WFC_REGISTRATION_FAILURE_MESSAGE);
 
         final AlertDialog.Builder builder = new AlertDialog.Builder(context);
         builder.setMessage(message)
diff --git a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
index 4c5a4bf..2e1bc31 100644
--- a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
+++ b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
@@ -637,29 +637,23 @@
     }
 
     private void refreshTxSpeed() {
-        if (mWifiInfo == null
-                || mWifiEntry.getConnectedState() != WifiEntry.CONNECTED_STATE_CONNECTED) {
+        String summary = mWifiEntry.getTxSpeedString();
+        if (TextUtils.isEmpty(summary)) {
             mTxLinkSpeedPref.setVisible(false);
             return;
         }
-
-        int txLinkSpeedMbps = mWifiInfo.getTxLinkSpeedMbps();
-        mTxLinkSpeedPref.setVisible(txLinkSpeedMbps >= 0);
-        mTxLinkSpeedPref.setSummary(mContext.getString(
-                R.string.tx_link_speed, mWifiInfo.getTxLinkSpeedMbps()));
+        mTxLinkSpeedPref.setVisible(true);
+        mTxLinkSpeedPref.setSummary(summary);
     }
 
     private void refreshRxSpeed() {
-        if (mWifiInfo == null
-                || mWifiEntry.getConnectedState() != WifiEntry.CONNECTED_STATE_CONNECTED) {
+        String summary = mWifiEntry.getRxSpeedString();
+        if (TextUtils.isEmpty(summary)) {
             mRxLinkSpeedPref.setVisible(false);
             return;
         }
-
-        int rxLinkSpeedMbps = mWifiInfo.getRxLinkSpeedMbps();
-        mRxLinkSpeedPref.setVisible(rxLinkSpeedMbps >= 0);
-        mRxLinkSpeedPref.setSummary(mContext.getString(
-                R.string.rx_link_speed, mWifiInfo.getRxLinkSpeedMbps()));
+        mRxLinkSpeedPref.setVisible(true);
+        mRxLinkSpeedPref.setSummary(summary);
     }
 
     private void refreshSsid() {
diff --git a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java
index c2111d6..1a268f5 100644
--- a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java
+++ b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java
@@ -617,6 +617,9 @@
     }
 
     private void onDeviceAvailable() {
+        if (mWifiP2pManager == null || sChannel == null) {
+            return;
+        }
         mWifiP2pManager.requestNetworkInfo(sChannel, networkInfo -> {
             if (sChannel == null) return;
             mWifiP2pManager.requestConnectionInfo(sChannel, wifip2pinfo -> {
diff --git a/tests/robotests/assets/exempt_not_implementing_instrumentable b/tests/robotests/assets/exempt_not_implementing_instrumentable
index 04ef0ef..28e1e73 100644
--- a/tests/robotests/assets/exempt_not_implementing_instrumentable
+++ b/tests/robotests/assets/exempt_not_implementing_instrumentable
@@ -1,8 +1,7 @@
 com.android.settings.deletionhelper.ActivationWarningFragment
 com.android.settings.applications.appops.AppOpsCategory
 com.android.settings.CustomListPreference$CustomListPreferenceDialogFragment
-com.android.settings.password.ChooseLockPassword$SaveAndFinishWorker
-com.android.settings.password.ChooseLockPattern$SaveAndFinishWorker
+com.android.settings.password.SaveAndFinishWorker
 com.android.settings.RestrictedListPreference$RestrictedListPreferenceDialogFragment
 com.android.settings.password.ConfirmDeviceCredentialBaseFragment$LastTryDialog
 com.android.settings.password.CredentialCheckResultTracker
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardTest.java
index e14e271..ea2852f 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardTest.java
@@ -38,6 +38,7 @@
 import android.view.accessibility.AccessibilityManager;
 
 import androidx.fragment.app.FragmentActivity;
+import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
@@ -93,6 +94,7 @@
         when(mAccessibilityManager.getInstalledAccessibilityServiceList()).thenReturn(
                 mAccessibilityServices);
         doReturn(mActivity).when(mFragment).getActivity();
+        doReturn(mock(LifecycleOwner.class)).when(mFragment).getViewLifecycleOwner();
         doReturn(mFooterBarMixin).when(mGlifLayoutView).getMixin(FooterBarMixin.class);
     }
 
diff --git a/tests/robotests/src/com/android/settings/accessibility/AvailableHearingDeviceUpdaterTest.java b/tests/robotests/src/com/android/settings/accessibility/AvailableHearingDeviceUpdaterTest.java
index 6305014..0aab5bb 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AvailableHearingDeviceUpdaterTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AvailableHearingDeviceUpdaterTest.java
@@ -18,7 +18,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.when;
 
 import android.bluetooth.BluetoothDevice;
@@ -80,8 +79,9 @@
     @Test
     public void isFilterMatch_connectedHearingDevice_returnTrue() {
         CachedBluetoothDevice connectedHearingDevice = mCachedBluetoothDevice;
-        when(connectedHearingDevice.isConnectedHearingAidDevice()).thenReturn(true);
-        doReturn(BluetoothDevice.BOND_BONDED).when(mBluetoothDevice).getBondState();
+        when(connectedHearingDevice.isHearingAidDevice()).thenReturn(true);
+        when(mBluetoothDevice.isConnected()).thenReturn(true);
+        when(mBluetoothDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
         when(mCachedDeviceManager.getCachedDevicesCopy()).thenReturn(
                 new ArrayList<>(List.of(connectedHearingDevice)));
 
@@ -91,8 +91,9 @@
     @Test
     public void isFilterMatch_nonConnectedHearingDevice_returnFalse() {
         CachedBluetoothDevice nonConnectedHearingDevice = mCachedBluetoothDevice;
-        when(nonConnectedHearingDevice.isConnectedHearingAidDevice()).thenReturn(false);
-        doReturn(BluetoothDevice.BOND_BONDED).when(mBluetoothDevice).getBondState();
+        when(nonConnectedHearingDevice.isHearingAidDevice()).thenReturn(true);
+        when(mBluetoothDevice.isConnected()).thenReturn(false);
+        when(mBluetoothDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
         when(mCachedDeviceManager.getCachedDevicesCopy()).thenReturn(
                 new ArrayList<>(List.of(nonConnectedHearingDevice)));
 
@@ -103,7 +104,8 @@
     public void isFilterMatch_connectedBondingHearingDevice_returnFalse() {
         CachedBluetoothDevice connectedBondingHearingDevice = mCachedBluetoothDevice;
         when(connectedBondingHearingDevice.isHearingAidDevice()).thenReturn(true);
-        doReturn(BluetoothDevice.BOND_BONDING).when(mBluetoothDevice).getBondState();
+        when(mBluetoothDevice.isConnected()).thenReturn(true);
+        when(mBluetoothDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDING);
         when(mCachedDeviceManager.getCachedDevicesCopy()).thenReturn(
                 new ArrayList<>(List.of(connectedBondingHearingDevice)));
 
@@ -114,8 +116,8 @@
     public void isFilterMatch_hearingDeviceNotInCachedDevicesList_returnFalse() {
         CachedBluetoothDevice notInCachedDevicesListDevice = mCachedBluetoothDevice;
         when(notInCachedDevicesListDevice.isHearingAidDevice()).thenReturn(true);
-        doReturn(BluetoothDevice.BOND_BONDED).when(mBluetoothDevice).getBondState();
-        doReturn(false).when(mBluetoothDevice).isConnected();
+        when(mBluetoothDevice.isConnected()).thenReturn(true);
+        when(mBluetoothDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
         when(mCachedDeviceManager.getCachedDevicesCopy()).thenReturn(new ArrayList<>());
 
         assertThat(mUpdater.isFilterMatched(notInCachedDevicesListDevice)).isEqualTo(false);
diff --git a/tests/robotests/src/com/android/settings/accessibility/HearingAidHelperTest.java b/tests/robotests/src/com/android/settings/accessibility/HearingAidHelperTest.java
index 194b766..3889cf0 100644
--- a/tests/robotests/src/com/android/settings/accessibility/HearingAidHelperTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/HearingAidHelperTest.java
@@ -95,8 +95,7 @@
     }
 
     @Test
-    public void isHearingAidSupported_supported_returnTrue() {
-        mBluetoothAdapter.enable();
+    public void isHearingAidSupported_ashaSupported_returnTrue() {
         mShadowBluetoothAdapter.clearSupportedProfiles();
         mShadowBluetoothAdapter.addSupportedProfiles(BluetoothProfile.HEARING_AID);
 
@@ -104,15 +103,20 @@
     }
 
     @Test
-    public void isHearingAidSupported_bluetoothOff_returnFalse() {
+    public void isHearingAidSupported_hapSupported_returnTrue() {
         mShadowBluetoothAdapter.clearSupportedProfiles();
-        mShadowBluetoothAdapter.addSupportedProfiles(BluetoothProfile.HEARING_AID);
-        mBluetoothAdapter.disable();
+        mShadowBluetoothAdapter.addSupportedProfiles(BluetoothProfile.HAP_CLIENT);
+
+        assertThat(mHelper.isHearingAidSupported()).isTrue();
+    }
+
+    @Test
+    public void isHearingAidSupported_unsupported_returnFalse() {
+        mShadowBluetoothAdapter.clearSupportedProfiles();
 
         assertThat(mHelper.isHearingAidSupported()).isFalse();
     }
 
-
     @Test
     public void isAllHearingAidRelatedProfilesReady_allReady_returnTrue() {
         when(mHearingAidProfile.isProfileReady()).thenReturn(true);
diff --git a/tests/robotests/src/com/android/settings/accessibility/HearingAidUtilsTest.java b/tests/robotests/src/com/android/settings/accessibility/HearingAidUtilsTest.java
index 09db6e9..56ab082 100644
--- a/tests/robotests/src/com/android/settings/accessibility/HearingAidUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/HearingAidUtilsTest.java
@@ -37,8 +37,10 @@
 import com.android.settings.utils.ActivityControllerWrapper;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
+import com.android.settingslib.bluetooth.CsipSetCoordinatorProfile;
 import com.android.settingslib.bluetooth.HearingAidInfo;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.bluetooth.LocalBluetoothProfile;
 
 import org.junit.Before;
 import org.junit.Rule;
@@ -52,6 +54,9 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.shadow.api.Shadow;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /** Tests for {@link HearingAidUtils}. */
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {ShadowAlertDialogCompat.class, ShadowBluetoothAdapter.class,
@@ -72,6 +77,8 @@
     private LocalBluetoothManager mLocalBluetoothManager;
     @Mock
     private CachedBluetoothDeviceManager mCachedDeviceManager;
+    @Mock
+    private CsipSetCoordinatorProfile mCsipSetCoordinatorProfile;
     private BluetoothDevice mBluetoothDevice;
     private BluetoothAdapter mBluetoothAdapter;
     private ShadowBluetoothAdapter mShadowBluetoothAdapter;
@@ -137,6 +144,38 @@
     }
 
     @Test
+    public void launchHearingAidPairingDialog_deviceSupportsCsip_csipEnabled_noDialog() {
+        when(mCachedBluetoothDevice.isConnectedAshaHearingAidDevice()).thenReturn(true);
+        when(mCachedBluetoothDevice.getDeviceMode()).thenReturn(
+                HearingAidInfo.DeviceMode.MODE_BINAURAL);
+        when(mCachedBluetoothDevice.getDeviceSide()).thenReturn(
+                HearingAidInfo.DeviceSide.SIDE_LEFT);
+        makeDeviceSupportCsip();
+        makeDeviceEnableCsip(true);
+
+        HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, mCachedBluetoothDevice);
+
+        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNull();
+    }
+
+    @Test
+    public void launchHearingAidPairingDialog_deviceSupportsCsip_csipDisabled_dialogShown() {
+        when(mCachedBluetoothDevice.isConnectedAshaHearingAidDevice()).thenReturn(true);
+        when(mCachedBluetoothDevice.getDeviceMode()).thenReturn(
+                HearingAidInfo.DeviceMode.MODE_BINAURAL);
+        when(mCachedBluetoothDevice.getDeviceSide()).thenReturn(
+                HearingAidInfo.DeviceSide.SIDE_LEFT);
+        makeDeviceSupportCsip();
+        makeDeviceEnableCsip(false);
+
+        HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, mCachedBluetoothDevice);
+
+        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog.isShowing()).isTrue();
+    }
+
+    @Test
     public void launchHearingAidPairingDialog_dialogShown() {
         when(mCachedBluetoothDevice.isConnectedAshaHearingAidDevice()).thenReturn(true);
         when(mCachedBluetoothDevice.getDeviceMode()).thenReturn(
@@ -150,6 +189,17 @@
         assertThat(dialog.isShowing()).isTrue();
     }
 
+    private void makeDeviceSupportCsip() {
+        List<LocalBluetoothProfile> uuids = new ArrayList<>();
+        uuids.add(mCsipSetCoordinatorProfile);
+        when(mCachedBluetoothDevice.getProfiles()).thenReturn(uuids);
+    }
+
+    private void makeDeviceEnableCsip(boolean enabled) {
+        when(mCsipSetCoordinatorProfile.isEnabled(mCachedBluetoothDevice.getDevice()))
+                .thenReturn(enabled);
+    }
+
     private void setupEnvironment() {
         ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager;
         mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
diff --git a/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentForSetupWizardTest.java b/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentForSetupWizardTest.java
index 1cd301f..4ee2a2d 100644
--- a/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentForSetupWizardTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentForSetupWizardTest.java
@@ -22,6 +22,7 @@
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 
@@ -29,6 +30,7 @@
 import android.content.Context;
 
 import androidx.fragment.app.FragmentActivity;
+import androidx.lifecycle.LifecycleOwner;
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
@@ -73,6 +75,7 @@
         final LayoutPreference resetPreference =
                 new LayoutPreference(mContext, R.layout.accessibility_text_reading_reset_button);
         doReturn(mContext).when(mFragment).getContext();
+        doReturn(mock(LifecycleOwner.class)).when(mFragment).getViewLifecycleOwner();
         doReturn(resetPreference).when(mFragment).findPreference(RESET_KEY);
         doReturn(mFooterBarMixin).when(mGlifLayoutView).getMixin(FooterBarMixin.class);
     }
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizardTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizardTest.java
index 84783b21..aa622f5 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizardTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizardTest.java
@@ -20,6 +20,7 @@
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -27,6 +28,7 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 
+import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
@@ -75,6 +77,7 @@
         mFragment =
                 spy(new TestToggleScreenMagnificationPreferenceFragmentForSetupWizard(mContext));
         doReturn(mActivity).when(mFragment).getActivity();
+        doReturn(mock(LifecycleOwner.class)).when(mFragment).getViewLifecycleOwner();
         when(mActivity.getSwitchBar()).thenReturn(mSwitchBar);
         doReturn(mFooterBarMixin).when(mGlifLayoutView).getMixin(FooterBarMixin.class);
     }
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizardTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizardTest.java
index c604652..77e5b1f 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizardTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizardTest.java
@@ -20,6 +20,7 @@
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -28,6 +29,7 @@
 import android.content.Context;
 import android.os.Bundle;
 
+import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 import androidx.test.core.app.ApplicationProvider;
@@ -72,6 +74,7 @@
     public void setUp() {
         mFragment = spy(new TestToggleScreenReaderPreferenceFragmentForSetupWizard(mContext));
         doReturn(mActivity).when(mFragment).getActivity();
+        doReturn(mock(LifecycleOwner.class)).when(mFragment).getViewLifecycleOwner();
         when(mActivity.getSwitchBar()).thenReturn(mSwitchBar);
         doReturn(mFooterBarMixin).when(mGlifLayoutView).getMixin(FooterBarMixin.class);
     }
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleSelectToSpeakPreferenceFragmentForSetupWizardTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleSelectToSpeakPreferenceFragmentForSetupWizardTest.java
index 7893831..8878064 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleSelectToSpeakPreferenceFragmentForSetupWizardTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleSelectToSpeakPreferenceFragmentForSetupWizardTest.java
@@ -20,6 +20,7 @@
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -28,6 +29,7 @@
 import android.content.Context;
 import android.os.Bundle;
 
+import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 import androidx.test.core.app.ApplicationProvider;
@@ -72,6 +74,7 @@
     public void setUp() {
         mFragment = spy(new TestToggleSelectToSpeakPreferenceFragmentForSetupWizard(mContext));
         doReturn(mActivity).when(mFragment).getActivity();
+        doReturn(mock(LifecycleOwner.class)).when(mFragment).getViewLifecycleOwner();
         when(mActivity.getSwitchBar()).thenReturn(mSwitchBar);
         doReturn(mFooterBarMixin).when(mGlifLayoutView).getMixin(FooterBarMixin.class);
     }
diff --git a/tests/robotests/src/com/android/settings/applications/SpecialAppAccessPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/SpecialAppAccessPreferenceControllerTest.java
deleted file mode 100644
index da5ada7..0000000
--- a/tests/robotests/src/com/android/settings/applications/SpecialAppAccessPreferenceControllerTest.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.applications;
-
-import static com.android.settings.core.BasePreferenceController.AVAILABLE;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.anyInt;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.ModuleInfo;
-import android.content.pm.PackageManager;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.datausage.AppStateDataUsageBridge;
-import com.android.settings.testutils.shadow.ShadowApplicationsState;
-import com.android.settings.testutils.shadow.ShadowUserManager;
-import com.android.settingslib.applications.ApplicationsState;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-
-import java.util.ArrayList;
-
-@RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowUserManager.class, ShadowApplicationsState.class})
-public class SpecialAppAccessPreferenceControllerTest {
-
-    private Context mContext;
-    @Mock
-    private ApplicationsState.Session mSession;
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    private PackageManager mPackageManager;
-
-    private SpecialAppAccessPreferenceController mController;
-    private Preference mPreference;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
-        when(mContext.getApplicationContext()).thenReturn(mContext);
-        ShadowUserManager.getShadow().setProfileIdsWithDisabled(new int[]{0});
-        doReturn(mPackageManager).when(mContext).getPackageManager();
-        doReturn(new ArrayList<ModuleInfo>()).when(mPackageManager).getInstalledModules(anyInt());
-        mController = new SpecialAppAccessPreferenceController(mContext, "test_key");
-        mPreference = new Preference(mContext);
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
-
-        mController.mSession = mSession;
-    }
-
-    @Test
-    public void getAvailabilityState_unsearchable() {
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
-    }
-
-    @Test
-    public void updateState_shouldSetSummary() {
-        final ArrayList<ApplicationsState.AppEntry> apps = new ArrayList<>();
-        final ApplicationsState.AppEntry entry = mock(ApplicationsState.AppEntry.class);
-        entry.hasLauncherEntry = true;
-        entry.info = new ApplicationInfo();
-        entry.extraInfo = new AppStateDataUsageBridge.DataUsageState(
-                true /* allowlisted */, false /* denylisted */);
-        apps.add(entry);
-        when(mSession.getAllApps()).thenReturn(apps);
-
-        mController.displayPreference(mScreen);
-        mController.onExtraInfoUpdated();
-
-        assertThat(mPreference.getSummary())
-                .isEqualTo(mContext.getResources().getQuantityString(
-                        R.plurals.special_access_summary, 1, 1));
-    }
-
-    @Test
-    public void updateState_wrongExtraInfo_shouldNotIncludeInSummary() {
-        final ArrayList<ApplicationsState.AppEntry> apps = new ArrayList<>();
-        final ApplicationsState.AppEntry entry = mock(ApplicationsState.AppEntry.class);
-        entry.hasLauncherEntry = true;
-        entry.info = new ApplicationInfo();
-        entry.extraInfo = new AppStateNotificationBridge.NotificationsSentState();
-        apps.add(entry);
-        when(mSession.getAllApps()).thenReturn(apps);
-
-        mController.displayPreference(mScreen);
-        mController.onExtraInfoUpdated();
-
-        assertThat(mPreference.getSummary())
-                .isEqualTo(mContext.getResources().getQuantityString(
-                        R.plurals.special_access_summary, 0, 0));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/applications/appcompat/UserAspectRatioDetailsTest.java b/tests/robotests/src/com/android/settings/applications/appcompat/UserAspectRatioDetailsTest.java
new file mode 100644
index 0000000..31ff76c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/applications/appcompat/UserAspectRatioDetailsTest.java
@@ -0,0 +1,97 @@
+/*
+ * 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.applications.appcompat;
+
+import static com.android.settings.applications.appcompat.UserAspectRatioDetails.KEY_PREF_3_2;
+import static com.android.settings.applications.appcompat.UserAspectRatioDetails.KEY_PREF_DEFAULT;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.IActivityManager;
+import android.content.Context;
+import android.os.RemoteException;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.testutils.shadow.ShadowActivityManager;
+import com.android.settingslib.widget.SelectorWithWidgetPreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+
+/**
+ * To run test: atest SettingsRoboTests:UserAspectRatioDetailsTest
+ */
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowActivityManager.class})
+public class UserAspectRatioDetailsTest {
+
+    @Mock
+    private UserAspectRatioManager mUserAspectRatioManager;
+    @Mock
+    private IActivityManager mAm;
+
+    private SelectorWithWidgetPreference mRadioButtonPref;
+    private Context mContext;
+    private UserAspectRatioDetails mFragment;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mFragment = spy(new UserAspectRatioDetails());
+        when(mFragment.getContext()).thenReturn(mContext);
+        when(mFragment.getAspectRatioManager()).thenReturn(mUserAspectRatioManager);
+        ShadowActivityManager.setService(mAm);
+        mRadioButtonPref = new SelectorWithWidgetPreference(mContext);
+    }
+
+    @Test
+    public void onRadioButtonClicked_prefChange_shouldStopActivity() throws RemoteException {
+        // Default was already selected
+        mRadioButtonPref.setKey(KEY_PREF_DEFAULT);
+        mFragment.onRadioButtonClicked(mRadioButtonPref);
+        // Preference changed
+        mRadioButtonPref.setKey(KEY_PREF_3_2);
+        mFragment.onRadioButtonClicked(mRadioButtonPref);
+        // Only triggered once when preference change
+        verify(mAm).stopAppForUser(any(), anyInt());
+    }
+
+    @Test
+    public void onRadioButtonClicked_prefChange_shouldSetAspectRatio() throws RemoteException {
+        // Default was already selected
+        mRadioButtonPref.setKey(KEY_PREF_DEFAULT);
+        mFragment.onRadioButtonClicked(mRadioButtonPref);
+        // Preference changed
+        mRadioButtonPref.setKey(KEY_PREF_3_2);
+        mFragment.onRadioButtonClicked(mRadioButtonPref);
+        // Only triggered once when preference changes
+        verify(mUserAspectRatioManager).setUserMinAspectRatio(
+                any(), anyInt(), anyInt());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/DataSaverControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/DataSaverControllerTest.java
deleted file mode 100644
index f039c97..0000000
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/DataSaverControllerTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.applications.specialaccess;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.content.res.Resources;
-
-import com.android.settings.R;
-
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-
-@RunWith(RobolectricTestRunner.class)
-public class DataSaverControllerTest {
-
-    private Context mContext;
-    private Resources mResources;
-    private DataSaverController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application.getApplicationContext());
-
-        mResources = spy(mContext.getResources());
-        when(mContext.getResources()).thenReturn(mResources);
-
-        mController = new DataSaverController(mContext, "key");
-    }
-
-    @Test
-    public void testDataSaver_byDefault_shouldBeShown() {
-        when(mResources.getBoolean(R.bool.config_show_data_saver)).thenReturn(true);
-        assertThat(mController.isAvailable()).isTrue();
-    }
-
-    @Ignore
-    @Test
-    @Config(qualifiers = "mcc999")
-    public void testDataSaver_ifDisabledByCarrier_shouldNotBeShown() {
-        assertThat(mController.isAvailable()).isFalse();
-    }
-
-    @Test
-    public void testDataSaver_ifDisabled_shouldNotBeShown() {
-        when(mResources.getBoolean(R.bool.config_show_data_saver)).thenReturn(false);
-        assertThat(mController.isAvailable()).isFalse();
-    }
-}
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 c4da133..df15e5c 100644
--- a/tests/robotests/src/com/android/settings/biometrics/face/FaceEnrollIntroductionTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/face/FaceEnrollIntroductionTest.java
@@ -40,6 +40,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.res.Configuration;
+import android.content.res.Resources;
 import android.hardware.face.Face;
 import android.hardware.face.FaceManager;
 import android.hardware.face.FaceSensorProperties;
@@ -116,6 +117,7 @@
     private FaceEnrollIntroduction mSpyActivity;
     private FakeFeatureFactory mFakeFeatureFactory;
     private ShadowUserManager mUserManager;
+    private Resources mResources;
 
     enum GateKeeperAction {CALL_SUPER, RETURN_BYTE_ARRAY, THROW_CREDENTIAL_NOT_MATCH}
 
@@ -245,6 +247,14 @@
         when(mFaceManager.getEnrolledFaces(anyInt())).thenReturn(faces);
     }
 
+    private void setFaceManagerToHaveWithUserId(int numEnrollments, int userId) {
+        List<Face> faces = new ArrayList<>();
+        for (int i = 0; i < numEnrollments; i++) {
+            faces.add(new Face("Face " + i /* name */, 1 /*faceId */, 1 /* deviceId */));
+        }
+        when(mFaceManager.getEnrolledFaces(userId)).thenReturn(faces);
+    }
+
     @Test
     public void intro_CheckCanEnroll() {
         setFaceManagerToHave(0 /* numEnrollments */);
@@ -546,4 +556,40 @@
         assertThat(mActivity.getPostureCallback()).isNull();
     }
 
+    @Test
+    public void testFaceEnrollIntroduction_maxFacesNotEnrolled_addUserProfile() {
+        // Enroll a face for one user
+        setFaceManagerToHaveWithUserId(1, 0);
+
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mResources = spy(mContext.getResources());
+        when(mResources.getInteger(R.integer.suw_max_faces_enrollable)).thenReturn(1);
+
+        mController = Robolectric.buildActivity(TestFaceEnrollIntroduction.class, new Intent());
+        mActivity = (TestFaceEnrollIntroduction) mController.get();
+
+        mController.create();
+
+        // The maximum number of faces is already enrolled
+        int result = mActivity.checkMaxEnrolled();
+        assertThat(result).isEqualTo(R.string.face_intro_error_max);
+
+        // Add another user profile
+        mUserManager.addUser(10, "", 0);
+        final Intent intent = new Intent();
+        intent.putExtra(Intent.EXTRA_USER_ID, 10);
+
+        when(mResources.getInteger(R.integer.suw_max_faces_enrollable)).thenReturn(2);
+
+        mController = Robolectric.buildActivity(TestFaceEnrollIntroduction.class, intent);
+        mActivity = (TestFaceEnrollIntroduction) mController.get();
+
+        mController.create();
+
+        // The maximum number of faces hasn't been enrolled, so a new face
+        // can be enrolled for the added user profile
+        result = mActivity.checkMaxEnrolled();
+        assertThat(result).isEqualTo(0);
+    }
+
 }
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrollingTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrollingTest.java
index 0f12d1e..a23eded 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrollingTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrollingTest.java
@@ -148,6 +148,23 @@
     }
 
     @Test
+    public void fingerprintUdfpsEnrollInitStage_afterOnEnrollmentHelp_shouldVibrate() {
+        initializeActivityFor(TYPE_UDFPS_OPTICAL);
+
+        assertThat(getLayout().getDescriptionText()).isNotEqualTo("");
+
+        mActivity.configureEnrollmentStage(0 /* lottie */);
+        mActivity.onEnrollmentHelp(1/* FINGERPRINT_ACQUIRED_PARTIAL */, mContext.getString(
+                com.android.internal.R.string.fingerprint_acquired_partial));
+
+        verify(mVibrator, never()).vibrate(anyInt(), anyString(), any(), anyString(), any());
+
+        mActivity.onEnrollmentProgressChange(1, 1);
+        verify(mVibrator).vibrate(anyInt(), anyString(), any(), anyString(), any());
+
+    }
+
+    @Test
     public void fingerprintUdfpsOverlayEnrollment_gainFocus_shouldNotCancel() {
         initializeActivityFor(TYPE_UDFPS_OPTICAL);
 
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroductionTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroductionTest.java
index 69f10d6..3eba91c 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroductionTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroductionTest.java
@@ -85,6 +85,7 @@
     private Context mContext;
 
     private TestFingerprintEnrollIntroduction mFingerprintEnrollIntroduction;
+    private ActivityController<TestFingerprintEnrollIntroduction> mController;
 
     private static final int MAX_ENROLLMENTS = 5;
     private static final byte[] EXPECTED_TOKEN = new byte[] { 10, 20, 30, 40 };
@@ -121,9 +122,8 @@
 
     void setupFingerprintEnrollIntroWith(@NonNull Intent intent) {
 
-        final ActivityController<TestFingerprintEnrollIntroduction> controller =
-                Robolectric.buildActivity(TestFingerprintEnrollIntroduction.class, intent);
-        mFingerprintEnrollIntroduction = controller.get();
+        mController = Robolectric.buildActivity(TestFingerprintEnrollIntroduction.class, intent);
+        mFingerprintEnrollIntroduction = mController.get();
         mFingerprintEnrollIntroduction.mMockedFingerprintManager = mFingerprintManager;
         mFingerprintEnrollIntroduction.mMockedGatekeeperPasswordProvider =
                 mGatekeeperPasswordProvider;
@@ -137,7 +137,7 @@
         when(mLockPatternUtils.getActivePasswordQuality(userId))
                 .thenReturn(PASSWORD_QUALITY_SOMETHING);
 
-        controller.create();
+        mController.create();
     }
 
     void setFingerprintManagerToHave(int numEnrollments) {
@@ -277,6 +277,18 @@
         }
     }
 
+    @Test
+    public void clickNext_onActivityResult_pause_shouldFinish() {
+        setupFingerprintEnrollIntroWith(newTokenOnlyIntent());
+        mController.resume();
+        mFingerprintEnrollIntroduction.clickNextBtn();
+        mController.pause().stop();
+        assertThat(mFingerprintEnrollIntroduction.shouldFinishWhenBackgrounded()).isEqualTo(false);
+
+        mController.resume().pause().stop();
+        assertThat(mFingerprintEnrollIntroduction.shouldFinishWhenBackgrounded()).isEqualTo(true);
+    }
+
     private Intent newTokenOnlyIntent() {
         return new Intent()
                 .putExtra(EXTRA_KEY_CHALLENGE_TOKEN, new byte[] { 1 });
@@ -362,5 +374,16 @@
         protected void getChallenge(GenerateChallengeCallback callback) {
             callback.onChallengeGenerated(mNewSensorId, mUserId, mNewChallenge);
         }
+
+        @Override
+        protected boolean shouldFinishWhenBackgrounded() {
+            return super.shouldFinishWhenBackgrounded();
+        }
+
+        //mock click next btn
+        public void clickNextBtn() {
+            super.onNextButtonClick(null);
+        }
+
     }
 }
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsFragmentTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsFragmentTest.java
index 18b05ad..8b70550 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsFragmentTest.java
@@ -16,12 +16,14 @@
 
 package com.android.settings.biometrics.fingerprint;
 
+import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_POWER_BUTTON;
 import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_UDFPS_OPTICAL;
 
 import static com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment;
 import static com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment.ADD_FINGERPRINT_REQUEST;
 import static com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment.CHOOSE_LOCK_GENERIC_REQUEST;
 import static com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment.KEY_FINGERPRINT_ADD;
+import static com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment.KEY_REQUIRE_SCREEN_ON_TO_AUTH;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -39,11 +41,16 @@
 
 import android.content.Context;
 import android.content.Intent;
+import android.content.pm.UserInfo;
 import android.hardware.biometrics.ComponentInfoInternal;
 import android.hardware.biometrics.SensorProperties;
 import android.hardware.fingerprint.FingerprintManager;
+import android.hardware.fingerprint.FingerprintSensorProperties;
 import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
 import android.os.Bundle;
+import android.os.CancellationSignal;
+import android.os.UserHandle;
+import android.provider.Settings;
 import android.view.LayoutInflater;
 import android.view.ViewGroup;
 
@@ -61,6 +68,7 @@
 import com.android.settings.testutils.shadow.ShadowSettingsPreferenceFragment;
 import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settings.testutils.shadow.ShadowUtils;
+import com.android.settingslib.RestrictedSwitchPreference;
 
 import org.junit.After;
 import org.junit.Before;
@@ -68,6 +76,7 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
 import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
@@ -81,6 +90,9 @@
 @Config(shadows = {ShadowSettingsPreferenceFragment.class, ShadowUtils.class, ShadowFragment.class,
         ShadowUserManager.class, ShadowLockPatternUtils.class})
 public class FingerprintSettingsFragmentTest {
+    private static final int PRIMARY_USER_ID = 0;
+    private static final int GUEST_USER_ID = 10;
+
     private FingerprintSettingsFragment mFragment;
     private Context mContext;
     private FragmentActivity mActivity;
@@ -92,11 +104,26 @@
     @Mock
     private FragmentTransaction mFragmentTransaction;
 
+    @Captor
+    private ArgumentCaptor<CancellationSignal> mCancellationSignalArgumentCaptor =
+            ArgumentCaptor.forClass(CancellationSignal.class);
+    @Captor
+    private ArgumentCaptor<FingerprintManager.AuthenticationCallback>
+            mAuthenticationCallbackArgumentCaptor = ArgumentCaptor.forClass(
+            FingerprintManager.AuthenticationCallback.class);
+
+    private FingerprintAuthenticateSidecar mFingerprintAuthenticateSidecar;
+
     @Before
     public void setUp() {
-        doReturn(true).when(mFingerprintManager).isHardwareDetected();
         ShadowUtils.setFingerprintManager(mFingerprintManager);
         FakeFeatureFactory.setupForTest();
+
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mFragment = spy(new FingerprintSettingsFragment());
+        doReturn(mContext).when(mFragment).getContext();
+
+        doReturn(true).when(mFingerprintManager).isHardwareDetected();
     }
 
     @After
@@ -146,19 +173,71 @@
                 false)).isTrue();
     }
 
+    // Test the case when FingerprintAuthenticateSidecar receives an error callback from the
+    // framework or from another authentication client. The cancellation signal should not be set
+    // to null because there may exist a running authentication client.
+    // The signal can only be cancelled from the caller in FingerprintSettings.
+    @Test
+    public void testCancellationSignalLifeCycle() {
+        setUpFragment(false);
+
+        mFingerprintAuthenticateSidecar.setFingerprintManager(mFingerprintManager);
+
+        doNothing().when(mFingerprintManager).authenticate(any(),
+                mCancellationSignalArgumentCaptor.capture(),
+                mAuthenticationCallbackArgumentCaptor.capture(), any(), anyInt());
+
+        mFingerprintAuthenticateSidecar.startAuthentication(1);
+
+        assertThat(mAuthenticationCallbackArgumentCaptor.getValue()).isNotNull();
+        assertThat(mCancellationSignalArgumentCaptor.getValue()).isNotNull();
+
+        // Authentication error callback should not cancel the signal.
+        mAuthenticationCallbackArgumentCaptor.getValue().onAuthenticationError(0, "");
+        assertThat(mFingerprintAuthenticateSidecar.isCancelled()).isFalse();
+
+        // The signal should be cancelled when caller stops the authentication.
+        mFingerprintAuthenticateSidecar.stopAuthentication();
+        assertThat(mFingerprintAuthenticateSidecar.isCancelled()).isTrue();
+    }
+
+    @Test
+    public void testGuestUserRequireScreenOnToAuth() {
+        Settings.Secure.putIntForUser(
+                mContext.getContentResolver(),
+                Settings.Secure.SFPS_PERFORMANT_AUTH_ENABLED,
+                0,
+                UserHandle.of(PRIMARY_USER_ID).getIdentifier());
+
+        Settings.Secure.putIntForUser(
+                mContext.getContentResolver(),
+                Settings.Secure.SFPS_PERFORMANT_AUTH_ENABLED,
+                1,
+                UserHandle.of(GUEST_USER_ID).getIdentifier());
+
+        setUpFragment(false, GUEST_USER_ID, TYPE_POWER_BUTTON);
+
+        final RestrictedSwitchPreference requireScreenOnToAuthPreference = mFragment.findPreference(
+                KEY_REQUIRE_SCREEN_ON_TO_AUTH);
+        assertThat(requireScreenOnToAuthPreference.isChecked()).isTrue();
+    }
+
     private void setUpFragment(boolean showChooseLock) {
+        setUpFragment(showChooseLock, PRIMARY_USER_ID, TYPE_UDFPS_OPTICAL);
+    }
+
+    private void setUpFragment(boolean showChooseLock, int userId,
+            @FingerprintSensorProperties.SensorType int sensorType) {
+        ShadowUserManager.getShadow().addProfile(new UserInfo(userId, "", 0));
+
         Intent intent = new Intent();
         if (!showChooseLock) {
             intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, new byte[0]);
             intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, 1L);
         }
-
+        intent.putExtra(Intent.EXTRA_USER_ID, userId);
         mActivity = spy(Robolectric.buildActivity(FragmentActivity.class, intent).get());
-        mContext = spy(ApplicationProvider.getApplicationContext());
-
-        mFragment = spy(new FingerprintSettingsFragment());
         doReturn(mActivity).when(mFragment).getActivity();
-        doReturn(mContext).when(mFragment).getContext();
 
         FragmentManager fragmentManager = mock(FragmentManager.class);
         doReturn(mFragmentTransaction).when(fragmentManager).beginTransaction();
@@ -166,9 +245,13 @@
         doReturn(fragmentManager).when(mFragment).getFragmentManager();
         doReturn(fragmentManager).when(mActivity).getSupportFragmentManager();
 
+        mFingerprintAuthenticateSidecar = new FingerprintAuthenticateSidecar();
+        doReturn(mFingerprintAuthenticateSidecar).when(fragmentManager).findFragmentByTag(
+                "authenticate_sidecar");
+
         doNothing().when(mFragment).startActivityForResult(any(Intent.class), anyInt());
 
-        setSensor();
+        setSensor(sensorType);
 
         // Start fragment
         mFragment.onAttach(mContext);
@@ -177,14 +260,14 @@
         mFragment.onResume();
     }
 
-    private void setSensor() {
+    private void setSensor(@FingerprintSensorProperties.SensorType int sensorType) {
         final ArrayList<FingerprintSensorPropertiesInternal> props = new ArrayList<>();
         props.add(new FingerprintSensorPropertiesInternal(
                 0 /* sensorId */,
                 SensorProperties.STRENGTH_STRONG,
                 1 /* maxEnrollmentsPerUser */,
                 new ArrayList<ComponentInfoInternal>(),
-                TYPE_UDFPS_OPTICAL,
+                sensorType,
                 true /* resetLockoutRequiresHardwareAuthToken */));
         doReturn(props).when(mFingerprintManager).getSensorPropertiesInternal();
     }
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBaseTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBaseTest.java
index 184f521..7c598e0 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBaseTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBaseTest.java
@@ -202,7 +202,7 @@
                 new BluetoothDevicePreference(mContext, mCachedBluetoothDevice,
                         true, BluetoothDevicePreference.SortType.TYPE_FIFO);
         final BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS);
-        mFragment.mDevicePreferenceMap.put(mCachedBluetoothDevice, preference);
+        mFragment.getDevicePreferenceMap().put(mCachedBluetoothDevice, preference);
 
         when(mCachedBluetoothDevice.isConnected()).thenReturn(true);
         when(mCachedBluetoothDevice.getDevice()).thenReturn(device);
@@ -210,7 +210,7 @@
         mFragment.onProfileConnectionStateChanged(mCachedBluetoothDevice,
                 BluetoothProfile.A2DP, BluetoothAdapter.STATE_CONNECTED);
 
-        assertThat(mFragment.mDevicePreferenceMap.size()).isEqualTo(0);
+        assertThat(mFragment.getDevicePreferenceMap().size()).isEqualTo(0);
     }
 
     @Test
@@ -221,7 +221,7 @@
                         true, BluetoothDevicePreference.SortType.TYPE_FIFO);
         final BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS);
         final BluetoothDevice device2 = mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_B);
-        mFragment.mDevicePreferenceMap.put(mCachedBluetoothDevice, preference);
+        mFragment.getDevicePreferenceMap().put(mCachedBluetoothDevice, preference);
 
         when(mCachedBluetoothDevice.isConnected()).thenReturn(true);
         when(mCachedBluetoothDevice.getDevice()).thenReturn(device);
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDetailTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDetailTest.java
index 5fbfee8..ce67051 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDetailTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDetailTest.java
@@ -27,7 +27,12 @@
 import android.bluetooth.BluetoothAdapter;
 import android.content.Context;
 import android.os.Bundle;
+import android.view.View;
 
+import androidx.annotation.NonNull;
+import androidx.lifecycle.Lifecycle;
+import androidx.lifecycle.LifecycleObserver;
+import androidx.lifecycle.LifecycleOwner;
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
@@ -53,6 +58,20 @@
 
     private final Context mContext = ApplicationProvider.getApplicationContext();
 
+    private final Lifecycle mFakeLifecycle = new Lifecycle() {
+        @Override
+        public void addObserver(@NonNull LifecycleObserver observer) {}
+
+        @Override
+        public void removeObserver(@NonNull LifecycleObserver observer) {}
+
+        @NonNull
+        @Override
+        public State getCurrentState() {
+            return State.CREATED;
+        }
+    };
+
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private LocalBluetoothManager mLocalManager;
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
@@ -74,6 +93,8 @@
                 .findPreference(BluetoothPairingDetail.KEY_AVAIL_DEVICES);
         doReturn(mFooterPreference).when(mFragment)
                 .findPreference(BluetoothPairingDetail.KEY_FOOTER_PREF);
+        doReturn(new View(mContext)).when(mFragment).getView();
+        doReturn((LifecycleOwner) () -> mFakeLifecycle).when(mFragment).getViewLifecycleOwner();
         doReturn(Collections.emptyList()).when(mDeviceManager).getCachedDevicesCopy();
 
         mFragment.mBluetoothAdapter = mBluetoothAdapter;
@@ -82,7 +103,7 @@
         mFragment.mDeviceListGroup = mAvailableDevicesCategory;
         mFragment.onViewCreated(mFragment.getView(), Bundle.EMPTY);
     }
-//
+
     @Test
     public void initPreferencesFromPreferenceScreen_findPreferences() {
         mFragment.initPreferencesFromPreferenceScreen();
diff --git a/tests/robotests/src/com/android/settings/bluetooth/DeviceListPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/bluetooth/DeviceListPreferenceFragmentTest.java
deleted file mode 100644
index 4f46ce9..0000000
--- a/tests/robotests/src/com/android/settings/bluetooth/DeviceListPreferenceFragmentTest.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.bluetooth;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-
-import android.bluetooth.BluetoothAdapter;
-import android.bluetooth.BluetoothUuid;
-import android.bluetooth.le.BluetoothLeScanner;
-import android.bluetooth.le.ScanCallback;
-import android.bluetooth.le.ScanFilter;
-import android.bluetooth.le.ScanSettings;
-import android.content.Context;
-import android.content.res.Resources;
-
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
-import com.android.settingslib.bluetooth.CachedBluetoothDevice;
-import com.android.settingslib.core.AbstractPreferenceController;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-
-import java.util.Collections;
-import java.util.List;
-
-@RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowBluetoothAdapter.class})
-public class DeviceListPreferenceFragmentTest {
-
-    private static final String FOOTAGE_MAC_STRING = "Bluetooth mac: xxxx";
-
-    @Mock
-    private Resources mResource;
-    @Mock
-    private Context mContext;
-    @Mock
-    private BluetoothLeScanner mBluetoothLeScanner;
-
-    private TestFragment mFragment;
-    private Preference mMyDevicePreference;
-
-
-    private BluetoothAdapter mBluetoothAdapter;
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mFragment = spy(new TestFragment());
-        doReturn(mContext).when(mFragment).getContext();
-        doReturn(mResource).when(mFragment).getResources();
-        mBluetoothAdapter = spy(BluetoothAdapter.getDefaultAdapter());
-        mFragment.mBluetoothAdapter = mBluetoothAdapter;
-
-        mMyDevicePreference = new Preference(RuntimeEnvironment.application);
-    }
-
-    @Test
-    public void setUpdateMyDevicePreference_setTitleCorrectly() {
-        doReturn(FOOTAGE_MAC_STRING).when(mFragment)
-            .getString(eq(R.string.bluetooth_footer_mac_message), any());
-
-        mFragment.updateFooterPreference(mMyDevicePreference);
-
-        assertThat(mMyDevicePreference.getTitle()).isEqualTo(FOOTAGE_MAC_STRING);
-    }
-
-    @Test
-    public void testEnableDisableScanning_testStateAfterEanbleDisable() {
-        mFragment.enableScanning();
-        verify(mFragment).startScanning();
-        assertThat(mFragment.mScanEnabled).isTrue();
-
-        mFragment.disableScanning();
-        verify(mFragment).stopScanning();
-        assertThat(mFragment.mScanEnabled).isFalse();
-    }
-
-    @Test
-    public void testScanningStateChanged_testScanStarted() {
-        mFragment.enableScanning();
-        assertThat(mFragment.mScanEnabled).isTrue();
-        verify(mFragment).startScanning();
-
-        mFragment.onScanningStateChanged(true);
-        verify(mFragment, times(1)).startScanning();
-    }
-
-    @Test
-    public void testScanningStateChanged_testScanFinished() {
-        // Could happen when last scanning not done while current scan gets enabled
-        mFragment.enableScanning();
-        verify(mFragment).startScanning();
-        assertThat(mFragment.mScanEnabled).isTrue();
-
-        mFragment.onScanningStateChanged(false);
-        verify(mFragment, times(2)).startScanning();
-    }
-
-    @Test
-    public void testScanningStateChanged_testScanStateMultiple() {
-        // Could happen when last scanning not done while current scan gets enabled
-        mFragment.enableScanning();
-        assertThat(mFragment.mScanEnabled).isTrue();
-        verify(mFragment).startScanning();
-
-        mFragment.onScanningStateChanged(true);
-        verify(mFragment, times(1)).startScanning();
-
-        mFragment.onScanningStateChanged(false);
-        verify(mFragment, times(2)).startScanning();
-
-        mFragment.onScanningStateChanged(true);
-        verify(mFragment, times(2)).startScanning();
-
-        mFragment.disableScanning();
-        verify(mFragment).stopScanning();
-
-        mFragment.onScanningStateChanged(false);
-        verify(mFragment, times(2)).startScanning();
-
-        mFragment.onScanningStateChanged(true);
-        verify(mFragment, times(2)).startScanning();
-    }
-
-    @Test
-    public void testScanningStateChanged_testScanFinishedAfterDisable() {
-        mFragment.enableScanning();
-        verify(mFragment).startScanning();
-        assertThat(mFragment.mScanEnabled).isTrue();
-
-        mFragment.disableScanning();
-        verify(mFragment).stopScanning();
-        assertThat(mFragment.mScanEnabled).isFalse();
-
-        mFragment.onScanningStateChanged(false);
-        verify(mFragment, times(1)).startScanning();
-    }
-
-    @Test
-    public void testScanningStateChanged_testScanStartedAfterDisable() {
-        mFragment.enableScanning();
-        verify(mFragment).startScanning();
-        assertThat(mFragment.mScanEnabled).isTrue();
-
-        mFragment.disableScanning();
-        verify(mFragment).stopScanning();
-        assertThat(mFragment.mScanEnabled).isFalse();
-
-        mFragment.onScanningStateChanged(true);
-        verify(mFragment, times(1)).startScanning();
-    }
-
-    @Test
-    public void startScanning_setLeScanFilter_shouldStartLeScan() {
-        final ScanFilter leScanFilter = new ScanFilter.Builder()
-                .setServiceData(BluetoothUuid.HEARING_AID, new byte[]{0}, new byte[]{0})
-                .build();
-        doReturn(mBluetoothLeScanner).when(mBluetoothAdapter).getBluetoothLeScanner();
-
-        mFragment.setFilter(Collections.singletonList(leScanFilter));
-        mFragment.startScanning();
-
-        verify(mBluetoothLeScanner).startScan(eq(Collections.singletonList(leScanFilter)),
-                any(ScanSettings.class), any(ScanCallback.class));
-    }
-
-    /**
-     * Fragment to test since {@code DeviceListPreferenceFragment} is abstract
-     */
-    public static class TestFragment extends DeviceListPreferenceFragment {
-
-        public TestFragment() {
-            super("");
-        }
-
-        @Override
-        public int getMetricsCategory() {
-            return 0;
-        }
-
-        @Override
-        public void onDeviceBondStateChanged(CachedBluetoothDevice cachedDevice, int bondState) {}
-
-        @Override
-        protected void initPreferencesFromPreferenceScreen() {}
-
-        @Override
-        public String getDeviceListKey() {
-            return null;
-        }
-
-        @Override
-        protected String getLogTag() {
-            return null;
-        }
-
-        @Override
-        protected int getPreferenceScreenResId() {
-            return 0;
-        }
-
-        @Override
-        protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-            return null;
-        }
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/bluetooth/DeviceListPreferenceFragmentTest.kt b/tests/robotests/src/com/android/settings/bluetooth/DeviceListPreferenceFragmentTest.kt
new file mode 100644
index 0000000..5a21aff
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/bluetooth/DeviceListPreferenceFragmentTest.kt
@@ -0,0 +1,260 @@
+/*
+ * 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.bluetooth
+
+import android.bluetooth.BluetoothAdapter
+import android.bluetooth.BluetoothDevice
+import android.bluetooth.BluetoothUuid
+import android.bluetooth.le.BluetoothLeScanner
+import android.bluetooth.le.ScanCallback
+import android.bluetooth.le.ScanFilter
+import android.content.Context
+import android.content.res.Resources
+import androidx.preference.Preference
+import com.android.settings.R
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter
+import com.android.settingslib.bluetooth.BluetoothDeviceFilter
+import com.android.settingslib.bluetooth.CachedBluetoothDevice
+import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.runBlocking
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.ArgumentMatchers.any
+import org.mockito.ArgumentMatchers.eq
+import org.mockito.Mock
+import org.mockito.Mockito.doNothing
+import org.mockito.Mockito.doReturn
+import org.mockito.Mockito.mock
+import org.mockito.Mockito.never
+import org.mockito.Mockito.spy
+import org.mockito.Mockito.times
+import org.mockito.Mockito.verify
+import org.mockito.Spy
+import org.mockito.junit.MockitoJUnit
+import org.mockito.junit.MockitoRule
+import org.robolectric.RobolectricTestRunner
+import org.robolectric.RuntimeEnvironment
+import org.robolectric.annotation.Config
+import org.mockito.Mockito.`when` as whenever
+
+@RunWith(RobolectricTestRunner::class)
+@Config(shadows = [ShadowBluetoothAdapter::class])
+class DeviceListPreferenceFragmentTest {
+    @get:Rule
+    val mockito: MockitoRule = MockitoJUnit.rule()
+
+    @Mock
+    private lateinit var resource: Resources
+
+    @Mock
+    private lateinit var context: Context
+
+    @Mock
+    private lateinit var bluetoothLeScanner: BluetoothLeScanner
+
+    @Mock
+    private lateinit var cachedDeviceManager: CachedBluetoothDeviceManager
+
+    @Mock
+    private lateinit var cachedDevice: CachedBluetoothDevice
+
+    @Spy
+    private var fragment = TestFragment()
+
+    private lateinit var myDevicePreference: Preference
+    private lateinit var bluetoothAdapter: BluetoothAdapter
+
+    @Before
+    fun setUp() {
+        doReturn(context).`when`(fragment).context
+        doReturn(resource).`when`(fragment).resources
+        doNothing().`when`(fragment).onDeviceAdded(cachedDevice)
+        bluetoothAdapter = spy(BluetoothAdapter.getDefaultAdapter())
+        fragment.mBluetoothAdapter = bluetoothAdapter
+        fragment.mCachedDeviceManager = cachedDeviceManager
+
+        myDevicePreference = Preference(RuntimeEnvironment.application)
+    }
+
+    @Test
+    fun setUpdateMyDevicePreference_setTitleCorrectly() {
+        doReturn(FOOTAGE_MAC_STRING).`when`(fragment)
+            .getString(eq(R.string.bluetooth_footer_mac_message), any())
+
+        fragment.updateFooterPreference(myDevicePreference)
+
+        assertThat(myDevicePreference.title).isEqualTo(FOOTAGE_MAC_STRING)
+    }
+
+    @Test
+    fun testEnableDisableScanning_testStateAfterEnableDisable() {
+        fragment.enableScanning()
+        verify(fragment).startScanning()
+        assertThat(fragment.mScanEnabled).isTrue()
+
+        fragment.disableScanning()
+        verify(fragment).stopScanning()
+        assertThat(fragment.mScanEnabled).isFalse()
+    }
+
+    @Test
+    fun testScanningStateChanged_testScanStarted() {
+        fragment.enableScanning()
+        assertThat(fragment.mScanEnabled).isTrue()
+        verify(fragment).startScanning()
+
+        fragment.onScanningStateChanged(true)
+        verify(fragment, times(1)).startScanning()
+    }
+
+    @Test
+    fun testScanningStateChanged_testScanFinished() {
+        // Could happen when last scanning not done while current scan gets enabled
+        fragment.enableScanning()
+        verify(fragment).startScanning()
+        assertThat(fragment.mScanEnabled).isTrue()
+
+        fragment.onScanningStateChanged(false)
+        verify(fragment, times(2)).startScanning()
+    }
+
+    @Test
+    fun testScanningStateChanged_testScanStateMultiple() {
+        // Could happen when last scanning not done while current scan gets enabled
+        fragment.enableScanning()
+        assertThat(fragment.mScanEnabled).isTrue()
+        verify(fragment).startScanning()
+
+        fragment.onScanningStateChanged(true)
+        verify(fragment, times(1)).startScanning()
+
+        fragment.onScanningStateChanged(false)
+        verify(fragment, times(2)).startScanning()
+
+        fragment.onScanningStateChanged(true)
+        verify(fragment, times(2)).startScanning()
+
+        fragment.disableScanning()
+        verify(fragment).stopScanning()
+
+        fragment.onScanningStateChanged(false)
+        verify(fragment, times(2)).startScanning()
+
+        fragment.onScanningStateChanged(true)
+        verify(fragment, times(2)).startScanning()
+    }
+
+    @Test
+    fun testScanningStateChanged_testScanFinishedAfterDisable() {
+        fragment.enableScanning()
+        verify(fragment).startScanning()
+        assertThat(fragment.mScanEnabled).isTrue()
+
+        fragment.disableScanning()
+        verify(fragment).stopScanning()
+        assertThat(fragment.mScanEnabled).isFalse()
+
+        fragment.onScanningStateChanged(false)
+        verify(fragment, times(1)).startScanning()
+    }
+
+    @Test
+    fun testScanningStateChanged_testScanStartedAfterDisable() {
+        fragment.enableScanning()
+        verify(fragment).startScanning()
+        assertThat(fragment.mScanEnabled).isTrue()
+
+        fragment.disableScanning()
+        verify(fragment).stopScanning()
+        assertThat(fragment.mScanEnabled).isFalse()
+
+        fragment.onScanningStateChanged(true)
+        verify(fragment, times(1)).startScanning()
+    }
+
+    @Test
+    fun startScanning_setLeScanFilter_shouldStartLeScan() {
+        val leScanFilter = ScanFilter.Builder()
+            .setServiceData(BluetoothUuid.HEARING_AID, byteArrayOf(0), byteArrayOf(0))
+            .build()
+        doReturn(bluetoothLeScanner).`when`(bluetoothAdapter).bluetoothLeScanner
+
+        fragment.setFilter(listOf(leScanFilter))
+        fragment.startScanning()
+
+        verify(bluetoothLeScanner).startScan(eq(listOf(leScanFilter)), any(), any<ScanCallback>())
+    }
+
+    @Test
+    fun addCachedDevices_whenFilterIsNull_onDeviceAddedIsCalled() = runBlocking {
+        val mockCachedDevice = mock(CachedBluetoothDevice::class.java)
+        whenever(cachedDeviceManager.cachedDevicesCopy).thenReturn(listOf(mockCachedDevice))
+        fragment.lifecycleScope = this
+
+        fragment.addCachedDevices(filterForCachedDevices = null)
+        delay(100)
+
+        verify(fragment).onDeviceAdded(mockCachedDevice)
+    }
+
+    @Test
+    fun addCachedDevices_whenFilterMatched_onDeviceAddedIsCalled() = runBlocking {
+        val mockBluetoothDevice = mock(BluetoothDevice::class.java)
+        whenever(mockBluetoothDevice.bondState).thenReturn(BluetoothDevice.BOND_NONE)
+        whenever(cachedDevice.device).thenReturn(mockBluetoothDevice)
+        whenever(cachedDeviceManager.cachedDevicesCopy).thenReturn(listOf(cachedDevice))
+        fragment.lifecycleScope = this
+
+        fragment.addCachedDevices(BluetoothDeviceFilter.UNBONDED_DEVICE_FILTER)
+        delay(100)
+
+        verify(fragment).onDeviceAdded(cachedDevice)
+    }
+
+    @Test
+    fun addCachedDevices_whenFilterNoMatch_onDeviceAddedNotCalled() = runBlocking {
+        val mockBluetoothDevice = mock(BluetoothDevice::class.java)
+        whenever(mockBluetoothDevice.bondState).thenReturn(BluetoothDevice.BOND_BONDED)
+        whenever(cachedDevice.device).thenReturn(mockBluetoothDevice)
+        whenever(cachedDeviceManager.cachedDevicesCopy).thenReturn(listOf(cachedDevice))
+        fragment.lifecycleScope = this
+
+        fragment.addCachedDevices(BluetoothDeviceFilter.UNBONDED_DEVICE_FILTER)
+        delay(100)
+
+        verify(fragment, never()).onDeviceAdded(cachedDevice)
+    }
+
+    /**
+     * Fragment to test since `DeviceListPreferenceFragment` is abstract
+     */
+    open class TestFragment : DeviceListPreferenceFragment(null) {
+        override fun getMetricsCategory() = 0
+        override fun initPreferencesFromPreferenceScreen() {}
+        override val deviceListKey = "device_list"
+        override fun getLogTag() = null
+        override fun getPreferenceScreenResId() = 0
+    }
+
+    private companion object {
+        const val FOOTAGE_MAC_STRING = "Bluetooth mac: xxxx"
+    }
+}
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 f4fa397..3c459de 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusDevicesControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusDevicesControllerTest.java
@@ -18,6 +18,10 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.doNothing;
@@ -27,13 +31,17 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.app.Dialog;
 import android.app.role.RoleManager;
 import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
+import android.content.pm.UserInfo;
+import android.os.Process;
 import android.os.UserHandle;
+import android.os.UserManager;
 import android.provider.Settings;
 import android.provider.Settings.Secure;
 import android.view.InputDevice;
@@ -48,6 +56,7 @@
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
+import com.android.settings.dashboard.profileselector.UserAdapter;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
@@ -59,7 +68,9 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 
+import java.util.Arrays;
 import java.util.Collections;
+import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
 public class StylusDevicesControllerTest {
@@ -79,6 +90,8 @@
     @Mock
     private PackageManager mPm;
     @Mock
+    private UserManager mUserManager;
+    @Mock
     private RoleManager mRm;
     @Mock
     private Lifecycle mLifecycle;
@@ -87,7 +100,6 @@
     @Mock
     private BluetoothDevice mBluetoothDevice;
 
-
     @Before
     public void setUp() throws Exception {
         MockitoAnnotations.initMocks(this);
@@ -101,6 +113,7 @@
 
         when(mContext.getSystemService(InputMethodManager.class)).thenReturn(mImm);
         when(mContext.getSystemService(RoleManager.class)).thenReturn(mRm);
+        when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
         doNothing().when(mContext).startActivity(any());
 
         when(mImm.getCurrentInputMethodInfo()).thenReturn(mInputMethodInfo);
@@ -115,6 +128,8 @@
         when(mPm.getApplicationInfo(eq(NOTES_PACKAGE_NAME),
                 any(PackageManager.ApplicationInfoFlags.class))).thenReturn(new ApplicationInfo());
         when(mPm.getApplicationLabel(any(ApplicationInfo.class))).thenReturn(NOTES_APP_LABEL);
+        when(mUserManager.getUsers()).thenReturn(Arrays.asList(new UserInfo(0, "default", 0)));
+        when(mUserManager.isManagedProfile(anyInt())).thenReturn(false);
 
         when(mCachedBluetoothDevice.getDevice()).thenReturn(mBluetoothDevice);
 
@@ -228,22 +243,50 @@
         when(mInputMethodInfo.supportsStylusHandwriting()).thenReturn(false);
 
         showScreen(mController);
-        Preference handwritingPref = mPreferenceContainer.getPreference(1);
 
+        Preference handwritingPref = mPreferenceContainer.getPreference(1);
         assertThat(handwritingPref.isVisible()).isFalse();
     }
 
     @Test
-    public void defaultNotesPreference_showsNotesRoleApp() {
+    public void defaultNotesPreference_singleUser_showsNotesRoleApp() {
         showScreen(mController);
-        Preference defaultNotesPref = mPreferenceContainer.getPreference(0);
 
+        Preference defaultNotesPref = mPreferenceContainer.getPreference(0);
         assertThat(defaultNotesPref.getTitle().toString()).isEqualTo(
                 mContext.getString(R.string.stylus_default_notes_app));
         assertThat(defaultNotesPref.getSummary().toString()).isEqualTo(NOTES_APP_LABEL.toString());
     }
 
     @Test
+    public void defaultNotesPreference_workProfileUser_showsWorkNotesRoleApp() {
+        when(mUserManager.isManagedProfile(0)).thenReturn(true);
+
+        showScreen(mController);
+
+        Preference defaultNotesPref = mPreferenceContainer.getPreference(0);
+        assertThat(defaultNotesPref.getTitle().toString()).isEqualTo(
+                mContext.getString(R.string.stylus_default_notes_app));
+        assertThat(defaultNotesPref.getSummary().toString()).isEqualTo(
+                mContext.getString(R.string.stylus_default_notes_summary_work,
+                        NOTES_APP_LABEL.toString()));
+    }
+
+    @Test
+    public void defaultNotesPreference_noApplicationInfo_showsBlankSummary()
+            throws PackageManager.NameNotFoundException {
+        when(mPm.getApplicationInfo(eq(NOTES_PACKAGE_NAME),
+                any(PackageManager.ApplicationInfoFlags.class))).thenReturn(null);
+
+        showScreen(mController);
+
+        Preference defaultNotesPref = mPreferenceContainer.getPreference(0);
+        assertThat(defaultNotesPref.getTitle().toString()).isEqualTo(
+                mContext.getString(R.string.stylus_default_notes_app));
+        assertThat(defaultNotesPref.getSummary().toString()).isEqualTo("");
+    }
+
+    @Test
     public void defaultNotesPreference_roleHolderChanges_updatesPreference() {
         showScreen(mController);
         Preference defaultNotesPref = mPreferenceContainer.getPreference(0);
@@ -267,7 +310,7 @@
     }
 
     @Test
-    public void defaultNotesPreferenceClick_sendsManageDefaultRoleIntent() {
+    public void defaultNotesPreferenceClick_singleUser_sendsManageDefaultRoleIntent() {
         final String permissionPackageName = "permissions.package";
         when(mPm.getPermissionControllerPackageName()).thenReturn(permissionPackageName);
         final ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
@@ -282,6 +325,76 @@
         assertThat(intent.getPackage()).isEqualTo(permissionPackageName);
         assertThat(intent.getStringExtra(Intent.EXTRA_ROLE_NAME)).isEqualTo(
                 RoleManager.ROLE_NOTES);
+        assertNull(mController.mDialog);
+    }
+
+    @Test
+    public void defaultNotesPreferenceClick_multiUserManagedProfile_showsProfileSelectorDialog() {
+        mContext.setTheme(R.style.Theme_AppCompat);
+        final String permissionPackageName = "permissions.package";
+        final UserHandle currentUser = Process.myUserHandle();
+        List<UserInfo> userInfos = Arrays.asList(
+                new UserInfo(currentUser.getIdentifier(), "current", 0),
+                new UserInfo(1, "profile", UserInfo.FLAG_PROFILE)
+        );
+        when(mUserManager.getUsers()).thenReturn(userInfos);
+        when(mUserManager.isManagedProfile(1)).thenReturn(true);
+        when(mUserManager.getUserInfo(currentUser.getIdentifier())).thenReturn(userInfos.get(0));
+        when(mUserManager.getUserInfo(1)).thenReturn(userInfos.get(1));
+        when(mUserManager.getProfileParent(1)).thenReturn(userInfos.get(0));
+        when(mPm.getPermissionControllerPackageName()).thenReturn(permissionPackageName);
+
+        showScreen(mController);
+        Preference defaultNotesPref = mPreferenceContainer.getPreference(0);
+        mController.onPreferenceClick(defaultNotesPref);
+
+        assertTrue(mController.mDialog.isShowing());
+    }
+
+    @Test
+    public void defaultNotesPreferenceClick_noManagedProfile_sendsManageDefaultRoleIntent() {
+        final ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
+        mContext.setTheme(R.style.Theme_AppCompat);
+        final String permissionPackageName = "permissions.package";
+        final UserHandle currentUser = Process.myUserHandle();
+        List<UserInfo> userInfos = Arrays.asList(
+                new UserInfo(currentUser.getIdentifier(), "current", 0),
+                new UserInfo(1, "other", UserInfo.FLAG_FULL)
+        );
+        when(mUserManager.getUsers()).thenReturn(userInfos);
+        when(mUserManager.isManagedProfile(1)).thenReturn(false);
+        when(mUserManager.getUserInfo(currentUser.getIdentifier())).thenReturn(userInfos.get(0));
+        when(mUserManager.getUserInfo(1)).thenReturn(userInfos.get(1));
+        when(mUserManager.getProfileParent(any())).thenReturn(null);
+        when(mPm.getPermissionControllerPackageName()).thenReturn(permissionPackageName);
+
+        showScreen(mController);
+        Preference defaultNotesPref = mPreferenceContainer.getPreference(0);
+        mController.onPreferenceClick(defaultNotesPref);
+
+        verify(mContext).startActivity(captor.capture());
+        Intent intent = captor.getValue();
+        assertThat(intent.getAction()).isEqualTo(Intent.ACTION_MANAGE_DEFAULT_APP);
+        assertThat(intent.getPackage()).isEqualTo(permissionPackageName);
+        assertThat(intent.getStringExtra(Intent.EXTRA_ROLE_NAME)).isEqualTo(
+                RoleManager.ROLE_NOTES);
+        assertNull(mController.mDialog);
+    }
+
+    @Test
+    public void profileSelectDialogClickCallback_onClick_sendsIntent() {
+        Intent intent = new Intent();
+        UserHandle user1 = mock(UserHandle.class);
+        UserHandle user2 = mock(UserHandle.class);
+        List<UserHandle> users = Arrays.asList(user1, user2);
+        mController.mDialog = new Dialog(mContext);
+        UserAdapter.OnClickListener callback = mController
+                .createProfileDialogClickCallback(intent, users);
+
+        callback.onClick(1);
+
+        assertEquals(intent.getExtra(Intent.EXTRA_USER), user2);
+        verify(mContext).startActivity(intent);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusUsbFirmwareControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusUsbFirmwareControllerTest.java
new file mode 100644
index 0000000..5922016
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusUsbFirmwareControllerTest.java
@@ -0,0 +1,163 @@
+/*
+ * 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.connecteddevice.stylus;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.hardware.usb.UsbDevice;
+import android.hardware.usb.UsbManager;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+import java.util.Collections;
+import java.util.HashMap;
+
+@RunWith(RobolectricTestRunner.class)
+public class StylusUsbFirmwareControllerTest {
+
+    private Context mContext;
+    private FakeFeatureFactory mFeatureFactory;
+    private Lifecycle mLifecycle;
+    private PreferenceScreen mScreen;
+
+    private StylusUsbFirmwareController mController;
+    @Mock
+    private StylusUsiDetailsFragment mFragment;
+    @Mock
+    private UsbManager mUsbManager;
+    private PreferenceCategory mPreferenceCategory;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = spy(RuntimeEnvironment.application);
+        mLifecycle = new Lifecycle(() -> mLifecycle);
+
+        when(mFragment.getContext()).thenReturn(mContext);
+
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
+        mController = new StylusUsbFirmwareController(mContext, "stylus_usb_firmware");
+
+        PreferenceManager preferenceManager = new PreferenceManager(mContext);
+        mScreen = preferenceManager.createPreferenceScreen(mContext);
+
+        mPreferenceCategory = new PreferenceCategory(mContext);
+        mPreferenceCategory.setKey(mController.getPreferenceKey());
+    }
+
+    @Test
+    public void displayPreference_featurePresentUsbStylusAttached_preferenceAdded() {
+        attachUsbDevice();
+        enableFullStylusFeature();
+
+        mController.displayPreference(mScreen);
+
+        assertNotNull(mScreen.findPreference("stylus_usb_firmware"));
+    }
+
+    @Test
+    public void displayPreference_featureAbsentUsbStylusAttached_preferenceNotAdded() {
+        attachUsbDevice();
+        mController.mUsbConnectionListener.onUsbStylusConnectionChanged(
+                mock(UsbDevice.class), true);
+
+        mController.displayPreference(mScreen);
+
+        assertNull(mScreen.findPreference(mController.getPreferenceKey()));
+    }
+
+    @Test
+    public void onUsbStylusConnectionChanged_featurePresentUsbStylusAttached_preferenceAdded() {
+        mController.displayPreference(mScreen);
+
+        attachUsbDevice();
+        enableFullStylusFeature();
+        mController.mUsbConnectionListener.onUsbStylusConnectionChanged(
+                mock(UsbDevice.class), true);
+
+        assertNotNull(mScreen.findPreference(mController.getPreferenceKey()));
+    }
+
+    @Test
+    public void onUsbStylusConnectionChanged_featureAbsentUsbStylusAttached_preferenceRemoved() {
+        mController.displayPreference(mScreen);
+
+        attachUsbDevice();
+        mController.mUsbConnectionListener.onUsbStylusConnectionChanged(
+                mock(UsbDevice.class), true);
+
+        assertNull(mScreen.findPreference(mController.getPreferenceKey()));
+    }
+
+    @Test
+    public void hasUsbStylusFirmwareUpdateFeature_featurePresent_true() {
+        when(mFeatureFactory.getStylusFeatureProvider()
+                .isUsbFirmwareUpdateEnabled(any())).thenReturn(true);
+        attachUsbDevice();
+
+        assertTrue(StylusUsbFirmwareController
+                .hasUsbStylusFirmwareUpdateFeature(mock(UsbDevice.class)));
+    }
+
+    @Test
+    public void hasUsbStylusFirmwareUpdateFeature_featureNotPresent_false() {
+        when(mFeatureFactory.getStylusFeatureProvider()
+                .isUsbFirmwareUpdateEnabled(any())).thenReturn(false);
+        attachUsbDevice();
+
+        assertFalse(StylusUsbFirmwareController
+                .hasUsbStylusFirmwareUpdateFeature(mock(UsbDevice.class)));
+    }
+
+    private void attachUsbDevice() {
+        when(mContext.getSystemService(UsbManager.class)).thenReturn(mUsbManager);
+        HashMap<String, UsbDevice> deviceList = new HashMap<>();
+        deviceList.put("0", mock(UsbDevice.class));
+        when(mUsbManager.getDeviceList()).thenReturn(deviceList);
+    }
+
+    private void enableFullStylusFeature() {
+        when(mFeatureFactory.getStylusFeatureProvider()
+                .isUsbFirmwareUpdateEnabled(any())).thenReturn(true);
+        when(mFeatureFactory.getStylusFeatureProvider()
+                .getUsbFirmwareUpdatePreferences(any()))
+                .thenReturn(Collections.singletonList(mock(Preference.class)));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/stylus/UsbStylusBroadcastReceiverTest.java b/tests/robotests/src/com/android/settings/connecteddevice/stylus/UsbStylusBroadcastReceiverTest.java
new file mode 100644
index 0000000..ccaefb2
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/stylus/UsbStylusBroadcastReceiverTest.java
@@ -0,0 +1,98 @@
+/*
+ * 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.connecteddevice.stylus;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.Intent;
+import android.hardware.usb.UsbDevice;
+import android.hardware.usb.UsbManager;
+
+import com.android.settings.testutils.FakeFeatureFactory;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class UsbStylusBroadcastReceiverTest {
+    private Context mContext;
+    private UsbStylusBroadcastReceiver mReceiver;
+    private FakeFeatureFactory mFeatureFactory;
+    @Mock
+    private UsbStylusBroadcastReceiver.UsbStylusConnectionListener mListener;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = RuntimeEnvironment.application;
+        mReceiver = new UsbStylusBroadcastReceiver(mContext, mListener);
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
+    }
+
+    @Test
+    public void onReceive_usbDeviceAttachedStylus_invokeCallback() {
+        when(mFeatureFactory.mStylusFeatureProvider.isUsbFirmwareUpdateEnabled(any()))
+                .thenReturn(true);
+        final UsbDevice usbDevice = mock(UsbDevice.class);
+        final Intent intent = new Intent();
+        intent.setAction(UsbManager.ACTION_USB_DEVICE_ATTACHED);
+        intent.putExtra(UsbManager.EXTRA_DEVICE, usbDevice);
+
+        mReceiver.onReceive(mContext, intent);
+
+        verify(mListener).onUsbStylusConnectionChanged(usbDevice, true);
+    }
+
+    @Test
+    public void onReceive_usbDeviceDetachedStylus_invokeCallback() {
+        when(mFeatureFactory.mStylusFeatureProvider.isUsbFirmwareUpdateEnabled(any()))
+                .thenReturn(true);
+        final UsbDevice usbDevice = mock(UsbDevice.class);
+        final Intent intent = new Intent();
+        intent.setAction(UsbManager.ACTION_USB_DEVICE_DETACHED);
+        intent.putExtra(UsbManager.EXTRA_DEVICE, usbDevice);
+
+        mReceiver.onReceive(mContext, intent);
+
+        verify(mListener).onUsbStylusConnectionChanged(usbDevice, false);
+    }
+
+    @Test
+    public void onReceive_usbDeviceAttachedNotStylus_doesNotInvokeCallback() {
+        when(mFeatureFactory.mStylusFeatureProvider.isUsbFirmwareUpdateEnabled(any()))
+                .thenReturn(false);
+        final UsbDevice usbDevice = mock(UsbDevice.class);
+        final Intent intent = new Intent();
+        intent.setAction(UsbManager.ACTION_USB_DEVICE_ATTACHED);
+        intent.putExtra(UsbManager.EXTRA_DEVICE, usbDevice);
+
+        mReceiver.onReceive(mContext, intent);
+
+        verifyNoMoreInteractions(mListener);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/ShowKeyPressesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/ShowKeyPressesPreferenceControllerTest.java
new file mode 100644
index 0000000..b7fb902
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/ShowKeyPressesPreferenceControllerTest.java
@@ -0,0 +1,110 @@
+/*
+ * Copyright 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.development;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class ShowKeyPressesPreferenceControllerTest {
+
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    private SwitchPreference mPreference;
+
+    private Context mContext;
+
+    private ShowKeyPressesPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mController = new ShowKeyPressesPreferenceController(mContext);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+        mController.displayPreference(mScreen);
+    }
+
+    @Test
+    public void updateState_showKeyPressesEnabled_shouldCheckedPreference() {
+        Settings.System.putInt(mContext.getContentResolver(),
+                Settings.System.SHOW_KEY_PRESSES, ShowTapsPreferenceController.SETTING_VALUE_ON);
+
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(true);
+    }
+
+    @Test
+    public void updateState_showKeyPressesDisabled_shouldUncheckedPreference() {
+        Settings.System.putInt(mContext.getContentResolver(),
+                Settings.System.SHOW_KEY_PRESSES, ShowTapsPreferenceController.SETTING_VALUE_OFF);
+
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(false);
+    }
+
+    @Test
+    public void onPreferenceChange_preferenceChecked_shouldEnableShowKeyPresses() {
+        mController.onPreferenceChange(mPreference, true /* new value */);
+
+        final int showKeyPresses = Settings.System.getInt(mContext.getContentResolver(),
+                Settings.System.SHOW_KEY_PRESSES, -1 /* default */);
+
+        assertThat(showKeyPresses).isEqualTo(ShowTapsPreferenceController.SETTING_VALUE_ON);
+    }
+
+    @Test
+    public void onPreferenceChange_preferenceUnchecked_shouldDisableShowKeyPresses() {
+        mController.onPreferenceChange(mPreference, false /* new value */);
+
+        final int showTapsMode = Settings.System.getInt(mContext.getContentResolver(),
+                Settings.System.SHOW_KEY_PRESSES, -1 /* default */);
+
+        assertThat(showTapsMode).isEqualTo(ShowTapsPreferenceController.SETTING_VALUE_OFF);
+    }
+
+    @Test
+    public void onDeveloperOptionsSwitchDisabled_preferenceShouldBeEnabled() {
+        mController.onDeveloperOptionsSwitchDisabled();
+
+        final int showTapsMode = Settings.System.getInt(mContext.getContentResolver(),
+                Settings.System.SHOW_KEY_PRESSES, -1 /* default */);
+
+        assertThat(showTapsMode).isEqualTo(ShowTapsPreferenceController.SETTING_VALUE_OFF);
+        verify(mPreference).setEnabled(false);
+        verify(mPreference).setChecked(false);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryCycleCountPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryCycleCountPreferenceControllerTest.java
new file mode 100644
index 0000000..4d1b4d0
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryCycleCountPreferenceControllerTest.java
@@ -0,0 +1,76 @@
+/*
+ * 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.deviceinfo.batteryinfo;
+
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.BatteryManager;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class BatteryCycleCountPreferenceControllerTest {
+    private BatteryCycleCountPreferenceController mController;
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mController = new BatteryCycleCountPreferenceController(mContext,
+                "battery_info_cycle_count");
+    }
+
+    @Test
+    public void getAvailabilityStatus_returnAvailable() {
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    public void getSummary_returnExpectedResult() {
+        final Intent batteryIntent = new Intent();
+        batteryIntent.putExtra(BatteryManager.EXTRA_CYCLE_COUNT, 10);
+        doReturn(batteryIntent).when(mContext).registerReceiver(any(), any());
+
+        assertThat(mController.getSummary()).isEqualTo("10");
+    }
+
+    @Test
+    public void getSummary_noValue_returnUnavailable() {
+        final Intent batteryIntent = new Intent();
+        doReturn(batteryIntent).when(mContext).registerReceiver(any(), any());
+
+        assertThat(mController.getSummary()).isEqualTo(
+                mContext.getText(R.string.battery_cycle_count_not_available));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceControllerTest.java
new file mode 100644
index 0000000..ff8ea62
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceControllerTest.java
@@ -0,0 +1,97 @@
+/*
+ * 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.deviceinfo.batteryinfo;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.when;
+import static org.robolectric.Shadows.shadowOf;
+
+import android.content.Context;
+import android.os.BatteryManager;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.testutils.FakeFeatureFactory;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowBatteryManager;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowBatteryManager.class})
+public class BatteryFirstUseDatePreferenceControllerTest {
+    private BatteryFirstUseDatePreferenceController mController;
+    private Context mContext;
+    private BatteryManager mBatteryManager;
+    private ShadowBatteryManager mShadowBatteryManager;
+    private FakeFeatureFactory mFactory;
+
+    @Before
+    public void setUp() {
+        mContext = ApplicationProvider.getApplicationContext();
+        mBatteryManager = mContext.getSystemService(BatteryManager.class);
+        mShadowBatteryManager = shadowOf(mBatteryManager);
+        mFactory = FakeFeatureFactory.setupForTest();
+        mController = new BatteryFirstUseDatePreferenceController(mContext,
+                "battery_info_first_use_date");
+    }
+
+    @Test
+    public void getAvailabilityStatus_dateAvailable_returnAvailable() {
+        when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable(eq(mContext),
+                anyLong())).thenReturn(true);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_dateUnavailable_returnNotAvailable() {
+        when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable(eq(mContext),
+                anyLong())).thenReturn(false);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void getSummary_available_returnExpectedDate() {
+        when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable(eq(mContext),
+                anyLong())).thenReturn(true);
+        mShadowBatteryManager.setLongProperty(BatteryManager.BATTERY_PROPERTY_FIRST_USAGE_DATE,
+                1669680000L);
+
+        final CharSequence result = mController.getSummary();
+
+        assertThat(result.toString()).isEqualTo("November 29, 2022");
+    }
+
+    @Test
+    public void getSummary_unavailable_returnNull() {
+        when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable(eq(mContext),
+                anyLong())).thenReturn(false);
+
+        assertThat(mController.getSummary()).isNull();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceControllerTest.java
new file mode 100644
index 0000000..608ce00
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceControllerTest.java
@@ -0,0 +1,98 @@
+/*
+ * 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.deviceinfo.batteryinfo;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.when;
+import static org.robolectric.Shadows.shadowOf;
+
+import android.content.Context;
+import android.os.BatteryManager;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.testutils.FakeFeatureFactory;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowBatteryManager;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowBatteryManager.class})
+public class BatteryManufactureDatePreferenceControllerTest {
+
+    private BatteryManufactureDatePreferenceController mController;
+    private Context mContext;
+    private BatteryManager mBatteryManager;
+    private ShadowBatteryManager mShadowBatteryManager;
+    private FakeFeatureFactory mFactory;
+
+    @Before
+    public void setUp() {
+        mContext = ApplicationProvider.getApplicationContext();
+        mBatteryManager = mContext.getSystemService(BatteryManager.class);
+        mShadowBatteryManager = shadowOf(mBatteryManager);
+        mFactory = FakeFeatureFactory.setupForTest();
+        mController = new BatteryManufactureDatePreferenceController(mContext,
+                "battery_info_manufacture_date");
+    }
+
+    @Test
+    public void getAvailabilityStatus_dateAvailable_returnAvailable() {
+        when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable(eq(mContext),
+                anyLong())).thenReturn(true);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_dateUnavailable_returnNotAvailable() {
+        when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable(eq(mContext),
+                anyLong())).thenReturn(false);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void getSummary_available_returnExpectedDate() {
+        when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable(eq(mContext),
+                anyLong())).thenReturn(true);
+        mShadowBatteryManager.setLongProperty(BatteryManager.BATTERY_PROPERTY_MANUFACTURING_DATE,
+                1669680000L);
+
+        final CharSequence result = mController.getSummary();
+
+        assertThat(result.toString()).isEqualTo("November 29, 2022");
+    }
+
+    @Test
+    public void getSummary_unavailable_returnNull() {
+        when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable(eq(mContext),
+                anyLong())).thenReturn(false);
+
+        assertThat(mController.getSummary()).isNull();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/display/StayAwakeOnFoldPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/StayAwakeOnFoldPreferenceControllerTest.java
new file mode 100644
index 0000000..c994818
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/display/StayAwakeOnFoldPreferenceControllerTest.java
@@ -0,0 +1,119 @@
+/*
+ * 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.display;
+
+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.when;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.provider.Settings;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class StayAwakeOnFoldPreferenceControllerTest {
+
+    @Mock
+    private Resources mResources;
+    private Context mContext;
+    private StayAwakeOnFoldPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mResources = Mockito.mock(Resources.class);
+        mController = new StayAwakeOnFoldPreferenceController(mContext, "key", mResources);
+    }
+
+    @Test
+    public void getAvailabilityStatus_withConfigNoShow_returnUnsupported() {
+        when(mResources.getBoolean(R.bool.config_stay_awake_on_fold)).thenReturn(false);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_withConfigNoShow_returnAvailable() {
+        when(mResources.getBoolean(R.bool.config_stay_awake_on_fold)).thenReturn(true);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    public void setChecked_enableStayAwakeOnFold_setChecked() {
+        mController.setChecked(true);
+
+        assertThat(isStayAwakeOnFoldEnabled())
+                .isTrue();
+    }
+
+    @Test
+    public void setChecked_disableStayAwakeOnFold_setUnchecked() {
+        mController.setChecked(false);
+
+        assertThat(isStayAwakeOnFoldEnabled())
+                .isFalse();
+    }
+
+    @Test
+    public void isChecked_enableStayAwakeOnFold_returnTrue() {
+        enableStayAwakeOnFoldPreference();
+
+        assertThat(mController.isChecked()).isTrue();
+    }
+
+    @Test
+    public void isChecked_disableStayAwakeOnFold_returnFalse() {
+        disableStayAwakeOnFoldPreference();
+
+        assertThat(mController.isChecked()).isFalse();
+    }
+
+    private void enableStayAwakeOnFoldPreference() {
+        Settings.System.putInt(
+                mContext.getContentResolver(),
+                Settings.System.STAY_AWAKE_ON_FOLD,
+                1);
+    }
+
+    private void disableStayAwakeOnFoldPreference() {
+        Settings.System.putInt(
+                mContext.getContentResolver(),
+                Settings.System.STAY_AWAKE_ON_FOLD,
+                0);
+    }
+
+    private boolean isStayAwakeOnFoldEnabled() {
+        return (Settings.System.getInt(
+                mContext.getContentResolver(),
+                Settings.System.STAY_AWAKE_ON_FOLD,
+                0) == 1);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHistoricalLogUtilTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeLogUtilsTest.java
similarity index 60%
rename from tests/robotests/src/com/android/settings/fuelgauge/BatteryHistoricalLogUtilTest.java
rename to tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeLogUtilsTest.java
index cb5de7d..87de62f 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHistoricalLogUtilTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeLogUtilsTest.java
@@ -33,7 +33,7 @@
 import java.io.StringWriter;
 
 @RunWith(RobolectricTestRunner.class)
-public final class BatteryHistoricalLogUtilTest {
+public final class BatteryOptimizeLogUtilsTest {
 
     private final StringWriter mTestStringWriter = new StringWriter();
     private final PrintWriter mTestPrintWriter = new PrintWriter(mTestStringWriter);
@@ -43,19 +43,19 @@
     @Before
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
-        BatteryHistoricalLogUtil.getSharedPreferences(mContext).edit().clear().commit();
+        BatteryOptimizeLogUtils.getSharedPreferences(mContext).edit().clear().commit();
     }
 
     @Test
     public void printHistoricalLog_withDefaultLogs() {
-        BatteryHistoricalLogUtil.printBatteryOptimizeHistoricalLog(mContext, mTestPrintWriter);
+        BatteryOptimizeLogUtils.printBatteryOptimizeHistoricalLog(mContext, mTestPrintWriter);
         assertThat(mTestStringWriter.toString()).contains("nothing to dump");
     }
 
     @Test
     public void writeLog_withExpectedLogs() {
-        BatteryHistoricalLogUtil.writeLog(mContext, Action.APPLY, "pkg1", "logs");
-        BatteryHistoricalLogUtil.printBatteryOptimizeHistoricalLog(mContext, mTestPrintWriter);
+        BatteryOptimizeLogUtils.writeLog(mContext, Action.APPLY, "pkg1", "logs");
+        BatteryOptimizeLogUtils.printBatteryOptimizeHistoricalLog(mContext, mTestPrintWriter);
 
         assertThat(mTestStringWriter.toString()).contains(
                 "pkg1\taction:APPLY\tevent:logs");
@@ -63,21 +63,27 @@
 
     @Test
     public void writeLog_multipleLogs_withCorrectCounts() {
-        for (int i = 0; i < BatteryHistoricalLogUtil.MAX_ENTRIES; i++) {
-            BatteryHistoricalLogUtil.writeLog(mContext, Action.LEAVE, "pkg" + i, "logs");
+        final int expectedCount = 10;
+        for (int i = 0; i < expectedCount; i++) {
+            BatteryOptimizeLogUtils.writeLog(mContext, Action.LEAVE, "pkg" + i, "logs");
         }
-        BatteryHistoricalLogUtil.printBatteryOptimizeHistoricalLog(mContext, mTestPrintWriter);
+        BatteryOptimizeLogUtils.printBatteryOptimizeHistoricalLog(mContext, mTestPrintWriter);
 
-        assertThat(mTestStringWriter.toString().split("LEAVE").length).isEqualTo(41);
+        assertActionCount("LEAVE", expectedCount);
     }
 
     @Test
     public void writeLog_overMaxEntriesLogs_withCorrectCounts() {
-        for (int i = 0; i < BatteryHistoricalLogUtil.MAX_ENTRIES + 10; i++) {
-            BatteryHistoricalLogUtil.writeLog(mContext, Action.RESET, "pkg" + i, "logs");
+        for (int i = 0; i < BatteryOptimizeLogUtils.MAX_ENTRIES + 10; i++) {
+            BatteryOptimizeLogUtils.writeLog(mContext, Action.RESET, "pkg" + i, "logs");
         }
-        BatteryHistoricalLogUtil.printBatteryOptimizeHistoricalLog(mContext, mTestPrintWriter);
+        BatteryOptimizeLogUtils.printBatteryOptimizeHistoricalLog(mContext, mTestPrintWriter);
 
-        assertThat(mTestStringWriter.toString().split("RESET").length).isEqualTo(41);
+        assertActionCount("RESET", BatteryOptimizeLogUtils.MAX_ENTRIES);
+    }
+
+    private void assertActionCount(String token, int count) {
+        final String dumpResults = mTestStringWriter.toString();
+        assertThat(dumpResults.split(token).length).isEqualTo(count + 1);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImplTest.java
new file mode 100644
index 0000000..66050a0
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImplTest.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;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class BatterySettingsFeatureProviderImplTest {
+    private BatterySettingsFeatureProviderImpl mImpl;
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        mImpl = new BatterySettingsFeatureProviderImpl();
+        mContext = ApplicationProvider.getApplicationContext();
+    }
+
+    @Test
+    public void isManufactureDateAvailable_returnFalse() {
+        assertThat(mImpl.isManufactureDateAvailable(mContext, 1000L)).isFalse();
+    }
+
+    @Test
+    public void isFirstUseDateAvailable_returnFalse() {
+        assertThat(mImpl.isFirstUseDateAvailable(mContext, 1000L)).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java
index b444309..f6bc297 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java
@@ -31,6 +31,7 @@
 import android.hardware.usb.UsbManager;
 import android.hardware.usb.UsbPort;
 import android.hardware.usb.UsbPortStatus;
+import android.os.BatteryManager;
 
 import androidx.preference.Preference;
 import androidx.test.core.app.ApplicationProvider;
@@ -146,6 +147,17 @@
     }
 
     @Test
+    public void getDashboardLabel_notChargingState_returnsCorrectLabel() {
+        mController.mPreference = new Preference(mContext);
+        BatteryInfo info = new BatteryInfo();
+        info.batteryStatus = BatteryManager.BATTERY_STATUS_NOT_CHARGING;
+        info.statusLabel = "expected returned label";
+
+        assertThat(mController.getDashboardLabel(mContext, info, true))
+                .isEqualTo(info.statusLabel);
+    }
+
+    @Test
     public void getSummary_batteryNotPresent_shouldShowWarningMessage() {
         mController.mIsBatteryPresent = false;
         assertThat(mController.getSummary())
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTipTest.java
index 3513168..ecac4f9 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTipTest.java
@@ -18,11 +18,11 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
-import android.view.View;
 import android.os.Parcel;
 import android.os.Parcelable;
+import android.view.View;
 
-import androidx.annotation.IdRes;
+import androidx.annotation.DrawableRes;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceViewHolder;
 
@@ -45,7 +45,7 @@
 
     private static final String TITLE = "title";
     private static final String SUMMARY = "summary";
-    @IdRes
+    @DrawableRes
     private static final int ICON_ID = R.drawable.ic_fingerprint;
 
     private Context mContext;
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 dec5d7d..108d6e2 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
@@ -40,6 +40,7 @@
 import com.android.settings.fuelgauge.batteryusage.BatteryEntry.NameAndIcon;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -50,8 +51,6 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 
-import java.util.Locale;
-
 @RunWith(RobolectricTestRunner.class)
 public class BatteryEntryTest {
 
@@ -232,17 +231,7 @@
         assertThat(entry.getTimeInBackgroundMs()).isEqualTo(0);
     }
 
-    @Test
-    public void testUidCache_switchLocale_shouldCleanCache() {
-        Locale.setDefault(new Locale("en_US"));
-        BatteryEntry.sUidCache.put(Integer.toString(APP_UID), null);
-        assertThat(BatteryEntry.sUidCache).isNotEmpty();
-
-        Locale.setDefault(new Locale("zh_TW"));
-        createBatteryEntryForApp(null, null, HIGH_DRAIN_PACKAGE);
-        assertThat(BatteryEntry.sUidCache).isEmpty(); // check if cache is clear
-    }
-
+    @Ignore
     @Test
     public void getKey_UidBatteryConsumer() {
         final BatteryEntry entry = createBatteryEntryForApp(null, null, null);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/bugreport/BatteryUsageLogUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/bugreport/BatteryUsageLogUtilsTest.java
new file mode 100644
index 0000000..12c040e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/bugreport/BatteryUsageLogUtilsTest.java
@@ -0,0 +1,96 @@
+/*
+ * 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.fuelgauge.batteryusage.bugreport;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.fuelgauge.BatteryUsageHistoricalLogEntry.Action;
+
+import org.junit.Before;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.MethodSorters;
+import org.robolectric.RobolectricTestRunner;
+
+import java.io.PrintWriter;
+import java.io.StringWriter;
+
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+@RunWith(RobolectricTestRunner.class)
+public final class BatteryUsageLogUtilsTest {
+
+    private StringWriter mTestStringWriter;
+    private PrintWriter mTestPrintWriter;
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        mContext = ApplicationProvider.getApplicationContext();
+        mTestStringWriter = new StringWriter();
+        mTestPrintWriter = new PrintWriter(mTestStringWriter);
+        BatteryUsageLogUtils.getSharedPreferences(mContext).edit().clear().commit();
+    }
+
+    @Test
+    public void printHistoricalLog_withDefaultLogs() {
+        final String expectedInformation = "nothing to dump";
+        // Environment checking.
+        assertThat(mTestStringWriter.toString().contains(expectedInformation)).isFalse();
+
+        BatteryUsageLogUtils.printHistoricalLog(mContext, mTestPrintWriter);
+        assertThat(mTestStringWriter.toString()).contains(expectedInformation);
+    }
+
+    @Test
+    public void writeLog_multipleLogs_withCorrectCounts() {
+        final int expectedCount = 10;
+        for (int i = 0; i < expectedCount; i++) {
+            BatteryUsageLogUtils.writeLog(mContext, Action.SCHEDULE_JOB, "");
+        }
+        BatteryUsageLogUtils.writeLog(mContext, Action.EXECUTE_JOB, "");
+
+        BatteryUsageLogUtils.printHistoricalLog(mContext, mTestPrintWriter);
+
+        assertActionCount("SCHEDULE_JOB", expectedCount);
+        assertActionCount("EXECUTE_JOB", 1);
+    }
+
+    @Test
+    public void writeLog_overMaxEntriesLogs_withCorrectCounts() {
+        BatteryUsageLogUtils.writeLog(mContext, Action.SCHEDULE_JOB, "");
+        BatteryUsageLogUtils.writeLog(mContext, Action.SCHEDULE_JOB, "");
+        for (int i = 0; i < BatteryUsageLogUtils.MAX_ENTRIES * 2; i++) {
+            BatteryUsageLogUtils.writeLog(mContext, Action.EXECUTE_JOB, "");
+        }
+
+        BatteryUsageLogUtils.printHistoricalLog(mContext, mTestPrintWriter);
+
+        final String dumpResults = mTestStringWriter.toString();
+        assertThat(dumpResults.contains("SCHEDULE_JOB")).isFalse();
+        assertActionCount("EXECUTE_JOB", BatteryUsageLogUtils.MAX_ENTRIES);
+    }
+
+    private void assertActionCount(String token, int count) {
+        final String dumpResults = mTestStringWriter.toString();
+        assertThat(dumpResults.split(token).length).isEqualTo(count + 1);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProviderTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProviderTest.java
index 8365ae4..45d4065 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProviderTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProviderTest.java
@@ -87,6 +87,7 @@
         mBugReportContentProvider.dump(FileDescriptor.out, mPrintWriter, new String[] {});
 
         String dumpContent = mStringWriter.toString();
+        assertThat(dumpContent).contains("Battery PeriodicJob History");
         assertThat(dumpContent).contains("Battery DatabaseHistory");
         assertThat(dumpContent).contains(PACKAGE_NAME1);
         assertThat(dumpContent).contains(PACKAGE_NAME2);
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadBottomPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadBottomPreferenceControllerTest.java
index 1b061ec..3c51cf3 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/TrackpadBottomPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadBottomPreferenceControllerTest.java
@@ -18,6 +18,11 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.verify;
+
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.UserHandle;
 import android.provider.Settings;
@@ -26,25 +31,33 @@
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 
 /** Tests for {@link TrackpadBottomPreferenceController} */
 @RunWith(RobolectricTestRunner.class)
 public class TrackpadBottomPreferenceControllerTest {
+    @Rule
+    public MockitoRule rule = MockitoJUnit.rule();
 
     private static final String PREFERENCE_KEY = "trackpad_bottom_right_tap";
     private static final String SETTING_KEY = Settings.System.TOUCHPAD_RIGHT_CLICK_ZONE;
 
     private Context mContext;
     private TrackpadBottomPreferenceController mController;
+    private FakeFeatureFactory mFeatureFactory;
 
     @Before
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
         mController = new TrackpadBottomPreferenceController(mContext, PREFERENCE_KEY);
     }
 
@@ -70,6 +83,10 @@
                 UserHandle.USER_CURRENT);
 
         assertThat(result).isEqualTo(1);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_BOTTOM_RIGHT_TAP_CHANGED),
+                eq(true));
     }
 
     @Test
@@ -83,6 +100,10 @@
                 UserHandle.USER_CURRENT);
 
         assertThat(result).isEqualTo(0);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_BOTTOM_RIGHT_TAP_CHANGED),
+                eq(false));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadGoBackPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadGoBackPreferenceControllerTest.java
index 0e1705e..85d56ef 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/TrackpadGoBackPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadGoBackPreferenceControllerTest.java
@@ -18,6 +18,11 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.verify;
+
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.provider.Settings;
 
@@ -25,25 +30,33 @@
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 
 /** Tests for {@link TrackpadGoBackPreferenceController} */
 @RunWith(RobolectricTestRunner.class)
 public class TrackpadGoBackPreferenceControllerTest {
+    @Rule
+    public MockitoRule rule = MockitoJUnit.rule();
 
     private static final String PREFERENCE_KEY = "gesture_go_back";
     private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_BACK_ENABLED;
 
     private Context mContext;
     private TrackpadGoBackPreferenceController mController;
+    private FakeFeatureFactory mFeatureFactory;
 
     @Before
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
         mController = new TrackpadGoBackPreferenceController(mContext, PREFERENCE_KEY);
     }
 
@@ -65,6 +78,10 @@
         int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
 
         assertThat(result).isEqualTo(1);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_GO_BACK_CHANGED),
+                eq(true));
     }
 
     @Test
@@ -74,6 +91,10 @@
         int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
 
         assertThat(result).isEqualTo(0);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_GO_BACK_CHANGED),
+                eq(false));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadGoHomePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadGoHomePreferenceControllerTest.java
index 3289bcc..6b3b3f5 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/TrackpadGoHomePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadGoHomePreferenceControllerTest.java
@@ -18,6 +18,11 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.verify;
+
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.provider.Settings;
 
@@ -25,25 +30,33 @@
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 
 /** Tests for {@link TrackpadGoHomePreferenceController} */
 @RunWith(RobolectricTestRunner.class)
 public class TrackpadGoHomePreferenceControllerTest {
+    @Rule
+    public MockitoRule rule = MockitoJUnit.rule();
 
     private static final String PREFERENCE_KEY = "gesture_go_home";
     private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_HOME_ENABLED;
 
     private Context mContext;
     private TrackpadGoHomePreferenceController mController;
+    private FakeFeatureFactory mFeatureFactory;
 
     @Before
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
         mController = new TrackpadGoHomePreferenceController(mContext, PREFERENCE_KEY);
     }
 
@@ -65,6 +78,10 @@
         int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
 
         assertThat(result).isEqualTo(1);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_GO_HOME_CHANGED),
+                eq(true));
     }
 
     @Test
@@ -74,6 +91,10 @@
         int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
 
         assertThat(result).isEqualTo(0);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_GO_HOME_CHANGED),
+                eq(false));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadNotificationsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadNotificationsPreferenceControllerTest.java
index 3df1627..005bc9f 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/TrackpadNotificationsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadNotificationsPreferenceControllerTest.java
@@ -18,6 +18,11 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.verify;
+
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.provider.Settings;
 
@@ -25,25 +30,33 @@
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 
 /** Tests for {@link TrackpadNotificationsPreferenceController} */
 @RunWith(RobolectricTestRunner.class)
 public class TrackpadNotificationsPreferenceControllerTest {
+    @Rule
+    public MockitoRule rule = MockitoJUnit.rule();
 
     private static final String PREFERENCE_KEY = "gesture_notifications";
     private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_NOTIFICATION_ENABLED;
 
     private Context mContext;
     private TrackpadNotificationsPreferenceController mController;
+    private FakeFeatureFactory mFeatureFactory;
 
     @Before
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
         mController = new TrackpadNotificationsPreferenceController(mContext, PREFERENCE_KEY);
     }
 
@@ -65,6 +78,10 @@
         int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
 
         assertThat(result).isEqualTo(1);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_NOTIFICATION_CHANGED),
+                eq(true));
     }
 
     @Test
@@ -74,6 +91,10 @@
         int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
 
         assertThat(result).isEqualTo(0);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_NOTIFICATION_CHANGED),
+                eq(false));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadPointerSpeedPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadPointerSpeedPreferenceControllerTest.java
index daf1773..1cfda12 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/TrackpadPointerSpeedPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadPointerSpeedPreferenceControllerTest.java
@@ -18,6 +18,11 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.verify;
+
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.hardware.input.InputSettings;
 import android.os.UserHandle;
@@ -26,15 +31,21 @@
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 
 /** Tests for {@link TrackpadPointerSpeedPreferenceController} */
 @RunWith(RobolectricTestRunner.class)
 public class TrackpadPointerSpeedPreferenceControllerTest {
+    @Rule
+    public MockitoRule rule = MockitoJUnit.rule();
 
     private static final String PREFERENCE_KEY = "trackpad_pointer_speed";
     private static final String SETTING_KEY = Settings.System.TOUCHPAD_POINTER_SPEED;
@@ -42,10 +53,12 @@
     private Context mContext;
     private TrackpadPointerSpeedPreferenceController mController;
     private int mDefaultSpeed;
+    private FakeFeatureFactory mFeatureFactory;
 
     @Before
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
         mController = new TrackpadPointerSpeedPreferenceController(mContext, PREFERENCE_KEY);
         mDefaultSpeed = Settings.System.getIntForUser(
                 mContext.getContentResolver(),
@@ -85,6 +98,10 @@
 
         assertThat(result).isTrue();
         assertThat(mController.getSliderPosition()).isEqualTo(inputSpeed);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_POINTER_SPEED_CHANGED),
+                eq(1));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadRecentAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadRecentAppsPreferenceControllerTest.java
index dbed542..2ef53a6 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/TrackpadRecentAppsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadRecentAppsPreferenceControllerTest.java
@@ -18,6 +18,11 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.verify;
+
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.provider.Settings;
 
@@ -25,25 +30,33 @@
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 
 /** Tests for {@link TrackpadRecentAppsPreferenceController} */
 @RunWith(RobolectricTestRunner.class)
 public class TrackpadRecentAppsPreferenceControllerTest {
+    @Rule
+    public MockitoRule rule = MockitoJUnit.rule();
 
     private static final String PREFERENCE_KEY = "gesture_recent_apps";
     private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_OVERVIEW_ENABLED;
 
     private Context mContext;
     private TrackpadRecentAppsPreferenceController mController;
+    private FakeFeatureFactory mFeatureFactory;
 
     @Before
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
         mController = new TrackpadRecentAppsPreferenceController(mContext, PREFERENCE_KEY);
     }
 
@@ -65,6 +78,10 @@
         int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
 
         assertThat(result).isEqualTo(1);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_RECENT_APPS_CHANGED),
+                eq(true));
     }
 
     @Test
@@ -74,6 +91,10 @@
         int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
 
         assertThat(result).isEqualTo(0);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_RECENT_APPS_CHANGED),
+                eq(false));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceControllerTest.java
index a99abb8..e74261e 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceControllerTest.java
@@ -16,9 +16,13 @@
 
 package com.android.settings.inputmethod;
 
-
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.verify;
+
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.UserHandle;
 import android.provider.Settings;
@@ -27,25 +31,33 @@
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 
 /** Tests for {@link TrackpadReverseScrollingPreferenceController} */
 @RunWith(RobolectricTestRunner.class)
 public class TrackpadReverseScrollingPreferenceControllerTest {
+    @Rule
+    public MockitoRule rule = MockitoJUnit.rule();
 
     private static final String PREFERENCE_KEY = "trackpad_reverse_scrolling";
     private static final String SETTING_KEY = Settings.System.TOUCHPAD_NATURAL_SCROLLING;
 
     private Context mContext;
     private TrackpadReverseScrollingPreferenceController mController;
+    private FakeFeatureFactory mFeatureFactory;
 
     @Before
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
         mController = new TrackpadReverseScrollingPreferenceController(mContext, PREFERENCE_KEY);
     }
 
@@ -71,6 +83,10 @@
                 UserHandle.USER_CURRENT);
 
         assertThat(result).isEqualTo(0);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_REVERSE_SCROLLING_CHANGED),
+                eq(true));
     }
 
     @Test
@@ -84,6 +100,10 @@
                 UserHandle.USER_CURRENT);
 
         assertThat(result).isEqualTo(1);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_REVERSE_SCROLLING_CHANGED),
+                eq(false));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadSwitchAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadSwitchAppsPreferenceControllerTest.java
index 3f16025..5e354d2 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/TrackpadSwitchAppsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadSwitchAppsPreferenceControllerTest.java
@@ -18,6 +18,11 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.verify;
+
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.provider.Settings;
 
@@ -25,25 +30,33 @@
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 
 /** Tests for {@link TrackpadSwitchAppsPreferenceController} */
 @RunWith(RobolectricTestRunner.class)
 public class TrackpadSwitchAppsPreferenceControllerTest {
+    @Rule
+    public MockitoRule rule = MockitoJUnit.rule();
 
     private static final String PREFERENCE_KEY = "gesture_switch_apps";
     private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_QUICK_SWITCH_ENABLED;
 
     private Context mContext;
     private TrackpadSwitchAppsPreferenceController mController;
+    private FakeFeatureFactory mFeatureFactory;
 
     @Before
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
         mController = new TrackpadSwitchAppsPreferenceController(mContext, PREFERENCE_KEY);
     }
 
@@ -65,6 +78,10 @@
         int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
 
         assertThat(result).isEqualTo(1);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_SWITCH_APPS_CHANGED),
+                eq(true));
     }
 
     @Test
@@ -74,6 +91,10 @@
         int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
 
         assertThat(result).isEqualTo(0);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_SWITCH_APPS_CHANGED),
+                eq(false));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceControllerTest.java
index b4b8921..3784cc7 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceControllerTest.java
@@ -18,6 +18,11 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.verify;
+
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.UserHandle;
 import android.provider.Settings;
@@ -26,25 +31,33 @@
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 
 /** Tests for {@link TrackpadTapToClickPreferenceController} */
 @RunWith(RobolectricTestRunner.class)
 public class TrackpadTapToClickPreferenceControllerTest {
+    @Rule
+    public MockitoRule rule = MockitoJUnit.rule();
 
     private static final String PREFERENCE_KEY = "trackpad_tap_to_click";
     private static final String SETTING_KEY = Settings.System.TOUCHPAD_TAP_TO_CLICK;
 
     private Context mContext;
     private TrackpadTapToClickPreferenceController mController;
+    private FakeFeatureFactory mFeatureFactory;
 
     @Before
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
         mController = new TrackpadTapToClickPreferenceController(mContext, PREFERENCE_KEY);
     }
 
@@ -70,6 +83,10 @@
                 UserHandle.USER_CURRENT);
 
         assertThat(result).isEqualTo(1);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_TAP_TO_CLICK_CHANGED),
+                eq(true));
     }
 
     @Test
@@ -83,6 +100,10 @@
                 UserHandle.USER_CURRENT);
 
         assertThat(result).isEqualTo(0);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_TAP_TO_CLICK_CHANGED),
+                eq(false));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/localepicker/AppLocalePickerActivityTest.java b/tests/robotests/src/com/android/settings/localepicker/AppLocalePickerActivityTest.java
index 48caecd..8fb3a5d 100644
--- a/tests/robotests/src/com/android/settings/localepicker/AppLocalePickerActivityTest.java
+++ b/tests/robotests/src/com/android/settings/localepicker/AppLocalePickerActivityTest.java
@@ -18,6 +18,8 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
@@ -27,6 +29,7 @@
 import android.app.Activity;
 import android.app.ApplicationPackageManager;
 import android.app.LocaleConfig;
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
@@ -45,6 +48,7 @@
 import com.android.internal.app.LocaleStore;
 import com.android.settings.applications.AppInfoBase;
 import com.android.settings.applications.AppLocaleUtil;
+import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.After;
 import org.junit.Before;
@@ -79,6 +83,7 @@
 public class AppLocalePickerActivityTest {
     private static final String TEST_PACKAGE_NAME = "com.android.settings";
     private static final Uri TEST_PACKAGE_URI = Uri.parse("package:" + TEST_PACKAGE_NAME);
+    private FakeFeatureFactory mFeatureFactory;
 
     @Mock
     LocaleStore.LocaleInfo mLocaleInfo;
@@ -99,6 +104,7 @@
         when(mLocaleConfig.getStatus()).thenReturn(LocaleConfig.STATUS_SUCCESS);
         when(mLocaleConfig.getSupportedLocales()).thenReturn(LocaleList.forLanguageTags("en-US"));
         ReflectionHelpers.setStaticField(AppLocaleUtil.class, "sLocaleConfig", mLocaleConfig);
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
     }
 
     @After
@@ -210,6 +216,37 @@
         assertThat(controller.get().isFinishing()).isTrue();
     }
 
+    @Test
+    public void onLocaleSelected_logLocaleSource() {
+        ActivityController<TestAppLocalePickerActivity> controller =
+                initActivityController(true);
+        LocaleList.setDefault(LocaleList.forLanguageTags("ja-JP,en-CA,en-US"));
+        Locale locale = new Locale("en", "US");
+        when(mLocaleInfo.getLocale()).thenReturn(locale);
+        when(mLocaleInfo.isSystemLocale()).thenReturn(false);
+        when(mLocaleInfo.isSuggested()).thenReturn(true);
+        when(mLocaleInfo.isSuggestionOfType(LocaleStore.LocaleInfo.SUGGESTION_TYPE_SIM)).thenReturn(
+                true);
+        when(mLocaleInfo.isSuggestionOfType(
+                LocaleStore.LocaleInfo.SUGGESTION_TYPE_SYSTEM_AVAILABLE_LANGUAGE)).thenReturn(
+                true);
+        when(mLocaleInfo.isSuggestionOfType(
+                LocaleStore.LocaleInfo.SUGGESTION_TYPE_OTHER_APP_LANGUAGE)).thenReturn(
+                true);
+        when(mLocaleInfo.isSuggestionOfType(
+                LocaleStore.LocaleInfo.SUGGESTION_TYPE_IME_LANGUAGE)).thenReturn(
+                true);
+
+        controller.create();
+        AppLocalePickerActivity mActivity = controller.get();
+        mActivity.onLocaleSelected(mLocaleInfo);
+
+        int localeSource = 15; // SIM_LOCALE | SYSTEM_LOCALE |IME_LOCALE|APP_LOCALE
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(), eq(SettingsEnums.ACTION_CHANGE_APP_LANGUAGE_FROM_SUGGESTED),
+                eq(localeSource));
+    }
+
     private ActivityController<TestAppLocalePickerActivity> initActivityController(
             boolean hasPackageName) {
         Intent data = new Intent();
diff --git a/tests/robotests/src/com/android/settings/localepicker/LocaleDialogFragmentTest.java b/tests/robotests/src/com/android/settings/localepicker/LocaleDialogFragmentTest.java
new file mode 100644
index 0000000..57f2b01
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/localepicker/LocaleDialogFragmentTest.java
@@ -0,0 +1,107 @@
+/*
+ * 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.localepicker;
+
+import static com.android.settings.localepicker.LocaleDialogFragment.ARG_DIALOG_TYPE;
+import static com.android.settings.localepicker.LocaleDialogFragment.ARG_TARGET_LOCALE;
+import static com.android.settings.localepicker.LocaleDialogFragment.DIALOG_CONFIRM_SYSTEM_DEFAULT;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.verify;
+
+import android.os.Bundle;
+import android.window.OnBackInvokedDispatcher;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.FragmentActivity;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
+
+import com.android.internal.app.LocaleStore;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
+import com.android.settings.utils.ActivityControllerWrapper;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+import java.util.Locale;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowAlertDialogCompat.class})
+public class LocaleDialogFragmentTest {
+
+    @Mock
+    private OnBackInvokedDispatcher mOnBackInvokedDispatcher;
+
+    private FragmentActivity mActivity;
+    private LocaleDialogFragment mDialogFragment;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+
+        mActivity = (FragmentActivity) ActivityControllerWrapper.setup(
+                Robolectric.buildActivity(FragmentActivity.class)).get();
+        mDialogFragment = LocaleDialogFragment.newInstance();
+        LocaleStore.LocaleInfo localeInfo = LocaleStore.getLocaleInfo(Locale.ENGLISH);
+        Bundle args = new Bundle();
+        args.putInt(ARG_DIALOG_TYPE, DIALOG_CONFIRM_SYSTEM_DEFAULT);
+        args.putSerializable(ARG_TARGET_LOCALE, localeInfo);
+        mDialogFragment.setArguments(args);
+        FragmentManager fragmentManager = mActivity.getSupportFragmentManager();
+        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
+        fragmentTransaction.add(mDialogFragment, null);
+        fragmentTransaction.commit();
+    }
+
+    @Test
+    public void onCreateDialog_onBackInvokedCallbackIsRegistered() {
+        mDialogFragment.setBackDispatcher(mOnBackInvokedDispatcher);
+        mDialogFragment.onCreateDialog(null);
+
+        verify(mOnBackInvokedDispatcher).registerOnBackInvokedCallback(
+                eq(OnBackInvokedDispatcher.PRIORITY_DEFAULT), any());
+    }
+
+    @Test
+    public void onBackInvoked_dialogIsStillDisplaying() {
+        mDialogFragment.setBackDispatcher(mOnBackInvokedDispatcher);
+        AlertDialog alertDialog = (AlertDialog) mDialogFragment.onCreateDialog(null);
+        alertDialog.show();
+        assertThat(alertDialog).isNotNull();
+        assertThat(alertDialog.isShowing()).isTrue();
+
+        mOnBackInvokedDispatcher.registerOnBackInvokedCallback(
+                eq(OnBackInvokedDispatcher.PRIORITY_DEFAULT), any());
+
+        mDialogFragment.getBackInvokedCallback().onBackInvoked();
+
+        assertThat(alertDialog.isShowing()).isTrue();
+
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/localepicker/LocaleListEditorTest.java b/tests/robotests/src/com/android/settings/localepicker/LocaleListEditorTest.java
index 16d51be..5a529f8 100644
--- a/tests/robotests/src/com/android/settings/localepicker/LocaleListEditorTest.java
+++ b/tests/robotests/src/com/android/settings/localepicker/LocaleListEditorTest.java
@@ -27,6 +27,7 @@
 import android.app.Activity;
 import android.app.IActivityManager;
 import android.content.Context;
+import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.res.Configuration;
 import android.os.Bundle;
@@ -57,6 +58,7 @@
 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;
@@ -91,6 +93,8 @@
     private View mView;
     @Mock
     private IActivityManager mActivityService;
+    @Mock
+    private MetricsFeatureProvider mMetricsFeatureProvider;
 
     @Before
     public void setUp() throws Exception {
@@ -108,6 +112,8 @@
                 RuntimeEnvironment.application.getSystemService(Context.USER_SERVICE));
         ReflectionHelpers.setField(mLocaleListEditor, "mAdapter", mAdapter);
         ReflectionHelpers.setField(mLocaleListEditor, "mFragmentManager", mFragmentManager);
+        ReflectionHelpers.setField(mLocaleListEditor, "mMetricsFeatureProvider",
+                mMetricsFeatureProvider);
         when(mFragmentManager.beginTransaction()).thenReturn(mFragmentTransaction);
         FakeFeatureFactory.setupForTest();
     }
@@ -200,6 +206,38 @@
     }
 
     @Test
+    public void showConfirmDialog_systemLocaleSelected_shouldShowLocaleChangeDialog()
+            throws Exception {
+        //pre-condition
+        setUpLocaleConditions();
+        final Configuration config = new Configuration();
+        config.setLocales((LocaleList.forLanguageTags("zh-TW,en-US")));
+        when(mActivityService.getConfiguration()).thenReturn(config);
+        when(mAdapter.getFeedItemList()).thenReturn(mLocaleList);
+        when(mAdapter.getCheckedCount()).thenReturn(1);
+        when(mAdapter.getItemCount()).thenReturn(2);
+        when(mAdapter.isFirstLocaleChecked()).thenReturn(true);
+        ReflectionHelpers.setField(mLocaleListEditor, "mRemoveMode", true);
+        ReflectionHelpers.setField(mLocaleListEditor, "mShowingRemoveDialog", true);
+
+        //launch the first dialog
+        mLocaleListEditor.showRemoveLocaleWarningDialog();
+
+        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+
+        assertThat(dialog).isNotNull();
+
+        // click the remove button
+        dialog.getButton(DialogInterface.BUTTON_POSITIVE).performClick();
+
+        assertThat(dialog.isShowing()).isFalse();
+
+        // check the second dialog is showing
+        verify(mFragmentTransaction).add(any(LocaleDialogFragment.class),
+                eq(TAG_DIALOG_CONFIRM_SYSTEM_DEFAULT));
+    }
+
+    @Test
     public void mayAppendUnicodeTags_appendUnicodeTags_success() {
         LocaleStore.LocaleInfo localeInfo = LocaleStore.fromLocale(Locale.forLanguageTag("en-US"));
 
diff --git a/tests/robotests/src/com/android/settings/notification/VolumeSeekBarPreferenceTest.java b/tests/robotests/src/com/android/settings/notification/VolumeSeekBarPreferenceTest.java
index 59f0bcb..47bf99d 100644
--- a/tests/robotests/src/com/android/settings/notification/VolumeSeekBarPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/notification/VolumeSeekBarPreferenceTest.java
@@ -17,62 +17,81 @@
 package com.android.settings.notification;
 
 import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doCallRealMethod;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
+import android.content.res.Configuration;
+import android.content.res.Resources;
 import android.media.AudioManager;
+import android.os.LocaleList;
 import android.preference.SeekBarVolumizer;
 import android.widget.SeekBar;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 
+import java.util.Locale;
+
 @RunWith(RobolectricTestRunner.class)
 public class VolumeSeekBarPreferenceTest {
 
     private static final CharSequence CONTENT_DESCRIPTION = "TEST";
+    private static final int STREAM = 5;
     @Mock
     private AudioManager mAudioManager;
     @Mock
     private VolumeSeekBarPreference mPreference;
     @Mock
     private Context mContext;
+
+    @Mock
+    private Resources mRes;
+    @Mock
+    private Configuration mConfig;
     @Mock
     private SeekBar mSeekBar;
+    @Captor
+    private ArgumentCaptor<SeekBarVolumizer.Callback> mSbvc;
     @Mock
     private SeekBarVolumizer mVolumizer;
+    @Mock
+    private SeekBarVolumizerFactory mSeekBarVolumizerFactory;
     private VolumeSeekBarPreference.Listener mListener;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         when(mContext.getSystemService(Context.AUDIO_SERVICE)).thenReturn(mAudioManager);
+        when(mSeekBarVolumizerFactory.create(eq(STREAM), eq(null), mSbvc.capture()))
+                .thenReturn(mVolumizer);
+        doCallRealMethod().when(mPreference).setStream(anyInt());
         doCallRealMethod().when(mPreference).updateContentDescription(CONTENT_DESCRIPTION);
         mPreference.mSeekBar = mSeekBar;
         mPreference.mAudioManager = mAudioManager;
-        mPreference.mVolumizer = mVolumizer;
+        mPreference.mSeekBarVolumizerFactory = mSeekBarVolumizerFactory;
         mListener = () -> mPreference.updateContentDescription(CONTENT_DESCRIPTION);
     }
 
     @Test
     public void setStream_shouldSetMinMaxAndProgress() {
-        final int stream = 5;
         final int max = 17;
         final int min = 1;
         final int progress = 4;
-        when(mAudioManager.getStreamMaxVolume(stream)).thenReturn(max);
-        when(mAudioManager.getStreamMinVolumeInt(stream)).thenReturn(min);
-        when(mAudioManager.getStreamVolume(stream)).thenReturn(progress);
-        doCallRealMethod().when(mPreference).setStream(anyInt());
+        when(mAudioManager.getStreamMaxVolume(STREAM)).thenReturn(max);
+        when(mAudioManager.getStreamMinVolumeInt(STREAM)).thenReturn(min);
+        when(mAudioManager.getStreamVolume(STREAM)).thenReturn(progress);
 
-        mPreference.setStream(stream);
+        mPreference.setStream(STREAM);
 
         verify(mPreference).setMax(max);
         verify(mPreference).setMin(min);
@@ -84,6 +103,7 @@
         doCallRealMethod().when(mPreference).setListener(mListener);
         doCallRealMethod().when(mPreference).init();
 
+        mPreference.setStream(STREAM);
         mPreference.setListener(mListener);
         mPreference.init();
 
@@ -94,8 +114,69 @@
     public void init_listenerNotSet_noException() {
         doCallRealMethod().when(mPreference).init();
 
+        mPreference.setStream(STREAM);
         mPreference.init();
 
         verify(mPreference, never()).updateContentDescription(CONTENT_DESCRIPTION);
     }
+
+    @Test
+    public void init_changeProgress_overrideStateDescriptionCalled() {
+        final int progress = 4;
+        when(mPreference.formatStateDescription(progress)).thenReturn(CONTENT_DESCRIPTION);
+        doCallRealMethod().when(mPreference).init();
+
+        mPreference.setStream(STREAM);
+        mPreference.init();
+
+        verify(mSeekBarVolumizerFactory).create(eq(STREAM), eq(null), mSbvc.capture());
+
+        mSbvc.getValue().onProgressChanged(mSeekBar, 4, true);
+
+        verify(mPreference).overrideSeekBarStateDescription(CONTENT_DESCRIPTION);
+    }
+
+    @Test
+    public void init_changeProgress_stateDescriptionValueUpdated() {
+        final int max = 17;
+        final int min = 1;
+        int progress = 4;
+        when(mAudioManager.getStreamMaxVolume(STREAM)).thenReturn(max);
+        when(mAudioManager.getStreamMinVolumeInt(STREAM)).thenReturn(min);
+        when(mAudioManager.getStreamVolume(STREAM)).thenReturn(progress);
+        when(mPreference.getMin()).thenReturn(min);
+        when(mPreference.getMax()).thenReturn(max);
+        when(mPreference.getContext()).thenReturn(mContext);
+        when(mContext.getResources()).thenReturn(mRes);
+        when(mRes.getConfiguration()).thenReturn(mConfig);
+        when(mConfig.getLocales()).thenReturn(new LocaleList(Locale.US));
+        doCallRealMethod().when(mPreference).init();
+
+        mPreference.setStream(STREAM);
+        mPreference.init();
+
+        // On progress change, Round down the percent to match it with what the talkback says.
+        // (b/285458191)
+        // when progress is 4, the percent is 0.187. The state description should be set to 18%.
+        testFormatStateDescription(progress, "18%");
+
+        progress = 6;
+
+        // when progress is 6, the percent is 0.3125. The state description should be set to 31%.
+        testFormatStateDescription(progress, "31%");
+
+        progress = 7;
+
+        // when progress is 7, the percent is 0.375. The state description should be set to 37%.
+        testFormatStateDescription(progress, "37%");
+    }
+
+    private void testFormatStateDescription(int progress, String expected) {
+        doCallRealMethod().when(mPreference).formatStateDescription(progress);
+        doCallRealMethod().when(mPreference).getPercent(progress);
+
+        mSbvc.getValue().onProgressChanged(mSeekBar, progress, true);
+
+        verify(mPreference).overrideSeekBarStateDescription(expected);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java
index 12a540d..5db998a 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java
@@ -60,6 +60,7 @@
 import com.android.internal.widget.LockscreenCredential;
 import com.android.settings.R;
 import com.android.settings.biometrics.BiometricEnrollBase;
+import com.android.settings.biometrics.BiometricUtils;
 import com.android.settings.password.ChooseLockGeneric.ChooseLockGenericFragment;
 import com.android.settings.search.SearchFeatureProvider;
 import com.android.settings.testutils.FakeFeatureFactory;
@@ -543,29 +544,38 @@
     }
 
     @Test
-    public void updatePreferenceText_supportBiometrics_showFaceAndFingerprint() {
+    public void updatePreferenceText_supportBiometrics_setScreenLockFingerprintFace_inOrder() {
         ShadowStorageManager.setIsFileEncrypted(false);
         final Intent intent = new Intent().putExtra(EXTRA_KEY_FOR_BIOMETRICS, true);
         initActivity(intent);
 
-
         final String supportFingerprint = capitalize(mActivity.getResources().getString(
                 R.string.security_settings_fingerprint));
         final String supportFace = capitalize(mActivity.getResources().getString(
                 R.string.keywords_face_settings));
-        String pinTitle =
+
+        // The strings of golden copy
+        final String pinFingerprintFace = mActivity.getText(R.string.unlock_set_unlock_pin_title)
+                + BiometricUtils.SEPARATOR + supportFingerprint + BiometricUtils.SEPARATOR
+                + supportFace;
+        final String patternFingerprintFace = mActivity.getText(
+                R.string.unlock_set_unlock_pattern_title) + BiometricUtils.SEPARATOR
+                + supportFingerprint + BiometricUtils.SEPARATOR + supportFace;
+        final String passwordFingerprintFace = mActivity.getText(
+                R.string.unlock_set_unlock_password_title) + BiometricUtils.SEPARATOR
+                + supportFingerprint + BiometricUtils.SEPARATOR + supportFace;
+
+        // The strings obtain from preferences
+        final String pinTitle =
                 (String) mFragment.findPreference(ScreenLockType.PIN.preferenceKey).getTitle();
-        String patternTitle =
+        final String patternTitle =
                 (String) mFragment.findPreference(ScreenLockType.PATTERN.preferenceKey).getTitle();
-        String passwordTitle =
+        final String passwordTitle =
                 (String) mFragment.findPreference(ScreenLockType.PASSWORD.preferenceKey).getTitle();
 
-        assertThat(pinTitle).contains(supportFingerprint);
-        assertThat(pinTitle).contains(supportFace);
-        assertThat(patternTitle).contains(supportFingerprint);
-        assertThat(patternTitle).contains(supportFace);
-        assertThat(passwordTitle).contains(supportFingerprint);
-        assertThat(passwordTitle).contains(supportFace);
+        assertThat(pinTitle).isEqualTo(pinFingerprintFace);
+        assertThat(patternTitle).isEqualTo(patternFingerprintFace);
+        assertThat(passwordTitle).isEqualTo(passwordFingerprintFace);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
index 3fe3322..feea768 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
@@ -27,10 +27,8 @@
 import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX;
 import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
 import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
-import static android.provider.DeviceConfig.NAMESPACE_AUTO_PIN_CONFIRMATION;
 import static android.view.WindowManager.LayoutParams.FLAG_SECURE;
 
-import static com.android.internal.widget.LockPatternUtils.FLAG_ENABLE_AUTO_PIN_CONFIRMATION;
 import static com.android.internal.widget.LockPatternUtils.PASSWORD_TYPE_KEY;
 import static com.android.settings.password.ChooseLockGeneric.CONFIRM_CREDENTIALS;
 
@@ -45,7 +43,6 @@
 import android.app.admin.PasswordPolicy;
 import android.content.Intent;
 import android.os.UserHandle;
-import android.provider.DeviceConfig;
 import android.view.View;
 import android.widget.CheckBox;
 import android.widget.TextView;
@@ -55,7 +52,6 @@
 import com.android.settings.password.ChooseLockPassword.ChooseLockPasswordFragment;
 import com.android.settings.password.ChooseLockPassword.IntentBuilder;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
-import com.android.settings.testutils.shadow.ShadowDeviceConfig;
 import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
 import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
 import com.android.settings.testutils.shadow.ShadowUtils;
@@ -65,7 +61,6 @@
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.Robolectric;
@@ -74,14 +69,12 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowDrawable;
 
-@Ignore
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {
         SettingsShadowResources.class,
         ShadowLockPatternUtils.class,
         ShadowUtils.class,
         ShadowDevicePolicyManager.class,
-        ShadowDeviceConfig.class,
 })
 public class ChooseLockPasswordTest {
     @Before
@@ -397,24 +390,7 @@
     }
 
     @Test
-    public void processAndValidatePasswordRequirements_autoPinDisabled_defaultPinMinimumLength() {
-        DeviceConfig.setProperty(NAMESPACE_AUTO_PIN_CONFIRMATION, FLAG_ENABLE_AUTO_PIN_CONFIRMATION,
-                /* value= */ "false", /* makeDefault= */ false);
-        PasswordPolicy policy = new PasswordPolicy();
-        policy.quality = PASSWORD_QUALITY_UNSPECIFIED;
-
-        assertPasswordValidationResult(
-                /* minMetrics */ policy.getMinMetrics(),
-                /* minComplexity= */ PASSWORD_COMPLEXITY_NONE,
-                /* passwordType= */ PASSWORD_QUALITY_NUMERIC,
-                /* userEnteredPassword= */ LockscreenCredential.createPassword("11"),
-                "PIN must be at least 4 digits");
-    }
-
-    @Test
-    public void processAndValidatePasswordRequirements_autoPinEnabled_defaultPinMinimumLength() {
-        DeviceConfig.setProperty(NAMESPACE_AUTO_PIN_CONFIRMATION, FLAG_ENABLE_AUTO_PIN_CONFIRMATION,
-                /* value= */ "true", /* makeDefault= */ false);
+    public void processAndValidatePasswordRequirements_defaultPinMinimumLength() {
         PasswordPolicy policy = new PasswordPolicy();
         policy.quality = PASSWORD_QUALITY_UNSPECIFIED;
 
@@ -454,8 +430,6 @@
 
     @Test
     public void autoPinConfirmOption_featureEnabledAndUntouchedByUser_changeStateAsPerRules() {
-        DeviceConfig.setProperty(NAMESPACE_AUTO_PIN_CONFIRMATION, FLAG_ENABLE_AUTO_PIN_CONFIRMATION,
-                /* value= */ "true", /* makeDefault= */ false);
         ChooseLockPassword passwordActivity = setupActivityWithPinTypeAndDefaultPolicy();
 
         ChooseLockPasswordFragment fragment = getChooseLockPasswordFragment(passwordActivity);
@@ -492,8 +466,6 @@
 
     @Test
     public void autoPinConfirmOption_featureEnabledAndModifiedByUser_shouldChangeStateAsPerRules() {
-        DeviceConfig.setProperty(NAMESPACE_AUTO_PIN_CONFIRMATION, FLAG_ENABLE_AUTO_PIN_CONFIRMATION,
-                /* value= */ "true", /* makeDefault= */ false);
         ChooseLockPassword passwordActivity = setupActivityWithPinTypeAndDefaultPolicy();
 
         ChooseLockPasswordFragment fragment = getChooseLockPasswordFragment(passwordActivity);
@@ -525,38 +497,6 @@
         assertThat(pinAutoConfirmOption.isChecked()).isFalse();
     }
 
-    @Test
-    public void autoPinConfirmOption_featureDisabled_shouldRemainInvisibleAndUnchecked() {
-        DeviceConfig.setProperty(NAMESPACE_AUTO_PIN_CONFIRMATION, FLAG_ENABLE_AUTO_PIN_CONFIRMATION,
-                /* value= */ "false", /* makeDefault= */ false);
-        ChooseLockPassword passwordActivity = setupActivityWithPinTypeAndDefaultPolicy();
-
-        ChooseLockPasswordFragment fragment = getChooseLockPasswordFragment(passwordActivity);
-        ScrollToParentEditText passwordEntry = passwordActivity.findViewById(R.id.password_entry);
-        CheckBox pinAutoConfirmOption = passwordActivity
-                .findViewById(R.id.auto_pin_confirm_enabler);
-        TextView securityMessage =
-                passwordActivity.findViewById(R.id.auto_pin_confirm_security_message);
-
-        passwordEntry.setText("1234");
-        fragment.updateUi();
-        assertThat(pinAutoConfirmOption.getVisibility()).isEqualTo(View.GONE);
-        assertThat(securityMessage.getVisibility()).isEqualTo(View.GONE);
-        assertThat(pinAutoConfirmOption.isChecked()).isFalse();
-
-        passwordEntry.setText("123456");
-        fragment.updateUi();
-        assertThat(pinAutoConfirmOption.getVisibility()).isEqualTo(View.GONE);
-        assertThat(securityMessage.getVisibility()).isEqualTo(View.GONE);
-        assertThat(pinAutoConfirmOption.isChecked()).isFalse();
-
-        passwordEntry.setText("12345678");
-        fragment.updateUi();
-        assertThat(pinAutoConfirmOption.getVisibility()).isEqualTo(View.GONE);
-        assertThat(securityMessage.getVisibility()).isEqualTo(View.GONE);
-        assertThat(pinAutoConfirmOption.isChecked()).isFalse();
-    }
-
     private ChooseLockPassword setupActivityWithPinTypeAndDefaultPolicy() {
         PasswordPolicy policy = new PasswordPolicy();
         policy.quality = PASSWORD_QUALITY_UNSPECIFIED;
diff --git a/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
index a3e2ed4..8bccf1a 100644
--- a/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
+++ b/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
@@ -26,6 +26,7 @@
 import android.view.View;
 import android.view.inputmethod.InputMethodManager;
 import android.widget.Button;
+import android.widget.LinearLayout;
 
 import androidx.appcompat.app.AlertDialog;
 
@@ -107,6 +108,20 @@
     }
 
     @Test
+    public void createActivity_withShowOptionsButtonExtra_shouldShowButtonUnderSudHeader() {
+        SetupChooseLockPassword activity = createSetupChooseLockPassword();
+        final LinearLayout headerLayout = activity.findViewById(
+                R.id.sud_layout_header);
+        assertThat(headerLayout).isNotNull();
+
+        final Button optionsButton = headerLayout.findViewById(R.id.screen_lock_options);
+        assertThat(optionsButton).isNotNull();
+
+        optionsButton.performClick();
+        assertThat(ShadowDialog.getLatestDialog()).isNotNull();
+    }
+
+    @Test
     @Config(shadows = ShadowChooseLockGenericController.class)
     public void createActivity_withShowOptionsButtonExtra_buttonNotVisibleIfNoVisibleLockTypes() {
         SetupChooseLockPassword activity = createSetupChooseLockPassword();
diff --git a/tests/robotests/src/com/android/settings/security/screenlock/AutoPinConfirmPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/screenlock/AutoPinConfirmPreferenceControllerTest.java
index 715913c..86c1244 100644
--- a/tests/robotests/src/com/android/settings/security/screenlock/AutoPinConfirmPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/screenlock/AutoPinConfirmPreferenceControllerTest.java
@@ -16,22 +16,16 @@
 
 package com.android.settings.security.screenlock;
 
-import static android.provider.DeviceConfig.NAMESPACE_AUTO_PIN_CONFIRMATION;
-
-import static com.android.internal.widget.LockPatternUtils.FLAG_ENABLE_AUTO_PIN_CONFIRMATION;
-
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
-import android.provider.DeviceConfig;
 
 import androidx.preference.SwitchPreference;
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.internal.widget.LockPatternUtils;
-import com.android.settings.testutils.shadow.ShadowDeviceConfig;
 import com.android.settingslib.core.lifecycle.ObservablePreferenceFragment;
 
 import org.junit.Before;
@@ -40,10 +34,8 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowDeviceConfig.class})
 public class AutoPinConfirmPreferenceControllerTest {
     private static final Integer TEST_USER_ID = 1;
     @Mock
@@ -65,8 +57,6 @@
 
     @Test
     public void isAvailable_featureEnabledAndLockSetToNone_shouldReturnFalse() {
-        DeviceConfig.setProperty(NAMESPACE_AUTO_PIN_CONFIRMATION, FLAG_ENABLE_AUTO_PIN_CONFIRMATION,
-                "true", /* makeDefault */ false);
         when(mLockPatternUtils.isSecure(TEST_USER_ID)).thenReturn(true);
 
         assertThat(mController.isAvailable()).isFalse();
@@ -74,8 +64,6 @@
 
     @Test
     public void isAvailable_featureEnabledAndLockSetToPassword_shouldReturnFalse() {
-        DeviceConfig.setProperty(NAMESPACE_AUTO_PIN_CONFIRMATION, FLAG_ENABLE_AUTO_PIN_CONFIRMATION,
-                "true", /* makeDefault */ false);
         when(mLockPatternUtils.isSecure(TEST_USER_ID)).thenReturn(true);
         when(mLockPatternUtils.getCredentialTypeForUser(TEST_USER_ID))
                 .thenReturn(LockPatternUtils.CREDENTIAL_TYPE_PASSWORD);
@@ -85,8 +73,6 @@
 
     @Test
     public void isAvailable_featureEnabledAndLockSetToPIN_lengthLessThanSix_shouldReturnFalse() {
-        DeviceConfig.setProperty(NAMESPACE_AUTO_PIN_CONFIRMATION, FLAG_ENABLE_AUTO_PIN_CONFIRMATION,
-                "true", /* makeDefault */ false);
         when(mLockPatternUtils.getCredentialTypeForUser(TEST_USER_ID))
                 .thenReturn(LockPatternUtils.CREDENTIAL_TYPE_PIN);
         when(mLockPatternUtils.getPinLength(TEST_USER_ID)).thenReturn(5);
@@ -96,8 +82,6 @@
 
     @Test
     public void isAvailable_featureEnabledAndLockSetToPIN_lengthMoreThanEqSix_shouldReturnTrue() {
-        DeviceConfig.setProperty(NAMESPACE_AUTO_PIN_CONFIRMATION, FLAG_ENABLE_AUTO_PIN_CONFIRMATION,
-                "true", /* makeDefault */ false);
         when(mLockPatternUtils.isSecure(TEST_USER_ID)).thenReturn(true);
         when(mLockPatternUtils.getCredentialTypeForUser(TEST_USER_ID))
                 .thenReturn(LockPatternUtils.CREDENTIAL_TYPE_PIN);
@@ -107,20 +91,7 @@
     }
 
     @Test
-    public void isAvailable_featureDisabledAndLockSetToPIN_shouldReturnFalse() {
-        DeviceConfig.setProperty(NAMESPACE_AUTO_PIN_CONFIRMATION, FLAG_ENABLE_AUTO_PIN_CONFIRMATION,
-                "false", /* makeDefault */ false);
-        when(mLockPatternUtils.isSecure(TEST_USER_ID)).thenReturn(true);
-        when(mLockPatternUtils.getCredentialTypeForUser(TEST_USER_ID))
-                .thenReturn(LockPatternUtils.CREDENTIAL_TYPE_PIN);
-
-        assertThat(mController.isAvailable()).isFalse();
-    }
-
-    @Test
     public void updateState_ChangingSettingState_shouldSetPreferenceToAppropriateCheckedState() {
-        DeviceConfig.setProperty(NAMESPACE_AUTO_PIN_CONFIRMATION, FLAG_ENABLE_AUTO_PIN_CONFIRMATION,
-                "true", /* makeDefault */ false);
         // When auto_pin_confirm setting is disabled, switchPreference is unchecked
         when(mLockPatternUtils.isAutoPinConfirmEnabled(TEST_USER_ID)).thenReturn(false);
         mController.updateState(mPreference);
diff --git a/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java b/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java
index b7d249d..4903a28 100644
--- a/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java
+++ b/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java
@@ -119,6 +119,7 @@
     private Context mContext;
     private SettingsSliceProvider mProvider;
     private ShadowPackageManager mPackageManager;
+    private ShadowUserManager mShadowUserManager;
 
     @Mock
     private SliceManager mManager;
@@ -157,6 +158,7 @@
         when(mManager.getPinnedSlices()).thenReturn(Collections.emptyList());
 
         mPackageManager = Shadows.shadowOf(mContext.getPackageManager());
+        mShadowUserManager = ShadowUserManager.getShadow();
 
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
     }
@@ -293,6 +295,37 @@
     }
 
     @Test
+    public void onBindSlice_guestRestricted_returnsNull() {
+        final String key = "enable_usb_tethering";
+        mShadowUserManager.setGuestUser(true);
+        final Uri testUri = new Uri.Builder()
+            .scheme(ContentResolver.SCHEME_CONTENT)
+            .authority(SettingsSliceProvider.SLICE_AUTHORITY)
+            .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
+            .appendPath(key)
+            .build();
+
+        final Slice slice = mProvider.onBindSlice(testUri);
+
+        assertThat(slice).isNull();
+    }
+
+    @Test
+    public void onBindSlice_notGuestRestricted_returnsNotNull() {
+        final String key = "enable_usb_tethering";
+        final Uri testUri = new Uri.Builder()
+            .scheme(ContentResolver.SCHEME_CONTENT)
+            .authority(SettingsSliceProvider.SLICE_AUTHORITY)
+            .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
+            .appendPath(key)
+            .build();
+
+        final Slice slice = mProvider.onBindSlice(testUri);
+
+        assertThat(slice).isNotNull();
+    }
+
+    @Test
     public void getDescendantUris_fullActionUri_returnsSelf() {
         final Collection<Uri> descendants = mProvider.onGetSliceDescendants(ACTION_SLICE_URI);
 
diff --git a/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java b/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java
index 29a6da3..5891aa1 100644
--- a/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java
+++ b/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java
@@ -29,6 +29,7 @@
 import com.android.settings.biometrics.face.FaceFeatureProvider;
 import com.android.settings.biometrics2.factory.BiometricsRepositoryProvider;
 import com.android.settings.bluetooth.BluetoothFeatureProvider;
+import com.android.settings.connecteddevice.stylus.StylusFeatureProvider;
 import com.android.settings.dashboard.DashboardFeatureProvider;
 import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider;
 import com.android.settings.deviceinfo.hardwareinfo.HardwareInfoFeatureProvider;
@@ -39,6 +40,7 @@
 import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
 import com.android.settings.gestures.AssistGestureFeatureProvider;
 import com.android.settings.homepage.contextualcards.ContextualCardFeatureProvider;
+import com.android.settings.inputmethod.KeyboardSettingsFeatureProvider;
 import com.android.settings.localepicker.LocaleFeatureProvider;
 import com.android.settings.overlay.DockUpdaterFeatureProvider;
 import com.android.settings.overlay.FeatureFactory;
@@ -95,6 +97,8 @@
     public AccessibilityMetricsFeatureProvider mAccessibilityMetricsFeatureProvider;
     public AdvancedVpnFeatureProvider mAdvancedVpnFeatureProvider;
     public WifiFeatureProvider mWifiFeatureProvider;
+    public KeyboardSettingsFeatureProvider mKeyboardSettingsFeatureProvider;
+    public StylusFeatureProvider mStylusFeatureProvider;
 
     /**
      * Call this in {@code @Before} method of the test class to use fake factory.
@@ -147,6 +151,8 @@
         mAccessibilityMetricsFeatureProvider = mock(AccessibilityMetricsFeatureProvider.class);
         mAdvancedVpnFeatureProvider = mock(AdvancedVpnFeatureProvider.class);
         mWifiFeatureProvider = mock(WifiFeatureProvider.class);
+        mKeyboardSettingsFeatureProvider = mock(KeyboardSettingsFeatureProvider.class);
+        mStylusFeatureProvider = mock(StylusFeatureProvider.class);
     }
 
     @Override
@@ -170,7 +176,7 @@
     }
 
     @Override
-    public BatterySettingsFeatureProvider getBatterySettingsFeatureProvider(Context context) {
+    public BatterySettingsFeatureProvider getBatterySettingsFeatureProvider() {
         return batterySettingsFeatureProvider;
     }
 
@@ -303,4 +309,14 @@
     public WifiFeatureProvider getWifiFeatureProvider() {
         return mWifiFeatureProvider;
     }
+
+    @Override
+    public KeyboardSettingsFeatureProvider getKeyboardSettingsFeatureProvider() {
+        return mKeyboardSettingsFeatureProvider;
+    }
+
+    @Override
+    public StylusFeatureProvider getStylusFeatureProvider() {
+        return mStylusFeatureProvider;
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUserManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUserManager.java
index df38420..324a829 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUserManager.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUserManager.java
@@ -55,6 +55,7 @@
     private int[] profileIdsForUser = new int[0];
     private boolean mUserSwitchEnabled;
     private Bundle mDefaultGuestUserRestriction = new Bundle();
+    private boolean mIsGuestUser = false;
 
     private @UserManager.UserSwitchabilityResult int mSwitchabilityStatus =
             UserManager.SWITCHABILITY_STATUS_OK;
@@ -270,4 +271,13 @@
             mUserProfileInfos.get(i).flags |= UserInfo.FLAG_ADMIN;
         }
     }
+
+    @Implementation
+    protected boolean isGuestUser() {
+        return mIsGuestUser;
+    }
+
+    public void setGuestUser(boolean isGuestUser) {
+        mIsGuestUser = isGuestUser;
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/users/GuestTelephonyPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/users/GuestTelephonyPreferenceControllerTest.java
index aa84cb6..c4b514c 100644
--- a/tests/robotests/src/com/android/settings/users/GuestTelephonyPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/users/GuestTelephonyPreferenceControllerTest.java
@@ -18,12 +18,14 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.junit.Assume.assumeTrue;
 import static org.mockito.Answers.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
+import android.content.pm.PackageManager;
 import android.os.SystemProperties;
 import android.os.UserManager;
 
@@ -103,6 +105,8 @@
 
     @Test
     public void updateState_Admin_shouldDisplayPreference() {
+        assumeTrue("Device does not have telephony feature ",
+                mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY));
         SystemProperties.set("fw.max_users", Long.toBinaryString(4));
         mDpm.setDeviceOwner(null);
         mUserManager.setIsAdminUser(true);
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiEntryPreferenceTest.java b/tests/robotests/src/com/android/settings/wifi/WifiEntryPreferenceTest.java
index a60b531..316beb3 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiEntryPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiEntryPreferenceTest.java
@@ -18,11 +18,15 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
 import android.graphics.drawable.Drawable;
+import android.net.wifi.sharedconnectivity.app.NetworkProviderInfo;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.LinearLayout;
@@ -31,6 +35,7 @@
 
 import com.android.settingslib.R;
 import com.android.settingslib.wifi.WifiUtils;
+import com.android.wifitrackerlib.HotspotNetworkEntry;
 import com.android.wifitrackerlib.WifiEntry;
 
 import org.junit.Before;
@@ -52,6 +57,8 @@
     @Mock
     private WifiEntry mMockWifiEntry;
     @Mock
+    private HotspotNetworkEntry mHotspotNetworkEntry;
+    @Mock
     private WifiUtils.InternetIconInjector mMockIconInjector;
 
     @Mock
@@ -256,4 +263,26 @@
     public void getSecondTargetResId_shouldNotReturnZero() {
         assertThat(mPref.getSecondTargetResId()).isNotEqualTo(0);
     }
+
+    @Test
+    public void refresh_itsHotspotNetworkEntry_shouldUpdateHotspotIcon() {
+        int deviceType = NetworkProviderInfo.DEVICE_TYPE_PHONE;
+        when(mHotspotNetworkEntry.getDeviceType()).thenReturn(deviceType);
+        WifiEntryPreference pref = spy(
+                new WifiEntryPreference(mContext, mHotspotNetworkEntry, mMockIconInjector));
+
+        pref.refresh();
+
+        verify(pref).updateHotspotIcon(deviceType);
+    }
+
+    @Test
+    public void refresh_notHotspotNetworkEntry_shouldNotUpdateHotspotIcon() {
+        WifiEntryPreference pref = spy(
+                new WifiEntryPreference(mContext, mMockWifiEntry, mMockIconInjector));
+
+        pref.refresh();
+
+        verify(pref, never()).updateHotspotIcon(anyInt());
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java b/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
index c86a023..dcd9b36 100644
--- a/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
@@ -701,10 +701,10 @@
     }
 
     @Test
-    public void linkSpeedPref_shouldNotShowIfNotSet() {
+    public void linkSpeedPref_shouldNotShowIfSpeedStringIsEmpty() {
         setUpForConnectedNetwork();
         setUpSpyController();
-        when(mMockWifiInfo.getTxLinkSpeedMbps()).thenReturn(WifiInfo.LINK_SPEED_UNKNOWN);
+        when(mMockWifiEntry.getTxSpeedString()).thenReturn("");
 
         displayAndResume();
 
@@ -712,42 +712,22 @@
     }
 
     @Test
-    public void linkSpeedPref_shouldVisibleForConnectedNetwork() {
+    public void linkSpeedPref_shouldBeVisibleIfSpeedStringIsNotEmpty() {
         setUpForConnectedNetwork();
         setUpSpyController();
-        String expectedLinkSpeed = mContext.getString(R.string.tx_link_speed, TX_LINK_SPEED);
+        when(mMockWifiEntry.getTxSpeedString()).thenReturn("100 Mbps");
 
         displayAndResume();
 
         verify(mMockTxLinkSpeedPref).setVisible(true);
-        verify(mMockTxLinkSpeedPref).setSummary(expectedLinkSpeed);
+        verify(mMockTxLinkSpeedPref).setSummary("100 Mbps");
     }
 
     @Test
-    public void linkSpeedPref_shouldInvisibleForDisconnectedNetwork() {
-        setUpForDisconnectedNetwork();
-
-        displayAndResume();
-
-        verify(mMockTxLinkSpeedPref).setVisible(false);
-        verify(mMockTxLinkSpeedPref, never()).setSummary(any(String.class));
-    }
-
-    @Test
-    public void linkSpeedPref_shouldInvisibleForNotInRangeNetwork() {
-        setUpForNotInRangeNetwork();
-
-        displayAndResume();
-
-        verify(mMockTxLinkSpeedPref).setVisible(false);
-        verify(mMockTxLinkSpeedPref, never()).setSummary(any(String.class));
-    }
-
-    @Test
-    public void rxLinkSpeedPref_shouldNotShowIfNotSet() {
+    public void rxLinkSpeedPref_shouldNotShowIfSpeedStringIsEmpty() {
         setUpForConnectedNetwork();
         setUpSpyController();
-        when(mMockWifiInfo.getRxLinkSpeedMbps()).thenReturn(WifiInfo.LINK_SPEED_UNKNOWN);
+        when(mMockWifiEntry.getRxSpeedString()).thenReturn("");
 
         displayAndResume();
 
@@ -755,35 +735,15 @@
     }
 
     @Test
-    public void rxLinkSpeedPref_shouldVisibleForConnectedNetwork() {
+    public void rxLinkSpeedPref_shouldBeVisibleIfSpeedStringIsNotEmpty() {
         setUpForConnectedNetwork();
         setUpSpyController();
-        String expectedLinkSpeed = mContext.getString(R.string.rx_link_speed, RX_LINK_SPEED);
+        when(mMockWifiEntry.getRxSpeedString()).thenReturn("100 Mbps");
 
         displayAndResume();
 
         verify(mMockRxLinkSpeedPref).setVisible(true);
-        verify(mMockRxLinkSpeedPref).setSummary(expectedLinkSpeed);
-    }
-
-    @Test
-    public void rxLinkSpeedPref_shouldInvisibleForDisconnectedNetwork() {
-        setUpForDisconnectedNetwork();
-
-        displayAndResume();
-
-        verify(mMockRxLinkSpeedPref).setVisible(false);
-        verify(mMockRxLinkSpeedPref, never()).setSummary(any(String.class));
-    }
-
-    @Test
-    public void rxLinkSpeedPref_shouldInvisibleForNotInRangeNetwork() {
-        setUpForNotInRangeNetwork();
-
-        displayAndResume();
-
-        verify(mMockRxLinkSpeedPref).setVisible(false);
-        verify(mMockRxLinkSpeedPref, never()).setSummary(any(String.class));
+        verify(mMockRxLinkSpeedPref).setSummary("100 Mbps");
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java
index fbe184d..25a59a9 100644
--- a/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java
@@ -21,6 +21,7 @@
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
@@ -151,6 +152,13 @@
     }
 
     @Test
+    public void onDeviceInfoAvailable_nullChannel_shouldBeIgnored() {
+        mFragment.sChannel = null;
+        mFragment.onDeviceInfoAvailable(mock(WifiP2pDevice.class));
+        verify(mWifiP2pManager, never()).requestNetworkInfo(any(), any());
+    }
+
+    @Test
     public void beSearching_getP2pStateDisabledIntent_shouldBeFalse() {
         final Bundle bundle = new Bundle();
         final Intent intent = new Intent(WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION);
diff --git a/tests/spa_unit/src/com/android/settings/applications/specialaccess/DataSaverControllerTest.kt b/tests/spa_unit/src/com/android/settings/applications/specialaccess/DataSaverControllerTest.kt
new file mode 100644
index 0000000..c2413af
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/applications/specialaccess/DataSaverControllerTest.kt
@@ -0,0 +1,134 @@
+/*
+ * 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.applications.specialaccess
+
+import android.content.Context
+import android.content.pm.ApplicationInfo
+import android.content.res.Resources
+import android.net.NetworkPolicyManager
+import android.net.NetworkPolicyManager.POLICY_ALLOW_METERED_BACKGROUND
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import com.android.settings.applications.specialaccess.DataSaverController.Companion.getUnrestrictedSummary
+import com.android.settings.core.BasePreferenceController.AVAILABLE
+import com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE
+import com.android.settingslib.spaprivileged.model.app.AppListRepository
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.flowOf
+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.Spy
+import org.mockito.junit.MockitoJUnit
+import org.mockito.junit.MockitoRule
+import org.mockito.Mockito.`when` as whenever
+
+@OptIn(ExperimentalCoroutinesApi::class)
+@RunWith(AndroidJUnit4::class)
+class DataSaverControllerTest {
+    @get:Rule
+    val mockito: MockitoRule = MockitoJUnit.rule()
+
+    @Spy
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    @Spy
+    private val resources: Resources = context.resources
+
+    @Mock
+    private lateinit var networkPolicyManager: NetworkPolicyManager
+
+    @Mock
+    private lateinit var dataSaverController: DataSaverController
+
+    @Before
+    fun setUp() {
+        whenever(context.applicationContext).thenReturn(context)
+        whenever(context.resources).thenReturn(resources)
+        whenever(NetworkPolicyManager.from(context)).thenReturn(networkPolicyManager)
+
+        dataSaverController = DataSaverController(context, "key")
+    }
+
+    @Test
+    fun getAvailabilityStatus_whenConfigOn_available() {
+        whenever(resources.getBoolean(R.bool.config_show_data_saver)).thenReturn(true)
+        assertThat(dataSaverController.availabilityStatus).isEqualTo(AVAILABLE)
+    }
+
+    @Test
+    fun getAvailabilityStatus_whenConfigOff_unsupportedOnDevice() {
+        whenever(resources.getBoolean(R.bool.config_show_data_saver)).thenReturn(false)
+        assertThat(dataSaverController.availabilityStatus).isEqualTo(UNSUPPORTED_ON_DEVICE)
+    }
+
+    @Test
+    fun getUnrestrictedSummary_whenTwoAppsAllowed() = runTest {
+        whenever(
+            networkPolicyManager.getUidsWithPolicy(POLICY_ALLOW_METERED_BACKGROUND)
+        ).thenReturn(intArrayOf(APP1.uid, APP2.uid))
+
+        val summary =
+            getUnrestrictedSummary(context = context, appListRepository = FakeAppListRepository)
+
+        assertThat(summary)
+            .isEqualTo("2 apps allowed to use unrestricted data when Data Saver is on")
+    }
+
+    @Test
+    fun getUnrestrictedSummary_whenNoAppsAllowed() = runTest {
+        whenever(
+            networkPolicyManager.getUidsWithPolicy(POLICY_ALLOW_METERED_BACKGROUND)
+        ).thenReturn(intArrayOf())
+
+        val summary =
+            getUnrestrictedSummary(context = context, appListRepository = FakeAppListRepository)
+
+        assertThat(summary)
+            .isEqualTo("0 apps allowed to use unrestricted data when Data Saver is on")
+    }
+
+    private companion object {
+        val APP1 = ApplicationInfo().apply { uid = 10001 }
+        val APP2 = ApplicationInfo().apply { uid = 10002 }
+        val APP3 = ApplicationInfo().apply { uid = 10003 }
+
+        object FakeAppListRepository : AppListRepository {
+            override suspend fun loadApps(
+                userId: Int,
+                loadInstantApps: Boolean,
+                matchAnyUserForAdmin: Boolean,
+            ) = emptyList<ApplicationInfo>()
+
+            override fun showSystemPredicate(
+                userIdFlow: Flow<Int>,
+                showSystemFlow: Flow<Boolean>,
+            ): Flow<(app: ApplicationInfo) -> Boolean> = flowOf { false }
+
+            override fun getSystemPackageNamesBlocking(userId: Int): Set<String> = emptySet()
+
+            override suspend fun loadAndFilterApps(userId: Int, isSystemApp: Boolean) =
+                listOf(APP1, APP2, APP3)
+        }
+    }
+}
\ No newline at end of file
diff --git a/tests/spa_unit/src/com/android/settings/datausage/DataUsageFormatterTest.kt b/tests/spa_unit/src/com/android/settings/datausage/DataUsageFormatterTest.kt
new file mode 100644
index 0000000..dc6a421
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/datausage/DataUsageFormatterTest.kt
@@ -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.datausage
+
+import android.content.Context
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.datausage.DataUsageFormatter.getBytesDisplayUnit
+import com.google.common.truth.Truth.assertThat
+
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class DataUsageFormatterTest {
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    @Test
+    fun getUnitDisplayName_megaByte() {
+        val displayName = context.resources.getBytesDisplayUnit(ONE_MEGA_BYTE_IN_BYTES)
+
+        assertThat(displayName).isEqualTo("MB")
+    }
+
+    @Test
+    fun getUnitDisplayName_gigaByte() {
+        val displayName = context.resources.getBytesDisplayUnit(ONE_GIGA_BYTE_IN_BYTES)
+
+        assertThat(displayName).isEqualTo("GB")
+    }
+
+    private companion object {
+        const val ONE_MEGA_BYTE_IN_BYTES = 1024L * 1024
+        const val ONE_GIGA_BYTE_IN_BYTES = 1024L * 1024 * 1024
+    }
+}
\ No newline at end of file
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/TelephonyStatusControlSessionTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/TelephonyStatusControlSessionTest.kt
new file mode 100644
index 0000000..7e6a91b
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/TelephonyStatusControlSessionTest.kt
@@ -0,0 +1,81 @@
+/*
+ * 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.network.telephony
+
+import android.content.Context
+import androidx.lifecycle.testing.TestLifecycleOwner
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.core.BasePreferenceController
+import com.android.settingslib.spa.testutils.waitUntil
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.test.runTest
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@OptIn(ExperimentalCoroutinesApi::class)
+@RunWith(AndroidJUnit4::class)
+class TelephonyStatusControlSessionTest {
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    @Test
+    fun init() = runTest {
+        val controller = TestController(context)
+
+        val session = TelephonyStatusControlSession(
+            controllers = listOf(controller),
+            lifecycle = TestLifecycleOwner().lifecycle,
+        )
+
+        waitUntil { controller.availabilityStatus == STATUS }
+        session.close()
+    }
+
+    @Test
+    fun close() = runTest {
+        val controller = TestController(context)
+
+        val session = TelephonyStatusControlSession(
+            controllers = listOf(controller),
+            lifecycle = TestLifecycleOwner().lifecycle,
+        )
+        session.close()
+
+        assertThat(controller.availabilityStatus).isNull()
+    }
+
+    private companion object {
+        const val KEY = "key"
+        const val STATUS = BasePreferenceController.AVAILABLE
+    }
+
+    private class TestController(context: Context) : BasePreferenceController(context, KEY),
+        TelephonyAvailabilityHandler {
+
+        var availabilityStatus: Int? = null
+        override fun getAvailabilityStatus(): Int = STATUS
+
+        override fun setAvailabilityStatus(status: Int) {
+            availabilityStatus = status
+        }
+
+        override fun unsetAvailabilityStatus() {
+            availabilityStatus = null
+        }
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppPreferenceTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppPreferenceTest.kt
new file mode 100644
index 0000000..342405a
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppPreferenceTest.kt
@@ -0,0 +1,204 @@
+/*
+ * 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.spa.app.appcompat
+
+import android.content.Context
+import android.content.pm.ActivityInfo
+import android.content.pm.ApplicationInfo
+import android.content.pm.PackageManager
+import android.content.pm.ResolveInfo
+import android.os.Build
+import androidx.compose.runtime.CompositionLocalProvider
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.test.assertIsDisplayed
+import androidx.compose.ui.test.assertIsEnabled
+import androidx.compose.ui.test.assertIsNotDisplayed
+import androidx.compose.ui.test.hasTextExactly
+import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.compose.ui.test.onRoot
+import androidx.compose.ui.test.performClick
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.dx.mockito.inline.extended.ExtendedMockito
+import android.provider.DeviceConfig.NAMESPACE_WINDOW_MANAGER
+import com.android.settings.R
+import com.android.settings.applications.appinfo.AppInfoDashboardFragment
+import com.android.settings.applications.appcompat.UserAspectRatioDetails
+import com.android.settings.applications.appcompat.UserAspectRatioManager
+import com.android.settings.spa.app.appinfo.AppInfoSettingsProvider
+import com.android.settings.testutils.TestDeviceConfig
+import com.android.settingslib.spa.testutils.delay
+import com.android.settingslib.spa.testutils.waitUntilExists
+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.mock
+import org.mockito.MockitoSession
+import org.mockito.Spy
+import org.mockito.quality.Strictness
+import org.mockito.Mockito.`when` as whenever
+
+/**
+ * To run this test: atest SettingsSpaUnitTests:UserAspectRatioAppPreferenceTest
+ */
+@RunWith(AndroidJUnit4::class)
+class UserAspectRatioAppPreferenceTest {
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    private lateinit var mockSession: MockitoSession
+
+    @Spy
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    @Spy
+    private val resources = context.resources
+
+    private val aspectRatioEnabledConfig =
+        TestDeviceConfig(NAMESPACE_WINDOW_MANAGER, "enable_app_compat_user_aspect_ratio_settings")
+
+    private lateinit var userAspectRatioManager: UserAspectRatioManager
+
+    @Mock
+    private lateinit var packageManager: PackageManager
+
+    @Before
+    fun setUp() {
+        mockSession = ExtendedMockito.mockitoSession()
+            .initMocks(this)
+            .mockStatic(UserAspectRatioDetails::class.java)
+            .mockStatic(AppInfoDashboardFragment::class.java)
+            .strictness(Strictness.LENIENT)
+            .startMocking()
+        whenever(context.resources).thenReturn(resources)
+        whenever(context.packageManager).thenReturn(packageManager)
+        userAspectRatioManager = mock(UserAspectRatioManager::class.java)
+    }
+
+    @After
+    fun tearDown() {
+        aspectRatioEnabledConfig.reset()
+        mockSession.finishMocking()
+    }
+
+    @Test
+    fun whenConfigIsFalse_notDisplayed() {
+        setConfig(false)
+
+        setContent()
+
+        composeTestRule.onRoot().assertIsNotDisplayed()
+    }
+
+    @Test
+    fun whenCannotDisplayAspectRatioUi_notDisplayed() {
+        setContent()
+
+        composeTestRule.onRoot().assertIsNotDisplayed()
+    }
+
+    @Test
+    fun whenCanDisplayAspectRatioUiAndConfigFalse_notDisplayed() {
+        setConfig(false)
+        whenever(packageManager.queryIntentActivities(any(), anyInt()))
+            .thenReturn(listOf(RESOLVE_INFO))
+
+        setContent()
+
+        composeTestRule.onRoot().assertIsNotDisplayed()
+    }
+
+    @Test
+    fun whenCannotDisplayAspectRatioUiAndConfigTrue_notDisplayed() {
+        setConfig(true)
+
+        setContent()
+
+        composeTestRule.onRoot().assertIsNotDisplayed()
+    }
+
+    @Test
+    fun whenCanDisplayAspectRatioUiAndConfigTrue_Displayed() {
+        setConfig(true)
+        whenever(packageManager.queryIntentActivities(any(), anyInt()))
+            .thenReturn(listOf(RESOLVE_INFO))
+
+        setContent()
+
+        composeTestRule.onNode(
+            hasTextExactly(
+                context.getString(R.string.aspect_ratio_title),
+                context.getString(R.string.user_aspect_ratio_app_default)
+            ),
+        ).assertIsDisplayed().assertIsEnabled()
+    }
+
+    @Test
+    fun onClick_startActivity() {
+        setConfig(true)
+        whenever(packageManager.queryIntentActivities(any(), anyInt()))
+            .thenReturn(listOf(RESOLVE_INFO))
+
+        setContent()
+        composeTestRule.onRoot().performClick()
+
+        ExtendedMockito.verify {
+            AppInfoDashboardFragment.startAppInfoFragment(
+                UserAspectRatioDetails::class.java,
+                APP,
+                context,
+                AppInfoSettingsProvider.METRICS_CATEGORY,
+            )
+        }
+    }
+
+    private fun setConfig(enabled: Boolean) {
+        whenever(resources.getBoolean(
+            com.android.internal.R.bool.config_appCompatUserAppAspectRatioSettingsIsEnabled
+        )).thenReturn(enabled)
+        aspectRatioEnabledConfig.override(enabled)
+    }
+
+    private fun setContent() {
+        composeTestRule.setContent {
+            CompositionLocalProvider(LocalContext provides context) {
+                UserAspectRatioAppPreference(APP)
+            }
+        }
+        composeTestRule.delay()
+    }
+
+    private companion object {
+        const val PACKAGE_NAME = "package.name"
+        const val UID = 123
+        val APP = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+            uid = UID
+        }
+        private val RESOLVE_INFO = ResolveInfo().apply {
+            activityInfo = ActivityInfo().apply {
+                packageName = PACKAGE_NAME
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProviderTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProviderTest.kt
new file mode 100644
index 0000000..0d2869c
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProviderTest.kt
@@ -0,0 +1,196 @@
+/*
+ * 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.spa.app.appcompat
+
+import android.content.Context
+import android.content.pm.ApplicationInfo
+import android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_SPLIT_SCREEN
+import android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_UNSET
+import android.os.Build
+import androidx.compose.runtime.State
+import androidx.compose.ui.test.assertIsDisplayed
+import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.compose.ui.test.onNodeWithText
+import androidx.compose.ui.test.performClick
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import com.android.settingslib.spa.framework.compose.stateOf
+import com.android.settingslib.spa.testutils.FakeNavControllerWrapper
+import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull
+import com.android.settingslib.spaprivileged.template.app.AppListItemModel
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.test.runTest
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+
+/**
+ * To run this test: atest SettingsSpaUnitTests:UserAspectRatioAppsPageProviderTest
+ */
+@RunWith(AndroidJUnit4::class)
+class UserAspectRatioAppsPageProviderTest {
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    private val context: Context = ApplicationProvider.getApplicationContext()
+    private val fakeNavControllerWrapper = FakeNavControllerWrapper()
+
+    @Test
+    fun aspectRatioAppsPageProvider_name() {
+        assertThat(UserAspectRatioAppsPageProvider.name).isEqualTo(EXPECTED_PROVIDER_NAME)
+    }
+
+    @Test
+    fun injectEntry_title() {
+        setInjectEntry()
+        composeTestRule.onNodeWithText(context.getString(R.string.aspect_ratio_title))
+            .assertIsDisplayed()
+    }
+
+    @Test
+    fun injectEntry_summary() {
+        setInjectEntry()
+        composeTestRule.onNodeWithText(context.getString(R.string.aspect_ratio_summary, Build.MODEL))
+            .assertIsDisplayed()
+    }
+
+    @Test
+    fun injectEntry_onClick_navigate() {
+        setInjectEntry()
+        composeTestRule.onNodeWithText(context.getString(R.string.aspect_ratio_title)).performClick()
+        assertThat(fakeNavControllerWrapper.navigateCalledWith).isEqualTo("UserAspectRatioAppsPage")
+    }
+
+    private fun setInjectEntry() {
+        composeTestRule.setContent {
+            fakeNavControllerWrapper.Wrapper {
+                UserAspectRatioAppsPageProvider.buildInjectEntry().build().UiLayout()
+            }
+        }
+    }
+
+    @Test
+    fun title_displayed() {
+        composeTestRule.setContent {
+            UserAspectRatioAppList {}
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.aspect_ratio_title))
+            .assertIsDisplayed()
+    }
+
+    @Test
+    fun item_labelDisplayed() {
+        setItemContent()
+
+        composeTestRule.onNodeWithText(LABEL).assertIsDisplayed()
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun aspectRatioAppListModel_transform() = runTest {
+        val listModel = UserAspectRatioAppListModel(context)
+        val recordListFlow = listModel.transform(flowOf(USER_ID), flowOf(listOf(APP)))
+        val recordList = recordListFlow.firstWithTimeoutOrNull()!!
+
+        assertThat(recordList).hasSize(1)
+        assertThat(recordList[0].app).isSameInstanceAs(APP)
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun aspectRatioAppListModel_filter() = runTest {
+        val listModel = UserAspectRatioAppListModel(context)
+
+        val recordListFlow = listModel.filter(flowOf(USER_ID), 0,
+            flowOf(listOf(APP_RECORD_NOT_DISPLAYED, APP_RECORD_SUGGESTED)))
+
+        val recordList = checkNotNull(recordListFlow.firstWithTimeoutOrNull())
+        assertThat(recordList).containsExactly(APP_RECORD_SUGGESTED)
+    }
+
+    private fun setItemContent() {
+        composeTestRule.setContent {
+            fakeNavControllerWrapper.Wrapper {
+                with(UserAspectRatioAppListModel(context)) {
+                    AppListItemModel(
+                        record = APP_RECORD_SUGGESTED,
+                        label = LABEL,
+                        summary = stateOf(SUMMARY)
+                    ).AppItem()
+                }
+            }
+        }
+    }
+
+    @Test
+    fun aspectRatioAppListModel_getSummaryDefault() {
+        val summaryState = setSummaryState(USER_MIN_ASPECT_RATIO_UNSET)
+        assertThat(summaryState.value)
+            .isEqualTo(context.getString(R.string.user_aspect_ratio_app_default))
+    }
+
+    @Test
+    fun aspectRatioAppListModel_getSummaryWhenSplitScreen() {
+        val summaryState = setSummaryState(USER_MIN_ASPECT_RATIO_SPLIT_SCREEN)
+        assertThat(summaryState.value)
+            .isEqualTo(context.getString(R.string.user_aspect_ratio_half_screen))
+    }
+
+    private fun setSummaryState(override: Int): State<String> {
+        val listModel = UserAspectRatioAppListModel(context)
+        lateinit var summaryState: State<String>
+        composeTestRule.setContent {
+            summaryState = listModel.getSummary(option = 0,
+                record = UserAspectRatioAppListItemModel(
+                    app = APP,
+                    override = override,
+                    suggested = false,
+                    canDisplay = true,
+                ))
+        }
+        return summaryState
+    }
+
+
+    private companion object {
+        private const val EXPECTED_PROVIDER_NAME = "UserAspectRatioAppsPage"
+        private const val PACKAGE_NAME = "package.name"
+        private const val USER_ID = 0
+        private const val LABEL = "Label"
+        private const val SUMMARY = "Summary"
+
+        private val APP = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+        }
+        private val APP_RECORD_SUGGESTED = UserAspectRatioAppListItemModel(
+            APP,
+            override = USER_MIN_ASPECT_RATIO_UNSET,
+            suggested = true,
+            canDisplay = true
+        )
+        private val APP_RECORD_NOT_DISPLAYED = UserAspectRatioAppListItemModel(
+            APP,
+            override = USER_MIN_ASPECT_RATIO_UNSET,
+            suggested = true,
+            canDisplay = false
+        )
+    }
+}
\ No newline at end of file
diff --git a/tests/spa_unit/src/com/android/settings/spa/development/compat/PlatformCompatAppListModelTest.kt b/tests/spa_unit/src/com/android/settings/spa/development/compat/PlatformCompatAppListModelTest.kt
new file mode 100644
index 0000000..78aca85
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/development/compat/PlatformCompatAppListModelTest.kt
@@ -0,0 +1,107 @@
+/*
+ * 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.spa.development.compat
+
+import android.content.Context
+import android.content.pm.ApplicationInfo
+import android.content.pm.PackageManager
+import android.content.pm.PackageManager.PackageInfoFlags
+import androidx.compose.runtime.State
+import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.flow.first
+import kotlinx.coroutines.flow.flowOf
+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.any
+import org.mockito.Mockito.anyInt
+import org.mockito.Spy
+import org.mockito.junit.MockitoJUnit
+import org.mockito.junit.MockitoRule
+import org.mockito.Mockito.`when` as whenever
+
+@OptIn(ExperimentalCoroutinesApi::class)
+@RunWith(AndroidJUnit4::class)
+class PlatformCompatAppListModelTest {
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    @get:Rule
+    val mockito: MockitoRule = MockitoJUnit.rule()
+
+    @Spy
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    @Mock
+    private lateinit var packageManager: PackageManager
+
+    private lateinit var listModel: PlatformCompatAppListModel
+
+    @Before
+    fun setUp() {
+        whenever(context.packageManager).thenReturn(packageManager)
+        whenever(packageManager.getInstalledPackagesAsUser(any<PackageInfoFlags>(), anyInt()))
+            .thenReturn(emptyList())
+        listModel = PlatformCompatAppListModel(context)
+    }
+
+    @Test
+    fun transform() = runTest {
+        val recordListFlow = listModel.transform(
+            userIdFlow = flowOf(USER_ID),
+            appListFlow = flowOf(listOf(APP)),
+        )
+
+        val recordList = recordListFlow.first()
+        assertThat(recordList).hasSize(1)
+        val record = recordList[0]
+        assertThat(record.app).isSameInstanceAs(APP)
+    }
+
+    @Test
+    fun getSummary() = runTest {
+        val summaryState = getSummaryState(APP)
+
+        assertThat(summaryState.value).isEqualTo(PACKAGE_NAME)
+    }
+
+    private fun getSummaryState(app: ApplicationInfo): State<String> {
+        lateinit var summary: State<String>
+        composeTestRule.setContent {
+            summary = listModel.getSummary(
+                option = 0,
+                record = PlatformCompatAppRecord(app),
+            )
+        }
+        return summary
+    }
+
+    private companion object {
+        const val USER_ID = 0
+        const val PACKAGE_NAME = "package.name"
+        val APP = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+        }
+    }
+}
\ No newline at end of file
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 99d4f32..6320fc7 100644
--- a/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt
+++ b/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt
@@ -25,6 +25,7 @@
 import com.android.settings.biometrics.face.FaceFeatureProvider
 import com.android.settings.biometrics2.factory.BiometricsRepositoryProvider
 import com.android.settings.bluetooth.BluetoothFeatureProvider
+import com.android.settings.connecteddevice.stylus.StylusFeatureProvider
 import com.android.settings.dashboard.DashboardFeatureProvider
 import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider
 import com.android.settings.deviceinfo.hardwareinfo.HardwareInfoFeatureProvider
@@ -34,6 +35,7 @@
 import com.android.settings.fuelgauge.PowerUsageFeatureProvider
 import com.android.settings.gestures.AssistGestureFeatureProvider
 import com.android.settings.homepage.contextualcards.ContextualCardFeatureProvider
+import com.android.settings.inputmethod.KeyboardSettingsFeatureProvider
 import com.android.settings.localepicker.LocaleFeatureProvider
 import com.android.settings.overlay.DockUpdaterFeatureProvider
 import com.android.settings.overlay.FeatureFactory
@@ -84,9 +86,7 @@
         TODO("Not yet implemented")
     }
 
-    override fun getBatterySettingsFeatureProvider(
-        context: Context?,
-    ): BatterySettingsFeatureProvider {
+    override fun getBatterySettingsFeatureProvider(): BatterySettingsFeatureProvider {
         TODO("Not yet implemented")
     }
 
@@ -187,4 +187,12 @@
     override fun getWifiFeatureProvider(): WifiFeatureProvider {
         TODO("Not yet implemented")
     }
+
+    override fun getKeyboardSettingsFeatureProvider(): KeyboardSettingsFeatureProvider {
+        TODO("Not yet implemented")
+    }
+
+    override fun getStylusFeatureProvider(): StylusFeatureProvider {
+        TODO("Not yet implemented")
+    }
 }
diff --git a/tests/unit/Android.bp b/tests/unit/Android.bp
index 4e2b3be..1587e00 100644
--- a/tests/unit/Android.bp
+++ b/tests/unit/Android.bp
@@ -21,6 +21,7 @@
     ],
 
     static_libs: [
+	"androidx.arch.core_core-testing",
         "androidx.test.core",
         "androidx.test.rules",
         "androidx.test.espresso.core",
@@ -32,6 +33,7 @@
         "platform-test-annotations",
         "truth-prebuilt",
         "ub-uiautomator",
+        "kotlinx_coroutines_test",
         // Don't add SettingsLib libraries here - you can use them directly as they are in the
         // instrumented Settings app.
     ],
@@ -40,8 +42,11 @@
         javacflags: ["-Xep:CheckReturnValue:WARN"]
     },
 
-    // Include all test java files.
-    srcs: ["src/**/*.java"],
+    // Include all test java/kotlin files.
+    srcs: [
+        "src/**/*.java",
+        "src/**/*.kt",
+    ],
 
     platform_apis: true,
     test_suites: ["device-tests"],
diff --git a/tests/unit/src/com/android/settings/applications/appcompat/UserAspectRatioManagerTest.java b/tests/unit/src/com/android/settings/applications/appcompat/UserAspectRatioManagerTest.java
new file mode 100644
index 0000000..f4dcaf8
--- /dev/null
+++ b/tests/unit/src/com/android/settings/applications/appcompat/UserAspectRatioManagerTest.java
@@ -0,0 +1,219 @@
+/*
+ * 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.applications.appcompat;
+
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_16_9;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_3_2;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_4_3;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_FULLSCREEN;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_SPLIT_SCREEN;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_UNSET;
+
+import static com.android.settings.applications.appcompat.UserAspectRatioManager.KEY_ENABLE_USER_ASPECT_RATIO_FULLSCREEN;
+import static com.android.settings.applications.appcompat.UserAspectRatioManager.KEY_ENABLE_USER_ASPECT_RATIO_SETTINGS;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.pm.ActivityInfo;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.ResolveInfo;
+import android.content.res.Resources;
+import android.provider.DeviceConfig;
+
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.internal.R;
+import com.android.settings.testutils.ResourcesUtils;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ * To run this test: atest SettingsUnitTests:UserAspectRatioManagerTest
+ */
+@RunWith(AndroidJUnit4.class)
+public class UserAspectRatioManagerTest {
+
+    private Context mContext;
+    private Resources mResources;
+    private UserAspectRatioManager mUtils;
+    private String mOriginalSettingsFlag;
+    private String mOriginalFullscreenFlag;
+
+    @Before
+    public void setUp() {
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mResources = spy(mContext.getResources());
+        mUtils = spy(new UserAspectRatioManager(mContext));
+
+        when(mContext.getResources()).thenReturn(mResources);
+
+        mOriginalSettingsFlag = DeviceConfig.getProperty(
+                DeviceConfig.NAMESPACE_WINDOW_MANAGER, KEY_ENABLE_USER_ASPECT_RATIO_SETTINGS);
+        setAspectRatioSettingsBuildTimeFlagEnabled(true);
+        setAspectRatioSettingsDeviceConfigEnabled("true" /* enabled */, false /* makeDefault */);
+
+        mOriginalFullscreenFlag = DeviceConfig.getProperty(
+                DeviceConfig.NAMESPACE_WINDOW_MANAGER, KEY_ENABLE_USER_ASPECT_RATIO_FULLSCREEN);
+        setAspectRatioFullscreenBuildTimeFlagEnabled(true);
+        setAspectRatioFullscreenDeviceConfigEnabled("true" /* enabled */, false /* makeDefault */);
+    }
+
+    @After
+    public void tearDown() {
+        setAspectRatioSettingsDeviceConfigEnabled(mOriginalSettingsFlag, true /* makeDefault */);
+        setAspectRatioFullscreenDeviceConfigEnabled(mOriginalFullscreenFlag,
+                true /* makeDefault */);
+    }
+
+    @Test
+    public void testCanDisplayAspectRatioUi() {
+        final ApplicationInfo canDisplay = new ApplicationInfo();
+        canDisplay.packageName = "com.app.candisplay";
+        addResolveInfoLauncherEntry(canDisplay.packageName);
+
+        assertTrue(mUtils.canDisplayAspectRatioUi(canDisplay));
+
+        final ApplicationInfo noLauncherEntry = new ApplicationInfo();
+        noLauncherEntry.packageName = "com.app.nolauncherentry";
+
+        assertFalse(mUtils.canDisplayAspectRatioUi(noLauncherEntry));
+    }
+
+    @Test
+    public void testIsFeatureEnabled() {
+        assertTrue(UserAspectRatioManager.isFeatureEnabled(mContext));
+    }
+
+    @Test
+    public void testIsFeatureEnabled_disabledBuildTimeFlag_returnFalse() {
+        setAspectRatioSettingsBuildTimeFlagEnabled(false);
+        assertFalse(UserAspectRatioManager.isFeatureEnabled(mContext));
+    }
+
+    @Test
+    public void testIsFeatureEnabled_disabledRuntimeFlag_returnFalse() {
+        setAspectRatioSettingsDeviceConfigEnabled("false" /* enabled */, false /* makeDefault */);
+        assertFalse(UserAspectRatioManager.isFeatureEnabled(mContext));
+    }
+
+    @Test
+    public void testIsFullscreenOptionEnabled() {
+        assertTrue(mUtils.isFullscreenOptionEnabled());
+    }
+
+    @Test
+    public void testIsFullscreenOptionEnabled_settingsDisabled_returnFalse() {
+        setAspectRatioFullscreenBuildTimeFlagEnabled(false);
+        assertFalse(mUtils.isFullscreenOptionEnabled());
+    }
+
+    @Test
+    public void testIsFullscreenOptionEnabled_disabledBuildTimeFlag_returnFalse() {
+        setAspectRatioFullscreenBuildTimeFlagEnabled(false);
+        assertFalse(mUtils.isFullscreenOptionEnabled());
+    }
+
+    @Test
+    public void testIsFullscreenOptionEnabled_disabledRuntimeFlag_returnFalse() {
+        setAspectRatioFullscreenDeviceConfigEnabled("false" /* enabled */, false /*makeDefault */);
+        assertFalse(mUtils.isFullscreenOptionEnabled());
+    }
+
+    @Test
+    public void containsAspectRatioOption_fullscreen() {
+        assertTrue(mUtils.containsAspectRatioOption(USER_MIN_ASPECT_RATIO_FULLSCREEN));
+
+        when(mUtils.isFullscreenOptionEnabled()).thenReturn(false);
+        assertFalse(mUtils.containsAspectRatioOption(USER_MIN_ASPECT_RATIO_FULLSCREEN));
+    }
+
+    @Test
+    public void testGetUserMinAspectRatioEntry() {
+        // R.string.user_aspect_ratio_app_default
+        final String appDefault = ResourcesUtils.getResourcesString(mContext,
+                "user_aspect_ratio_app_default");
+        assertThat(mUtils.getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_UNSET))
+                .isEqualTo(appDefault);
+        // should always return default if value does not correspond to anything
+        assertThat(mUtils.getUserMinAspectRatioEntry(-1))
+                .isEqualTo(appDefault);
+        // R.string.user_aspect_ratio_half_screen
+        assertThat(mUtils.getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_SPLIT_SCREEN))
+                .isEqualTo(ResourcesUtils.getResourcesString(mContext,
+                        "user_aspect_ratio_half_screen"));
+        // R.string.user_aspect_ratio_3_2
+        assertThat(mUtils.getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_3_2))
+                .isEqualTo(ResourcesUtils.getResourcesString(mContext, "user_aspect_ratio_3_2"));
+        // R,string.user_aspect_ratio_4_3
+        assertThat(mUtils.getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_4_3))
+                .isEqualTo(ResourcesUtils.getResourcesString(mContext, "user_aspect_ratio_4_3"));
+        // R.string.user_aspect_ratio_16_9
+        assertThat(mUtils.getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_16_9))
+                .isEqualTo(ResourcesUtils.getResourcesString(mContext, "user_aspect_ratio_16_9"));
+        // R.string.user_aspect_ratio_fullscreen
+        assertThat(mUtils.getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_FULLSCREEN))
+                .isEqualTo(ResourcesUtils.getResourcesString(mContext,
+                        "user_aspect_ratio_fullscreen"));
+    }
+
+    @Test
+    public void testGetUserMinAspectRatioEntry_fullscreenDisabled_shouldReturnDefault() {
+        setAspectRatioFullscreenBuildTimeFlagEnabled(false);
+        assertThat(mUtils.getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_FULLSCREEN))
+                .isEqualTo(ResourcesUtils.getResourcesString(mContext,
+                        "user_aspect_ratio_app_default"));
+    }
+
+    private void setAspectRatioSettingsBuildTimeFlagEnabled(boolean enabled) {
+        when(mResources.getBoolean(R.bool.config_appCompatUserAppAspectRatioSettingsIsEnabled))
+                .thenReturn(enabled);
+    }
+
+    private void setAspectRatioSettingsDeviceConfigEnabled(String enabled, boolean makeDefault) {
+        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_WINDOW_MANAGER,
+                KEY_ENABLE_USER_ASPECT_RATIO_SETTINGS, enabled, makeDefault);
+    }
+
+    private void setAspectRatioFullscreenBuildTimeFlagEnabled(boolean enabled) {
+        when(mResources.getBoolean(R.bool.config_appCompatUserAppAspectRatioFullscreenIsEnabled))
+                .thenReturn(enabled);
+    }
+
+    private void setAspectRatioFullscreenDeviceConfigEnabled(String enabled, boolean makeDefault) {
+        DeviceConfig.setProperty(DeviceConfig.NAMESPACE_WINDOW_MANAGER,
+                KEY_ENABLE_USER_ASPECT_RATIO_FULLSCREEN, enabled, makeDefault);
+    }
+
+    private void addResolveInfoLauncherEntry(String packageName) {
+        final ResolveInfo resolveInfo = mock(ResolveInfo.class);
+        final ActivityInfo activityInfo = mock(ActivityInfo.class);
+        activityInfo.packageName = packageName;
+        resolveInfo.activityInfo = activityInfo;
+        mUtils.addInfoHasLauncherEntry(resolveInfo);
+    }
+}
diff --git a/tests/unit/src/com/android/settings/bluetooth/BlockingPrefWithSliceControllerTest.java b/tests/unit/src/com/android/settings/bluetooth/BlockingPrefWithSliceControllerTest.java
index 65b6977..d5a2585 100644
--- a/tests/unit/src/com/android/settings/bluetooth/BlockingPrefWithSliceControllerTest.java
+++ b/tests/unit/src/com/android/settings/bluetooth/BlockingPrefWithSliceControllerTest.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.bluetooth;
 
+import static androidx.slice.builders.ListBuilder.ICON_IMAGE;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
@@ -24,8 +26,8 @@
 import static org.mockito.Mockito.verify;
 
 import android.app.PendingIntent;
-import android.content.Context;
 import android.content.ContentResolver;
+import android.content.Context;
 import android.content.Intent;
 import android.net.Uri;
 
@@ -42,20 +44,20 @@
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
-import com.android.settings.bluetooth.BlockingPrefWithSliceController;
-
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
 import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
 
+@RunWith(AndroidJUnit4.class)
 public class BlockingPrefWithSliceControllerTest {
     private static final String KEY = "bt_device_slice_category";
-    private static final String TEST_URI_AUTHORITY = "com.android.authority.test";
+    private static final String TEST_URI_AUTHORITY = "com.android.settings";
     private static final String TEST_EXTRA_INTENT = "EXTRA_INTENT";
     private static final String TEST_EXTRA_PENDING_INTENT = "EXTRA_PENDING_INTENT";
     private static final String TEST_INTENT_ACTION = "test";
@@ -71,6 +73,8 @@
     private LiveData<Slice> mLiveData;
     @Mock
     private PreferenceCategory mPreferenceCategory;
+    @Captor
+    ArgumentCaptor<Preference> mPreferenceArgumentCaptor;
 
     private Context mContext;
     private BlockingPrefWithSliceController mController;
@@ -130,6 +134,14 @@
         verify(mController.mPreferenceCategory).addPreference(any());
     }
 
+    @Test
+    public void onChanged_sliceWithoutValidIntent_makePreferenceUnselectable() {
+        mController.onChanged(buildTestSlice());
+
+        verify(mController.mPreferenceCategory).addPreference(mPreferenceArgumentCaptor.capture());
+        assertThat(mPreferenceArgumentCaptor.getValue().isSelectable()).isFalse();
+    }
+
     private Slice buildTestSlice() {
         Uri uri =
                 new Uri.Builder()
@@ -141,7 +153,7 @@
         IconCompat icon = mock(IconCompat.class);
         listBuilder.addRow(
                 new RowBuilder()
-                        .setTitleItem(icon, ListBuilder.ICON_IMAGE)
+                        .setTitleItem(icon, ICON_IMAGE)
                         .setTitle(TEST_SLICE_TITLE)
                         .setSubtitle(TEST_SLICE_SUBTITLE)
                         .setPrimaryAction(
@@ -153,7 +165,7 @@
                                                 PendingIntent.FLAG_UPDATE_CURRENT
                                                         | PendingIntent.FLAG_IMMUTABLE),
                                         icon,
-                                        ListBuilder.ICON_IMAGE,
+                                        ICON_IMAGE,
                                         "")));
         return listBuilder.build();
     }
diff --git a/tests/unit/src/com/android/settings/fingerprint2/domain/interactor/FakeFingerprintManagerInteractor.kt b/tests/unit/src/com/android/settings/fingerprint2/domain/interactor/FakeFingerprintManagerInteractor.kt
new file mode 100644
index 0000000..0509d8a
--- /dev/null
+++ b/tests/unit/src/com/android/settings/fingerprint2/domain/interactor/FakeFingerprintManagerInteractor.kt
@@ -0,0 +1,82 @@
+/*
+ * 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.fingerprint2.domain.interactor
+
+import android.hardware.biometrics.SensorProperties
+import android.hardware.fingerprint.FingerprintSensorProperties.TYPE_POWER_BUTTON
+import android.hardware.fingerprint.FingerprintSensorPropertiesInternal
+import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractor
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintAuthAttemptViewModel
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.flow
+
+/** Fake to be used by other classes to easily fake the FingerprintManager implementation. */
+class FakeFingerprintManagerInteractor : FingerprintManagerInteractor {
+
+  var enrollableFingerprints: Int = 5
+  var enrolledFingerprintsInternal: MutableList<FingerprintViewModel> = mutableListOf()
+  var challengeToGenerate: Pair<Long, ByteArray> = Pair(-1L, byteArrayOf())
+  var authenticateAttempt = FingerprintAuthAttemptViewModel.Success(1)
+  var pressToAuthEnabled = true
+
+  var sensorProps =
+    listOf(
+      FingerprintSensorPropertiesInternal(
+        0 /* sensorId */,
+        SensorProperties.STRENGTH_STRONG,
+        5 /* maxEnrollmentsPerUser */,
+        emptyList() /* ComponentInfoInternal */,
+        TYPE_POWER_BUTTON,
+        true /* resetLockoutRequiresHardwareAuthToken */
+      )
+    )
+
+  override suspend fun authenticate(): FingerprintAuthAttemptViewModel {
+    return authenticateAttempt
+  }
+
+  override suspend fun generateChallenge(gateKeeperPasswordHandle: Long): Pair<Long, ByteArray> {
+    return challengeToGenerate
+  }
+  override val enrolledFingerprints: Flow<List<FingerprintViewModel>> = flow {
+    emit(enrolledFingerprintsInternal)
+  }
+
+  override fun canEnrollFingerprints(numFingerprints: Int): Flow<Boolean> = flow {
+    emit(numFingerprints < enrollableFingerprints)
+  }
+
+  override val maxEnrollableFingerprints: Flow<Int> = flow { emit(enrollableFingerprints) }
+
+  override suspend fun removeFingerprint(fp: FingerprintViewModel): Boolean {
+    return enrolledFingerprintsInternal.remove(fp)
+  }
+
+  override suspend fun renameFingerprint(fp: FingerprintViewModel, newName: String) {}
+
+  override suspend fun hasSideFps(): Boolean {
+    return sensorProps.any { it.isAnySidefpsType }
+  }
+
+  override suspend fun pressToAuthEnabled(): Boolean {
+    return pressToAuthEnabled
+  }
+
+  override suspend fun sensorPropertiesInternal(): List<FingerprintSensorPropertiesInternal> =
+    sensorProps
+}
diff --git a/tests/unit/src/com/android/settings/fingerprint2/domain/interactor/FingerprintManagerInteractorTest.kt b/tests/unit/src/com/android/settings/fingerprint2/domain/interactor/FingerprintManagerInteractorTest.kt
new file mode 100644
index 0000000..7af740a
--- /dev/null
+++ b/tests/unit/src/com/android/settings/fingerprint2/domain/interactor/FingerprintManagerInteractorTest.kt
@@ -0,0 +1,287 @@
+/*
+ * 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.fingerprint2.domain.interactor
+
+import android.content.Context
+import android.content.Intent
+import android.content.res.Resources
+import android.hardware.fingerprint.Fingerprint
+import android.hardware.fingerprint.FingerprintManager
+import android.hardware.fingerprint.FingerprintManager.CryptoObject
+import android.hardware.fingerprint.FingerprintManager.FINGERPRINT_ERROR_LOCKOUT_PERMANENT
+import android.os.CancellationSignal
+import android.os.Handler
+import androidx.test.core.app.ApplicationProvider
+import com.android.settings.biometrics.GatekeeperPasswordProvider
+import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractor
+import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractorImpl
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintAuthAttemptViewModel
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel
+import com.android.settings.password.ChooseLockSettingsHelper
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.cancelAndJoin
+import kotlinx.coroutines.flow.last
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.test.StandardTestDispatcher
+import kotlinx.coroutines.test.TestScope
+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.ArgumentCaptor
+import org.mockito.ArgumentMatchers.anyInt
+import org.mockito.ArgumentMatchers.anyLong
+import org.mockito.ArgumentMatchers.eq
+import org.mockito.ArgumentMatchers.nullable
+import org.mockito.Mock
+import org.mockito.Mockito
+import org.mockito.junit.MockitoJUnit
+import org.mockito.junit.MockitoJUnitRunner
+
+@RunWith(MockitoJUnitRunner::class)
+class FingerprintManagerInteractorTest {
+
+  @JvmField @Rule var rule = MockitoJUnit.rule()
+  private lateinit var underTest: FingerprintManagerInteractor
+  private var context: Context = ApplicationProvider.getApplicationContext()
+  private var backgroundDispatcher = StandardTestDispatcher()
+  @Mock private lateinit var fingerprintManager: FingerprintManager
+  @Mock private lateinit var gateKeeperPasswordProvider: GatekeeperPasswordProvider
+
+  private var testScope = TestScope(backgroundDispatcher)
+  private var pressToAuthProvider = { true }
+
+  @Before
+  fun setup() {
+    underTest =
+      FingerprintManagerInteractorImpl(
+        context,
+        backgroundDispatcher,
+        fingerprintManager,
+        gateKeeperPasswordProvider,
+        pressToAuthProvider,
+      )
+  }
+
+  @Test
+  fun testEmptyFingerprints() =
+    testScope.runTest {
+      Mockito.`when`(fingerprintManager.getEnrolledFingerprints(Mockito.anyInt()))
+        .thenReturn(emptyList())
+
+      val emptyFingerprintList: List<Fingerprint> = emptyList()
+      assertThat(underTest.enrolledFingerprints.last()).isEqualTo(emptyFingerprintList)
+    }
+
+  @Test
+  fun testOneFingerprint() =
+    testScope.runTest {
+      val expected = Fingerprint("Finger 1,", 2, 3L)
+      val fingerprintList: List<Fingerprint> = listOf(expected)
+      Mockito.`when`(fingerprintManager.getEnrolledFingerprints(Mockito.anyInt()))
+        .thenReturn(fingerprintList)
+
+      val list = underTest.enrolledFingerprints.last()
+      assertThat(list.size).isEqualTo(fingerprintList.size)
+      val actual = list[0]
+      assertThat(actual.name).isEqualTo(expected.name)
+      assertThat(actual.fingerId).isEqualTo(expected.biometricId)
+      assertThat(actual.deviceId).isEqualTo(expected.deviceId)
+    }
+
+  @Test
+  fun testCanEnrollFingerprint() =
+    testScope.runTest {
+      val mockContext = Mockito.mock(Context::class.java)
+      val resources = Mockito.mock(Resources::class.java)
+      Mockito.`when`(mockContext.resources).thenReturn(resources)
+      Mockito.`when`(resources.getInteger(anyInt())).thenReturn(3)
+      underTest =
+        FingerprintManagerInteractorImpl(
+          mockContext,
+          backgroundDispatcher,
+          fingerprintManager,
+          gateKeeperPasswordProvider,
+          pressToAuthProvider,
+        )
+
+      assertThat(underTest.canEnrollFingerprints(2).last()).isTrue()
+      assertThat(underTest.canEnrollFingerprints(3).last()).isFalse()
+    }
+
+  @Test
+  fun testGenerateChallenge() =
+    testScope.runTest {
+      val byteArray = byteArrayOf(5, 3, 2)
+      val challenge = 100L
+      val intent = Intent()
+      intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, challenge)
+      Mockito.`when`(
+          gateKeeperPasswordProvider.requestGatekeeperHat(
+            any(Intent::class.java),
+            anyLong(),
+            anyInt()
+          )
+        )
+        .thenReturn(byteArray)
+
+      val generateChallengeCallback: ArgumentCaptor<FingerprintManager.GenerateChallengeCallback> =
+        ArgumentCaptor.forClass(FingerprintManager.GenerateChallengeCallback::class.java)
+
+      var result: Pair<Long, ByteArray?>? = null
+      val job = testScope.launch { result = underTest.generateChallenge(1L) }
+      runCurrent()
+
+      Mockito.verify(fingerprintManager)
+        .generateChallenge(anyInt(), capture(generateChallengeCallback))
+      generateChallengeCallback.value.onChallengeGenerated(1, 2, challenge)
+
+      runCurrent()
+      job.cancelAndJoin()
+
+      assertThat(result?.first).isEqualTo(challenge)
+      assertThat(result?.second).isEqualTo(byteArray)
+    }
+
+  @Test
+  fun testRemoveFingerprint_succeeds() =
+    testScope.runTest {
+      val fingerprintViewModelToRemove = FingerprintViewModel("Finger 2", 1, 2L)
+      val fingerprintToRemove = Fingerprint("Finger 2", 1, 2L)
+
+      val removalCallback: ArgumentCaptor<FingerprintManager.RemovalCallback> =
+        ArgumentCaptor.forClass(FingerprintManager.RemovalCallback::class.java)
+
+      var result: Boolean? = null
+      val job =
+        testScope.launch { result = underTest.removeFingerprint(fingerprintViewModelToRemove) }
+      runCurrent()
+
+      Mockito.verify(fingerprintManager)
+        .remove(any(Fingerprint::class.java), anyInt(), capture(removalCallback))
+      removalCallback.value.onRemovalSucceeded(fingerprintToRemove, 1)
+
+      runCurrent()
+      job.cancelAndJoin()
+
+      assertThat(result).isTrue()
+    }
+
+  @Test
+  fun testRemoveFingerprint_fails() =
+    testScope.runTest {
+      val fingerprintViewModelToRemove = FingerprintViewModel("Finger 2", 1, 2L)
+      val fingerprintToRemove = Fingerprint("Finger 2", 1, 2L)
+
+      val removalCallback: ArgumentCaptor<FingerprintManager.RemovalCallback> =
+        ArgumentCaptor.forClass(FingerprintManager.RemovalCallback::class.java)
+
+      var result: Boolean? = null
+      val job =
+        testScope.launch { result = underTest.removeFingerprint(fingerprintViewModelToRemove) }
+      runCurrent()
+
+      Mockito.verify(fingerprintManager)
+        .remove(any(Fingerprint::class.java), anyInt(), capture(removalCallback))
+      removalCallback.value.onRemovalError(
+        fingerprintToRemove,
+        100,
+        "Oh no, we couldn't find that one"
+      )
+
+      runCurrent()
+      job.cancelAndJoin()
+
+      assertThat(result).isFalse()
+    }
+
+  @Test
+  fun testRenameFingerprint_succeeds() =
+    testScope.runTest {
+      val fingerprintToRename = FingerprintViewModel("Finger 2", 1, 2L)
+
+      underTest.renameFingerprint(fingerprintToRename, "Woo")
+
+      Mockito.verify(fingerprintManager)
+        .rename(eq(fingerprintToRename.fingerId), anyInt(), safeEq("Woo"))
+    }
+
+  @Test
+  fun testAuth_succeeds() =
+    testScope.runTest {
+      val fingerprint = Fingerprint("Woooo", 100, 101L)
+
+      var result: FingerprintAuthAttemptViewModel? = null
+      val job = launch { result = underTest.authenticate() }
+
+      val authCallback: ArgumentCaptor<FingerprintManager.AuthenticationCallback> =
+        ArgumentCaptor.forClass(FingerprintManager.AuthenticationCallback::class.java)
+
+      runCurrent()
+
+      Mockito.verify(fingerprintManager)
+        .authenticate(
+          nullable(CryptoObject::class.java),
+          any(CancellationSignal::class.java),
+          capture(authCallback),
+          nullable(Handler::class.java),
+          anyInt()
+        )
+      authCallback.value.onAuthenticationSucceeded(
+        FingerprintManager.AuthenticationResult(null, fingerprint, 1, false)
+      )
+
+      runCurrent()
+      job.cancelAndJoin()
+      assertThat(result).isEqualTo(FingerprintAuthAttemptViewModel.Success(fingerprint.biometricId))
+    }
+
+  @Test
+  fun testAuth_lockout() =
+    testScope.runTest {
+      var result: FingerprintAuthAttemptViewModel? = null
+      val job = launch { result = underTest.authenticate() }
+
+      val authCallback: ArgumentCaptor<FingerprintManager.AuthenticationCallback> =
+        ArgumentCaptor.forClass(FingerprintManager.AuthenticationCallback::class.java)
+
+      runCurrent()
+
+      Mockito.verify(fingerprintManager)
+        .authenticate(
+          nullable(CryptoObject::class.java),
+          any(CancellationSignal::class.java),
+          capture(authCallback),
+          nullable(Handler::class.java),
+          anyInt()
+        )
+      authCallback.value.onAuthenticationError(FINGERPRINT_ERROR_LOCKOUT_PERMANENT, "Lockout!!")
+
+      runCurrent()
+      job.cancelAndJoin()
+      assertThat(result)
+        .isEqualTo(
+          FingerprintAuthAttemptViewModel.Error(FINGERPRINT_ERROR_LOCKOUT_PERMANENT, "Lockout!!")
+        )
+    }
+
+  private fun <T : Any> safeEq(value: T): T = eq(value) ?: value
+  private fun <T> capture(argumentCaptor: ArgumentCaptor<T>): T = argumentCaptor.capture()
+  private fun <T> any(type: Class<T>): T = Mockito.any<T>(type)
+}
diff --git a/tests/unit/src/com/android/settings/fingerprint2/viewmodel/FingerprintSettingsNavigationViewModelTest.kt b/tests/unit/src/com/android/settings/fingerprint2/viewmodel/FingerprintSettingsNavigationViewModelTest.kt
new file mode 100644
index 0000000..4e1f6b1
--- /dev/null
+++ b/tests/unit/src/com/android/settings/fingerprint2/viewmodel/FingerprintSettingsNavigationViewModelTest.kt
@@ -0,0 +1,275 @@
+/*
+ * 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.fingerprint2.viewmodel
+
+import androidx.arch.core.executor.testing.InstantTaskExecutorRule
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.EnrollFirstFingerprint
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintSettingsNavigationViewModel
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FinishSettings
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FinishSettingsWithResult
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.LaunchConfirmDeviceCredential
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.NextStepViewModel
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.ShowSettings
+import com.android.settings.fingerprint2.domain.interactor.FakeFingerprintManagerInteractor
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.test.StandardTestDispatcher
+import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.resetMain
+import kotlinx.coroutines.test.runCurrent
+import kotlinx.coroutines.test.runTest
+import kotlinx.coroutines.test.setMain
+import org.junit.After
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.junit.MockitoJUnit
+import org.mockito.junit.MockitoJUnitRunner
+
+@RunWith(MockitoJUnitRunner::class)
+class FingerprintSettingsNavigationViewModelTest {
+
+  @JvmField @Rule var rule = MockitoJUnit.rule()
+
+  @get:Rule val instantTaskRule = InstantTaskExecutorRule()
+
+  private lateinit var underTest: FingerprintSettingsNavigationViewModel
+  private val defaultUserId = 0
+  private var backgroundDispatcher = StandardTestDispatcher()
+  private var testScope = TestScope(backgroundDispatcher)
+  private lateinit var fakeFingerprintManagerInteractor: FakeFingerprintManagerInteractor
+
+  @Before
+  fun setup() {
+    fakeFingerprintManagerInteractor = FakeFingerprintManagerInteractor()
+    backgroundDispatcher = StandardTestDispatcher()
+    testScope = TestScope(backgroundDispatcher)
+    Dispatchers.setMain(backgroundDispatcher)
+
+    underTest =
+      FingerprintSettingsNavigationViewModel.FingerprintSettingsNavigationModelFactory(
+          defaultUserId,
+          fakeFingerprintManagerInteractor,
+          backgroundDispatcher,
+          null,
+          null,
+        )
+        .create(FingerprintSettingsNavigationViewModel::class.java)
+  }
+
+  @After
+  fun tearDown() {
+    Dispatchers.resetMain()
+  }
+
+  @Test
+  fun testNoGateKeeper_launchesConfirmDeviceCredential() =
+    testScope.runTest {
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      runCurrent()
+      assertThat(nextStep).isEqualTo(LaunchConfirmDeviceCredential(defaultUserId))
+      job.cancel()
+    }
+
+  @Test
+  fun testConfirmDevice_fails() =
+    testScope.runTest {
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      underTest.onConfirmDevice(false, null)
+      runCurrent()
+
+      assertThat(nextStep).isInstanceOf(FinishSettings::class.java)
+      job.cancel()
+    }
+
+  @Test
+  fun confirmDeviceSuccess_noGateKeeper() =
+    testScope.runTest {
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      underTest.onConfirmDevice(true, null)
+      runCurrent()
+
+      assertThat(nextStep).isInstanceOf(FinishSettings::class.java)
+      job.cancel()
+    }
+
+  @Test
+  fun confirmDeviceSuccess_launchesEnrollment_ifNoPreviousEnrollments() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal = mutableListOf()
+
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      underTest.onConfirmDevice(true, 10L)
+      runCurrent()
+
+      assertThat(nextStep).isEqualTo(EnrollFirstFingerprint(defaultUserId, 10L, null, null))
+      job.cancel()
+    }
+
+  @Test
+  fun firstEnrollment_fails() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal = mutableListOf()
+
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      underTest.onConfirmDevice(true, 10L)
+      underTest.onEnrollFirstFailure("We failed!!")
+      runCurrent()
+
+      assertThat(nextStep).isInstanceOf(FinishSettings::class.java)
+      job.cancel()
+    }
+
+  @Test
+  fun firstEnrollment_failsWithReason() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal = mutableListOf()
+
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      val failStr = "We failed!!"
+      val failReason = 101
+
+      underTest.onConfirmDevice(true, 10L)
+      underTest.onEnrollFirstFailure(failStr, failReason)
+      runCurrent()
+
+      assertThat(nextStep).isEqualTo(FinishSettingsWithResult(failReason, failStr))
+      job.cancel()
+    }
+
+  @Test
+  fun firstEnrollmentSucceeds_noToken() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal = mutableListOf()
+
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      underTest.onConfirmDevice(true, 10L)
+      underTest.onEnrollFirst(null, null)
+      runCurrent()
+
+      assertThat(nextStep).isEqualTo(FinishSettings("Error, empty token"))
+      job.cancel()
+    }
+
+  @Test
+  fun firstEnrollmentSucceeds_noKeyChallenge() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal = mutableListOf()
+
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      val byteArray = ByteArray(1) { 3 }
+
+      underTest.onConfirmDevice(true, 10L)
+      underTest.onEnrollFirst(byteArray, null)
+      runCurrent()
+
+      assertThat(nextStep).isEqualTo(FinishSettings("Error, empty keyChallenge"))
+      job.cancel()
+    }
+
+  @Test
+  fun firstEnrollment_succeeds() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal = mutableListOf()
+
+      var nextStep: NextStepViewModel? = null
+      val job = testScope.launch { underTest.nextStep.collect { nextStep = it } }
+
+      val byteArray = ByteArray(1) { 3 }
+      val keyChallenge = 89L
+
+      underTest.onConfirmDevice(true, 10L)
+      underTest.onEnrollFirst(byteArray, keyChallenge)
+      runCurrent()
+
+      assertThat(nextStep).isEqualTo(ShowSettings)
+      job.cancel()
+    }
+
+  @Test
+  fun enrollAdditionalFingerprints_fails() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
+        mutableListOf(FingerprintViewModel("a", 1, 3L))
+      fakeFingerprintManagerInteractor.challengeToGenerate = Pair(4L, byteArrayOf(3, 3, 1))
+
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      underTest.onConfirmDevice(true, 10L)
+      runCurrent()
+      underTest.onEnrollAdditionalFailure()
+      runCurrent()
+
+      assertThat(nextStep).isInstanceOf(FinishSettings::class.java)
+      job.cancel()
+    }
+
+  @Test
+  fun enrollAdditional_success() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
+        mutableListOf(FingerprintViewModel("a", 1, 3L))
+
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      underTest.onConfirmDevice(true, 10L)
+      underTest.onEnrollSuccess()
+
+      runCurrent()
+
+      assertThat(nextStep).isEqualTo(ShowSettings)
+      job.cancel()
+    }
+
+  @Test
+  fun confirmDeviceCredential_withEnrolledFingerprint_showsSettings() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
+        mutableListOf(FingerprintViewModel("a", 1, 3L))
+      fakeFingerprintManagerInteractor.challengeToGenerate = Pair(10L, byteArrayOf(1, 2, 3))
+
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      underTest.onConfirmDevice(true, 10L)
+      runCurrent()
+
+      assertThat(nextStep).isEqualTo(ShowSettings)
+      job.cancel()
+    }
+}
diff --git a/tests/unit/src/com/android/settings/fingerprint2/viewmodel/FingerprintSettingsViewModelTest.kt b/tests/unit/src/com/android/settings/fingerprint2/viewmodel/FingerprintSettingsViewModelTest.kt
new file mode 100644
index 0000000..d430827
--- /dev/null
+++ b/tests/unit/src/com/android/settings/fingerprint2/viewmodel/FingerprintSettingsViewModelTest.kt
@@ -0,0 +1,247 @@
+/*
+ * 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.fingerprint2.viewmodel
+
+import android.hardware.biometrics.SensorProperties
+import android.hardware.fingerprint.FingerprintSensorProperties
+import android.hardware.fingerprint.FingerprintSensorPropertiesInternal
+import androidx.arch.core.executor.testing.InstantTaskExecutorRule
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintAuthAttemptViewModel
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintSettingsNavigationViewModel
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintSettingsViewModel
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel
+import com.android.settings.biometrics.fingerprint2.ui.viewmodel.PreferenceViewModel
+import com.android.settings.fingerprint2.domain.interactor.FakeFingerprintManagerInteractor
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.collectLatest
+import kotlinx.coroutines.flow.take
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.test.StandardTestDispatcher
+import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.advanceTimeBy
+import kotlinx.coroutines.test.resetMain
+import kotlinx.coroutines.test.runCurrent
+import kotlinx.coroutines.test.runTest
+import kotlinx.coroutines.test.setMain
+import org.junit.After
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.junit.MockitoJUnit
+import org.mockito.junit.MockitoJUnitRunner
+
+@RunWith(MockitoJUnitRunner::class)
+class FingerprintSettingsViewModelTest {
+
+  @JvmField @Rule var rule = MockitoJUnit.rule()
+
+  @get:Rule val instantTaskRule = InstantTaskExecutorRule()
+
+  private lateinit var underTest: FingerprintSettingsViewModel
+  private lateinit var navigationViewModel: FingerprintSettingsNavigationViewModel
+  private val defaultUserId = 0
+  private var backgroundDispatcher = StandardTestDispatcher()
+  private var testScope = TestScope(backgroundDispatcher)
+  private lateinit var fakeFingerprintManagerInteractor: FakeFingerprintManagerInteractor
+
+  @Before
+  fun setup() {
+    fakeFingerprintManagerInteractor = FakeFingerprintManagerInteractor()
+    backgroundDispatcher = StandardTestDispatcher()
+    testScope = TestScope(backgroundDispatcher)
+    Dispatchers.setMain(backgroundDispatcher)
+
+    navigationViewModel =
+      FingerprintSettingsNavigationViewModel.FingerprintSettingsNavigationModelFactory(
+          defaultUserId,
+          fakeFingerprintManagerInteractor,
+          backgroundDispatcher,
+          null,
+          null,
+        )
+        .create(FingerprintSettingsNavigationViewModel::class.java)
+
+    underTest =
+      FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
+          defaultUserId,
+          fakeFingerprintManagerInteractor,
+          backgroundDispatcher,
+          navigationViewModel,
+        )
+        .create(FingerprintSettingsViewModel::class.java)
+  }
+
+  @After
+  fun tearDown() {
+    Dispatchers.resetMain()
+  }
+
+  @Test
+  fun authenticate_DoesNotRun_ifOptical() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.sensorProps =
+        listOf(
+          FingerprintSensorPropertiesInternal(
+            0 /* sensorId */,
+            SensorProperties.STRENGTH_STRONG,
+            5 /* maxEnrollmentsPerUser */,
+            emptyList() /* ComponentInfoInternal */,
+            FingerprintSensorProperties.TYPE_UDFPS_OPTICAL,
+            true /* resetLockoutRequiresHardwareAuthToken */
+          )
+        )
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
+        mutableListOf(FingerprintViewModel("a", 1, 3L))
+
+      underTest =
+        FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
+            defaultUserId,
+            fakeFingerprintManagerInteractor,
+            backgroundDispatcher,
+            navigationViewModel,
+          )
+          .create(FingerprintSettingsViewModel::class.java)
+
+      var authAttempt: FingerprintAuthAttemptViewModel? = null
+      val job = launch { underTest.authFlow.take(5).collectLatest { authAttempt = it } }
+
+      underTest.shouldAuthenticate(true)
+      // Ensure we are showing settings
+      navigationViewModel.onConfirmDevice(true, 10L)
+
+      runCurrent()
+      advanceTimeBy(400)
+
+      assertThat(authAttempt).isNull()
+      job.cancel()
+    }
+
+  @Test
+  fun authenticate_DoesNotRun_ifUltrasonic() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.sensorProps =
+        listOf(
+          FingerprintSensorPropertiesInternal(
+            0 /* sensorId */,
+            SensorProperties.STRENGTH_STRONG,
+            5 /* maxEnrollmentsPerUser */,
+            emptyList() /* ComponentInfoInternal */,
+            FingerprintSensorProperties.TYPE_UDFPS_ULTRASONIC,
+            true /* resetLockoutRequiresHardwareAuthToken */
+          )
+        )
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
+        mutableListOf(FingerprintViewModel("a", 1, 3L))
+
+      underTest =
+        FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
+            defaultUserId,
+            fakeFingerprintManagerInteractor,
+            backgroundDispatcher,
+            navigationViewModel,
+          )
+          .create(FingerprintSettingsViewModel::class.java)
+
+      var authAttempt: FingerprintAuthAttemptViewModel? = null
+      val job = launch { underTest.authFlow.take(5).collectLatest { authAttempt = it } }
+
+      underTest.shouldAuthenticate(true)
+      navigationViewModel.onConfirmDevice(true, 10L)
+      advanceTimeBy(400)
+      runCurrent()
+
+      assertThat(authAttempt).isNull()
+      job.cancel()
+    }
+
+  @Test
+  fun authenticate_DoesRun_ifNotUdfps() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.sensorProps =
+        listOf(
+          FingerprintSensorPropertiesInternal(
+            0 /* sensorId */,
+            SensorProperties.STRENGTH_STRONG,
+            5 /* maxEnrollmentsPerUser */,
+            emptyList() /* ComponentInfoInternal */,
+            FingerprintSensorProperties.TYPE_POWER_BUTTON,
+            true /* resetLockoutRequiresHardwareAuthToken */
+          )
+        )
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
+        mutableListOf(FingerprintViewModel("a", 1, 3L))
+      val success = FingerprintAuthAttemptViewModel.Success(1)
+      fakeFingerprintManagerInteractor.authenticateAttempt = success
+
+      underTest =
+        FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
+            defaultUserId,
+            fakeFingerprintManagerInteractor,
+            backgroundDispatcher,
+            navigationViewModel,
+          )
+          .create(FingerprintSettingsViewModel::class.java)
+
+      var authAttempt: FingerprintAuthAttemptViewModel? = null
+
+      val job = launch { underTest.authFlow.take(5).collectLatest { authAttempt = it } }
+      underTest.shouldAuthenticate(true)
+      navigationViewModel.onConfirmDevice(true, 10L)
+      advanceTimeBy(400)
+      runCurrent()
+
+      assertThat(authAttempt).isEqualTo(success)
+      job.cancel()
+    }
+
+  @Test
+  fun deleteDialog_showAndDismiss() = runTest {
+    val fingerprintToDelete = FingerprintViewModel("A", 1, 10L)
+    fakeFingerprintManagerInteractor.enrolledFingerprintsInternal = mutableListOf(fingerprintToDelete)
+
+    underTest =
+      FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
+          defaultUserId,
+          fakeFingerprintManagerInteractor,
+          backgroundDispatcher,
+          navigationViewModel,
+        )
+        .create(FingerprintSettingsViewModel::class.java)
+
+    var dialog: PreferenceViewModel? = null
+    val dialogJob = launch { underTest.isShowingDialog.collect { dialog = it } }
+
+    // Move to the ShowSettings state
+    navigationViewModel.onConfirmDevice(true, 10L)
+    runCurrent()
+    underTest.onDeleteClicked(fingerprintToDelete)
+    runCurrent()
+
+    assertThat(dialog is PreferenceViewModel.DeleteDialog)
+    assertThat(dialog).isEqualTo(PreferenceViewModel.DeleteDialog(fingerprintToDelete))
+
+    underTest.deleteFingerprint(fingerprintToDelete)
+    underTest.onDeleteDialogFinished()
+    runCurrent()
+
+    assertThat(dialog).isNull()
+
+    dialogJob.cancel()
+  }
+}
diff --git a/tests/unit/src/com/android/settings/inputmethod/KeyboardSettingsFeatureProviderImplTest.java b/tests/unit/src/com/android/settings/inputmethod/KeyboardSettingsFeatureProviderImplTest.java
new file mode 100644
index 0000000..6675d5a
--- /dev/null
+++ b/tests/unit/src/com/android/settings/inputmethod/KeyboardSettingsFeatureProviderImplTest.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.inputmethod;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.os.Looper;
+
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+public class KeyboardSettingsFeatureProviderImplTest {
+
+    private Context mContext;
+    private KeyboardSettingsFeatureProviderImpl mFeatureProvider;
+
+    @Before
+    public void setUp() {
+        mContext = ApplicationProvider.getApplicationContext();
+        mFeatureProvider = new KeyboardSettingsFeatureProviderImpl();
+    }
+
+    @Test
+    public void supportsFirmwareUpdate_defaultValue_returnsFalse() {
+        assertThat(mFeatureProvider.supportsFirmwareUpdate()).isFalse();
+    }
+
+    @Test
+    public void addFirmwareUpdateCategory_defaultValue_returnsFalse() {
+        if (Looper.myLooper() == null) {
+            Looper.prepare();
+        }
+        PreferenceManager preferenceManager = new PreferenceManager(mContext);
+        PreferenceScreen screen = preferenceManager.createPreferenceScreen(mContext);
+
+        assertThat(mFeatureProvider.addFirmwareUpdateCategory(mContext, screen)).isFalse();
+    }
+
+    @Test
+    public void getActionKeyIcon_defaultValue_returnsNull() {
+        assertThat(mFeatureProvider.getActionKeyIcon(mContext)).isNull();
+    }
+}
diff --git a/tests/unit/src/com/android/settings/network/SubscriptionUtilTest.java b/tests/unit/src/com/android/settings/network/SubscriptionUtilTest.java
index 63dca7e..f063042 100644
--- a/tests/unit/src/com/android/settings/network/SubscriptionUtilTest.java
+++ b/tests/unit/src/com/android/settings/network/SubscriptionUtilTest.java
@@ -16,26 +16,32 @@
 
 package com.android.settings.network;
 
+import static com.android.settings.network.SubscriptionUtil.KEY_UNIQUE_SUBSCRIPTION_DISPLAYNAME;
+import static com.android.settings.network.SubscriptionUtil.SUB_ID;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
+import android.content.SharedPreferences;
 import android.content.res.Resources;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 import android.text.TextUtils;
 
-import com.android.settings.R;
-
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
+import com.android.settings.R;
+
 import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -445,6 +451,35 @@
     }
 
     @Test
+    public void getUniqueDisplayName_hasRecord_useRecordBeTheResult() {
+        final SubscriptionInfo info1 = mock(SubscriptionInfo.class);
+        final SubscriptionInfo info2 = mock(SubscriptionInfo.class);
+        when(info1.getSubscriptionId()).thenReturn(SUBID_1);
+        when(info2.getSubscriptionId()).thenReturn(SUBID_2);
+        when(info1.getDisplayName()).thenReturn(CARRIER_1);
+        when(info2.getDisplayName()).thenReturn(CARRIER_1);
+        when(mSubMgr.getAvailableSubscriptionInfoList()).thenReturn(
+                Arrays.asList(info1, info2));
+
+        SharedPreferences sp = mock(SharedPreferences.class);
+        when(mContext.getSharedPreferences(
+                KEY_UNIQUE_SUBSCRIPTION_DISPLAYNAME, Context.MODE_PRIVATE)).thenReturn(sp);
+        when(sp.getString(eq(SUB_ID + SUBID_1), anyString())).thenReturn(CARRIER_1 + "6789");
+        when(sp.getString(eq(SUB_ID + SUBID_2), anyString())).thenReturn(CARRIER_1 + "4321");
+
+
+        final CharSequence nameOfSub1 =
+                SubscriptionUtil.getUniqueSubscriptionDisplayName(info1, mContext);
+        final CharSequence nameOfSub2 =
+                SubscriptionUtil.getUniqueSubscriptionDisplayName(info2, mContext);
+
+        assertThat(nameOfSub1).isNotNull();
+        assertThat(nameOfSub2).isNotNull();
+        assertEquals(CARRIER_1 + "6789", nameOfSub1.toString());
+        assertEquals(CARRIER_1 + "4321", nameOfSub2.toString());
+    }
+
+    @Test
     public void isInactiveInsertedPSim_nullSubInfo_doesNotCrash() {
         assertThat(SubscriptionUtil.isInactiveInsertedPSim(null)).isFalse();
     }
diff --git a/tests/unit/src/com/android/settings/password/SaveAndFinishWorkerTest.java b/tests/unit/src/com/android/settings/password/SaveAndFinishWorkerTest.java
new file mode 100644
index 0000000..88e3150
--- /dev/null
+++ b/tests/unit/src/com/android/settings/password/SaveAndFinishWorkerTest.java
@@ -0,0 +1,136 @@
+/*
+ * 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.password;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.internal.widget.LockscreenCredential;
+import com.android.internal.widget.VerifyCredentialResponse;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+public class SaveAndFinishWorkerTest {
+    @Test
+    public void testSetRequestWriteRepairModePassword_setLockCredentialFail() {
+        int userId = 0;
+        int flags = LockPatternUtils.VERIFY_FLAG_WRITE_REPAIR_MODE_PW;
+        var chosenCredential = LockscreenCredential.createPassword("1234");
+        var currentCredential = LockscreenCredential.createNone();
+        var worker = new SaveAndFinishWorker();
+        var lpu = mock(LockPatternUtils.class);
+
+        when(lpu.setLockCredential(chosenCredential, currentCredential, userId)).thenReturn(false);
+
+        worker.setRequestWriteRepairModePassword(true);
+        worker.prepare(lpu, chosenCredential, currentCredential, userId);
+        var result = worker.saveAndVerifyInBackground();
+
+        verify(lpu).setLockCredential(chosenCredential, currentCredential, userId);
+        verify(lpu, never()).verifyCredential(chosenCredential, userId, flags);
+        assertThat(result.first).isFalse();
+    }
+
+    @Test
+    public void testSetRequestWriteRepairModePassword_verifyCredentialFail() {
+        int userId = 0;
+        int flags = LockPatternUtils.VERIFY_FLAG_WRITE_REPAIR_MODE_PW;
+        var chosenCredential = LockscreenCredential.createPassword("1234");
+        var currentCredential = LockscreenCredential.createNone();
+        var worker = new SaveAndFinishWorker();
+        var lpu = mock(LockPatternUtils.class);
+        var response = VerifyCredentialResponse.fromError();
+
+        when(lpu.setLockCredential(chosenCredential, currentCredential, userId)).thenReturn(true);
+        when(lpu.verifyCredential(chosenCredential, userId, flags)).thenReturn(response);
+
+        worker.setRequestWriteRepairModePassword(true);
+        worker.prepare(lpu, chosenCredential, currentCredential, userId);
+        var result = worker.saveAndVerifyInBackground();
+
+        verify(lpu).setLockCredential(chosenCredential, currentCredential, userId);
+        verify(lpu).verifyCredential(chosenCredential, userId, flags);
+        assertThat(result.first).isTrue();
+        assertThat(result.second.getBooleanExtra(
+                ChooseLockSettingsHelper.EXTRA_KEY_WROTE_REPAIR_MODE_CREDENTIAL, true))
+                .isFalse();
+    }
+
+    @Test
+    public void testSetRequestWriteRepairModePassword_verifyCredentialSucceed() {
+        int userId = 0;
+        int flags = LockPatternUtils.VERIFY_FLAG_WRITE_REPAIR_MODE_PW;
+        var chosenCredential = LockscreenCredential.createPassword("1234");
+        var currentCredential = LockscreenCredential.createNone();
+        var worker = new SaveAndFinishWorker();
+        var lpu = mock(LockPatternUtils.class);
+        var response = new VerifyCredentialResponse.Builder().build();
+
+        when(lpu.setLockCredential(chosenCredential, currentCredential, userId)).thenReturn(true);
+        when(lpu.verifyCredential(chosenCredential, userId, flags)).thenReturn(response);
+
+        worker.setRequestWriteRepairModePassword(true);
+        worker.prepare(lpu, chosenCredential, currentCredential, userId);
+        var result = worker.saveAndVerifyInBackground();
+
+        verify(lpu).setLockCredential(chosenCredential, currentCredential, userId);
+        verify(lpu).verifyCredential(chosenCredential, userId, flags);
+        assertThat(result.first).isTrue();
+        assertThat(result.second.getBooleanExtra(
+                ChooseLockSettingsHelper.EXTRA_KEY_WROTE_REPAIR_MODE_CREDENTIAL, false))
+                .isTrue();
+    }
+
+    @Test
+    public void testSetRequestWriteRepairModePassword_verifyCredentialSucceed_noGkPwHandle() {
+        int userId = 0;
+        int flags = LockPatternUtils.VERIFY_FLAG_WRITE_REPAIR_MODE_PW
+                | LockPatternUtils.VERIFY_FLAG_REQUEST_GK_PW_HANDLE;
+        var chosenCredential = LockscreenCredential.createPassword("1234");
+        var currentCredential = LockscreenCredential.createNone();
+        var worker = new SaveAndFinishWorker();
+        var lpu = mock(LockPatternUtils.class);
+        var response = new VerifyCredentialResponse.Builder().build();
+
+        when(lpu.setLockCredential(chosenCredential, currentCredential, userId)).thenReturn(true);
+        when(lpu.verifyCredential(chosenCredential, userId, flags)).thenReturn(response);
+
+        worker.setRequestWriteRepairModePassword(true);
+        worker.setRequestGatekeeperPasswordHandle(true);
+        worker.prepare(lpu, chosenCredential, currentCredential, userId);
+        var result = worker.saveAndVerifyInBackground();
+
+        verify(lpu).setLockCredential(chosenCredential, currentCredential, userId);
+        verify(lpu).verifyCredential(chosenCredential, userId, flags);
+        assertThat(result.first).isTrue();
+        assertThat(result.second.getBooleanExtra(
+                ChooseLockSettingsHelper.EXTRA_KEY_WROTE_REPAIR_MODE_CREDENTIAL, false))
+                .isTrue();
+        assertThat(result.second.getLongExtra(
+                ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, -1))
+                .isEqualTo(-1);
+    }
+}
diff --git a/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java b/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java
index 697217b..49ce2cc 100644
--- a/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java
+++ b/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java
@@ -27,6 +27,7 @@
 import com.android.settings.biometrics.face.FaceFeatureProvider;
 import com.android.settings.biometrics2.factory.BiometricsRepositoryProvider;
 import com.android.settings.bluetooth.BluetoothFeatureProvider;
+import com.android.settings.connecteddevice.stylus.StylusFeatureProvider;
 import com.android.settings.dashboard.DashboardFeatureProvider;
 import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider;
 import com.android.settings.deviceinfo.hardwareinfo.HardwareInfoFeatureProvider;
@@ -37,6 +38,7 @@
 import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
 import com.android.settings.gestures.AssistGestureFeatureProvider;
 import com.android.settings.homepage.contextualcards.ContextualCardFeatureProvider;
+import com.android.settings.inputmethod.KeyboardSettingsFeatureProvider;
 import com.android.settings.localepicker.LocaleFeatureProvider;
 import com.android.settings.overlay.DockUpdaterFeatureProvider;
 import com.android.settings.overlay.FeatureFactory;
@@ -90,6 +92,8 @@
     public AccessibilityMetricsFeatureProvider mAccessibilityMetricsFeatureProvider;
     public AdvancedVpnFeatureProvider mAdvancedVpnFeatureProvider;
     public WifiFeatureProvider mWifiFeatureProvider;
+    public KeyboardSettingsFeatureProvider mKeyboardSettingsFeatureProvider;
+    public StylusFeatureProvider mStylusFeatureProvider;
 
     /**
      * Call this in {@code @Before} method of the test class to use fake factory.
@@ -133,6 +137,8 @@
         mAccessibilityMetricsFeatureProvider = mock(AccessibilityMetricsFeatureProvider.class);
         mAdvancedVpnFeatureProvider = mock(AdvancedVpnFeatureProvider.class);
         mWifiFeatureProvider = mock(WifiFeatureProvider.class);
+        mKeyboardSettingsFeatureProvider = mock(KeyboardSettingsFeatureProvider.class);
+        mStylusFeatureProvider = mock(StylusFeatureProvider.class);
     }
 
     @Override
@@ -156,7 +162,7 @@
     }
 
     @Override
-    public BatterySettingsFeatureProvider getBatterySettingsFeatureProvider(Context context) {
+    public BatterySettingsFeatureProvider getBatterySettingsFeatureProvider() {
         return batterySettingsFeatureProvider;
     }
 
@@ -289,4 +295,14 @@
     public WifiFeatureProvider getWifiFeatureProvider() {
         return mWifiFeatureProvider;
     }
+
+    @Override
+    public KeyboardSettingsFeatureProvider getKeyboardSettingsFeatureProvider() {
+        return mKeyboardSettingsFeatureProvider;
+    }
+
+    @Override
+    public StylusFeatureProvider getStylusFeatureProvider() {
+        return mStylusFeatureProvider;
+    }
 }
