diff --git a/res/layout-land/udfps_enroll_enrolling.xml b/res/layout-land/udfps_enroll_enrolling.xml
deleted file mode 100644
index 743684f..0000000
--- a/res/layout-land/udfps_enroll_enrolling.xml
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright (C) 2021 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<com.google.android.setupdesign.GlifLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/setup_wizard_layout"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:layout="@layout/sud_glif_blank_template"
-    style="?attr/fingerprint_layout_theme">
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:orientation="horizontal"
-        android:clipToPadding="false"
-        android:clipChildren="false">
-
-        <!-- Both texts are kept as separate text views so it doesn't jump around in portrait.
-            See layouts/fingerprint_enroll_enrolling_base.xml. -->
-        <LinearLayout
-            android:id="@+id/layout_container"
-            android:layout_width="0dp"
-            android:layout_weight="1"
-            android:layout_height="match_parent"
-            android:layout_marginStart="?attr/sudMarginStart"
-            android:layout_marginEnd="@dimen/enroll_margin_end"
-            android:layout_marginBottom="@dimen/sud_content_frame_padding_bottom"
-            android:paddingStart="@dimen/enroll_padding_start"
-            android:paddingEnd="@dimen/enroll_padding_end"
-            android:clipChildren="false"
-            android:clipToPadding="false"
-            android:orientation="vertical">
-
-            <ScrollView
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:clipChildren="false"
-                android:clipToPadding="false"
-                android:fillViewport="true">
-
-                <LinearLayout
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:orientation="vertical"
-                    android:clipChildren="false"
-                    android:clipToPadding="false">
-
-                    <ImageView
-                        android:id="@+id/sud_layout_icon"
-                        style="@style/SudGlifIcon"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:scaleType="fitStart"
-                        android:layout_marginStart="0dp"
-                        android:layout_marginEnd="0dp"
-                        android:src="@drawable/ic_lock" />
-
-                    <TextView
-                        android:id="@+id/suc_layout_title"
-                        style="@style/SudGlifHeaderTitle"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginStart="0dp"
-                        android:layout_marginEnd="0dp" />
-
-                    <TextView
-                        style="@style/SudDescription.Glif"
-                        android:id="@+id/sud_layout_subtitle"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"/>
-
-                    <Space
-                        android:layout_width="0dp"
-                        android:layout_height="0dp"
-                        android:layout_weight="1" />
-
-                </LinearLayout>
-
-            </ScrollView>
-
-        </LinearLayout>
-
-    </LinearLayout>
-
-    <include layout="@layout/udfps_enroll_view" />
-</com.google.android.setupdesign.GlifLayout>
\ No newline at end of file
diff --git a/res/layout/udfps_enroll_enrolling.xml b/res/layout/udfps_enroll_enrolling.xml
index 05556ff..366a87c 100644
--- a/res/layout/udfps_enroll_enrolling.xml
+++ b/res/layout/udfps_enroll_enrolling.xml
@@ -15,7 +15,7 @@
   ~ limitations under the License.
   -->
 
-<com.google.android.setupdesign.GlifLayout
+<com.android.settings.biometrics.fingerprint.UdfpsEnrollEnrollingView
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
@@ -78,4 +78,4 @@
       </LinearLayout>
     </LinearLayout>
 
-</com.google.android.setupdesign.GlifLayout>
+</com.android.settings.biometrics.fingerprint.UdfpsEnrollEnrollingView>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 13b61d8..0dc5408 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 2e36277..fcc5b9c 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"የከርነል ሥሪት"</string>
     <string name="build_number" msgid="9009733242117579826">"የግንባታ ቁጥር"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play ሥርዓት ዝማኔ"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <string name="status_bt_address" msgid="6919660304578476547">"የብሉቱዝ አድራሻ"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"መለያ ቁጥር"</string>
     <string name="status_up_time" msgid="1274778533719495438">"የቆየበት ሰዓት"</string>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"በማስላት ላይ..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"እንደገና ሰይም"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"አፈናጥ"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 472568d..a3a0428 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"إصدار النواة"</string>
     <string name="build_number" msgid="9009733242117579826">"رقم الإصدار"</string>
     <string name="module_version" msgid="1787518340082046658">"‏تحديث نظام Google Play"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <string name="status_bt_address" msgid="6919660304578476547">"عنوان البلوتوث"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"الرقم التسلسلي"</string>
     <string name="status_up_time" msgid="1274778533719495438">"وقت التشغيل"</string>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"جارٍ الحساب..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"إعادة تسمية"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"تثبيت"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 7bb4f4e..75ec74b 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"কাৰ্ণেলৰ সংস্কৰণ"</string>
     <string name="build_number" msgid="9009733242117579826">"বিল্ড নম্বৰ"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play ছিষ্টেম আপডে’ট"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <string name="status_bt_address" msgid="6919660304578476547">"ব্লুটুথৰ ঠিকনা"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"ক্ৰমিক নম্বৰ"</string>
     <string name="status_up_time" msgid="1274778533719495438">"চলি থকা সময়"</string>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"গণনা কৰি থকা হৈছে…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"নতুন নাম দিয়ক"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"সংলগ্ন কৰক"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index c5ce16e..d6ccb00 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 8dd7b71..1134539 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index cc057cf..ae0c920 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"Версія ядра"</string>
     <string name="build_number" msgid="9009733242117579826">"Нумар зборкі"</string>
     <string name="module_version" msgid="1787518340082046658">"Абнаўленне сістэмы Google Play"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"Вядзецца падлік..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Перайменаваць"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Падключыць"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 118ffba..c77545a 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1116,6 +1119,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"Версия на ядрото"</string>
     <string name="build_number" msgid="9009733242117579826">"Номер на версията"</string>
     <string name="module_version" msgid="1787518340082046658">"Системна актуализация на Google Play"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1148,6 +1153,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"Изчислява се..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Преименуване"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Свързване"</string>
@@ -2921,6 +2932,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index db4a183..b3dd5a0 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"কার্নেল ভার্সন"</string>
     <string name="build_number" msgid="9009733242117579826">"বিল্ড নম্বর"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play সিস্টেম আপডেট"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <string name="status_bt_address" msgid="6919660304578476547">"ব্লুটুথ অ্যাড্রেস"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"সিরিয়াল নম্বর"</string>
     <string name="status_up_time" msgid="1274778533719495438">"আপ টাইম"</string>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"গণনা করা হচ্ছে..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"নাম বদলান"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"মাউন্ট করা"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 99cb759..a73ae4e 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>
@@ -1116,6 +1117,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1148,6 +1151,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2921,6 +2930,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 960a1a8..c7f4a03 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 116d876..4a471d7 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index b9e5e99..b58edc8 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <string name="keywords_sim_status_iccid_esim" msgid="4634015619840979184">"netværk, mobilnetværkstilstand, netværkstilstand, 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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index f62d622..0f24da3 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 32fed29..a3aa96a 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"Έκδοση Kernel"</string>
     <string name="build_number" msgid="9009733242117579826">"Αριθμός έκδοσης"</string>
     <string name="module_version" msgid="1787518340082046658">"Ενημέρωση συστήματος Google Play"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"Υπολογισμός..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Μετονομασία"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Προσάρτηση"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 90c67b1..6417fba 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1116,6 +1119,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1148,6 +1153,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2921,6 +2932,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index e3a05c4..17222e1 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>
@@ -1116,6 +1117,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1148,6 +1151,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2921,6 +2930,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 654f470..b4918ac 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1116,6 +1119,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1148,6 +1153,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2921,6 +2932,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index b3af2de..7f50408 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1116,6 +1119,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1148,6 +1153,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2921,6 +2932,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index 8c32ac1..f3b8d05 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>
@@ -1116,6 +1117,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1148,6 +1151,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2921,6 +2930,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index c31d044..cefbcaa 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 67483b6..a622de7 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index a1f549f..b47352a 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 13774f0..97dcd0b 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 6620c41..723f0f8 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"نسخهٔ اصلی"</string>
     <string name="build_number" msgid="9009733242117579826">"شمارهٔ ساخت"</string>
     <string name="module_version" msgid="1787518340082046658">"‏به‌روزرسانی سیستم Google Play"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <string name="status_bt_address" msgid="6919660304578476547">"آدرس بلوتوث"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"شمارهٔ سریال"</string>
     <string name="status_up_time" msgid="1274778533719495438">"زمان فعالیت"</string>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"در حال محاسبه..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"تغییر نام دادن"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"قرار دادن"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index ab61f1a..2ce4b09 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index f1309d1..5d72026 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 02371e8..0802c2c 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index d18f4f7..26c8da7 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 379a40b..a2e17ac 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"કર્નલ વર્ઝન"</string>
     <string name="build_number" msgid="9009733242117579826">"બિલ્ડ નંબર"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play સિસ્ટમ અપડેટ"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <string name="status_bt_address" msgid="6919660304578476547">"બ્લૂટૂથ ઍડ્રેસ"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"અનુક્રમ નંબર"</string>
     <string name="status_up_time" msgid="1274778533719495438">"ચાલુ થયાનો સમય"</string>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"ગણતરી કરી રહ્યું છે..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"નામ બદલો"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"માઉન્ટ કરો"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index bbd86dd..9161984 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>
@@ -1117,6 +1118,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"Kernel वर्शन"</string>
     <string name="build_number" msgid="9009733242117579826">"बिल्‍ड नंबर"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play का सिस्टम अपडेट"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1152,12 @@
     <string name="status_bt_address" msgid="6919660304578476547">"ब्लूटूथ पता"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"सीरियल नंबर"</string>
     <string name="status_up_time" msgid="1274778533719495438">"चालू रहने का समय"</string>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"गिनती हो रही है..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"नाम बदलें"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"माउंट करें"</string>
@@ -2922,6 +2931,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 296f7bd..b923221 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1116,6 +1119,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1148,6 +1153,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2921,6 +2932,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 8a0e84f..619deaa 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 6c02c05..75c0c54 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1116,6 +1119,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"Միջուկի տարբերակը"</string>
     <string name="build_number" msgid="9009733242117579826">"Կառուցման համարը"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play-ի համակարգային թարմացում"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1148,6 +1153,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"Հաշվարկում…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Վերանվանել"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Միացնել"</string>
@@ -2921,6 +2932,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 84010e9..3b5e082 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 49ad99c..b814881 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 79a6043..3cc4454 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 32bb5eb..f5e069c 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"גרסת ליבה"</string>
     <string name="build_number" msgid="9009733242117579826">"‏מספר Build"</string>
     <string name="module_version" msgid="1787518340082046658">"‏עדכון מערכת של Google Play"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"החישוב מתבצע…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"שינוי שם"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"טעינה"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index ada2e2b..150e958 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1116,6 +1119,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"カーネル バージョン"</string>
     <string name="build_number" msgid="9009733242117579826">"ビルド番号"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play システム アップデート"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1148,6 +1153,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"計算中..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"名前を変更"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"マウント"</string>
@@ -2921,6 +2932,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 1920e7f..f4551a2 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1116,6 +1119,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"kernel-ის ვერსია"</string>
     <string name="build_number" msgid="9009733242117579826">"ანაწყობის ნომერი"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play სისტემის განახლება"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1148,6 +1153,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"გამოთვლა…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"გადარქმევა"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"მიერთება"</string>
@@ -2921,6 +2932,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 8c05b8c..a30ddc4 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"Ядро нұсқасы"</string>
     <string name="build_number" msgid="9009733242117579826">"Құрама нөмірі"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play арқылы жүйені жаңарту"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"Есептеуде…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Атын өзгерту"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"контентті картадан жүктеу"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index c133881..c615ee0 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>
@@ -1117,6 +1118,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"កំណែ​ខឺណែល"</string>
     <string name="build_number" msgid="9009733242117579826">"លេខ​កំណែបង្កើត"</string>
     <string name="module_version" msgid="1787518340082046658">"បច្ចុប្បន្នភាព​ប្រព័ន្ធ Google Play"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1152,12 @@
     <string name="status_bt_address" msgid="6919660304578476547">"អាសយដ្ឋាន​ប៊្លូធូស"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"លេខ​ស៊េរី"</string>
     <string name="status_up_time" msgid="1274778533719495438">"រយៈ​ពេល​បើក"</string>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"កំពុង​គណនា..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"ប្ដូរឈ្មោះ"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"ភ្ជាប់"</string>
@@ -2922,6 +2931,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index af14918..9cc4993 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/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>
@@ -1117,6 +1118,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"ಕೆರ್ನಲ್ ಆವೃತ್ತಿ"</string>
     <string name="build_number" msgid="9009733242117579826">"ಬಿಲ್ಡ್ ಸಂಖ್ಯೆ"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play ಸಿಸ್ಟಂ ಅಪ್‌ಡೇಟ್"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1152,12 @@
     <string name="status_bt_address" msgid="6919660304578476547">"ಬ್ಲೂಟೂತ್‌‌ ವಿಳಾಸ"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"ಕ್ರಮ ಸಂಖ್ಯೆ"</string>
     <string name="status_up_time" msgid="1274778533719495438">"ಕಾರ್ಯನಿರತ ಸಮಯ"</string>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"ಎಣಿಕೆ ಮಾಡಲಾಗುತ್ತಿದೆ..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"ಮರುಹೆಸರಿಸಿ"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"ಅಳವಡಿಸಿ"</string>
@@ -2922,6 +2931,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index fc2c96f..263c058 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"커널 버전"</string>
     <string name="build_number" msgid="9009733242117579826">"빌드 번호"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play 시스템 업데이트"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <string name="status_bt_address" msgid="6919660304578476547">"블루투스 주소"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"일련번호"</string>
     <string name="status_up_time" msgid="1274778533719495438">"가동 시간"</string>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"계산 중..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"이름 바꾸기"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"마운트"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index e1bff62..980b1be 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"Өзөктүн версиясы"</string>
     <string name="build_number" msgid="9009733242117579826">"Курама номери"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play тутуму качан жаңырган"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"Эсептелүүдө…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Аталышын өзгөртүү"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Кошуу"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 5ca95e7..b71cd8c 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"ເວີຊັນຂອງເຄີນເນວ"</string>
     <string name="build_number" msgid="9009733242117579826">"ໝາຍເລກ Build"</string>
     <string name="module_version" msgid="1787518340082046658">"ການອັບເດດລະບົບ Google Play"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"ກຳລັງຄຳນວນ..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"ປ່ຽນຊື່"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"ຕໍ່​ໃສ່"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 101dacf..78b222e 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index c68b581..4ac53dd 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 9ea67db..853e12b 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"Верзија на кернел"</string>
     <string name="build_number" msgid="9009733242117579826">"Број на верзија"</string>
     <string name="module_version" msgid="1787518340082046658">"Системско ажурирање од Google Play"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"Пресметување..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Преименувај"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Монтирај"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 5f7b8ea..3994747 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"പ്രധാന പതിപ്പ്"</string>
     <string name="build_number" msgid="9009733242117579826">"ബിൽഡ് നമ്പർ"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play സിസ്‌റ്റം അപ്‌ഡേറ്റ്"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"കണക്കാക്കുന്നു..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"പേര് മാറ്റുക"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"മൗണ്ടുചെയ്യുക"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index a6a61b5..5b9cb46 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"Кернел хувилбар"</string>
     <string name="build_number" msgid="9009733242117579826">"Хийцийн дугаар"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play-н систем шинэчлэлт"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"Тооцоолж байна…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Нэр өөрчлөх"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Залгах"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 4f9a1e3..a677cfa 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"कर्नेल आवृत्ती"</string>
     <string name="build_number" msgid="9009733242117579826">"बिल्ड नंबर"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play सिस्टीम अपडेट"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <string name="status_bt_address" msgid="6919660304578476547">"ब्लूटूथ ॲड्रेस"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"सिरीअल नंबर"</string>
     <string name="status_up_time" msgid="1274778533719495438">"सुरू असल्याचा कालावधी"</string>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"गणना करत आहे..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"नाव बदला"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"माउंट करा"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 511959d..75a9957 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>
@@ -1117,6 +1118,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1152,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2931,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 9d7969a..09c134b 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"Kernel ဗားရှင်း"</string>
     <string name="build_number" msgid="9009733242117579826">"တည်ဆောက်ပုံ နံပါတ်"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play စနစ် အပ်ဒိတ်"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <string name="status_bt_address" msgid="6919660304578476547">"ဘလူးတုသ်လိပ်စာ"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"စက်မှတ်ပုံတင်နံပါတ်"</string>
     <string name="status_up_time" msgid="1274778533719495438">"ဖွင့်ထားသောအချိန်"</string>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"တွက်ချက်နေသည်"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"အမည်ပြောင်းရန်"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"တပ်ဆင်ရန်"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 0aee35b..221cc8a 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index da57010..82069f8 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"कर्नेलको संस्करण"</string>
     <string name="build_number" msgid="9009733242117579826">"बिल्ड नम्बर"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play को सिस्टम अपडेट"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <string name="status_bt_address" msgid="6919660304578476547">"ब्लुटुथ एड्रेस"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"क्रम संख्या"</string>
     <string name="status_up_time" msgid="1274778533719495438">"सक्रिय समय"</string>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"गणना गर्दै ..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"पुन: नामाकरण गर्नुहोस्"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"माउन्ट गर्नुहोस्"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 0acdd7c..f538cce 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index abfdf4e..fac65d0 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"କର୍ଣ୍ଣେଲ ସଂସ୍କରଣ"</string>
     <string name="build_number" msgid="9009733242117579826">"ବିଲ୍ଡ ନମ୍ବର"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play ସିଷ୍ଟମ୍ ଅପ୍‌ଡେଟ୍"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <string name="status_bt_address" msgid="6919660304578476547">"ବ୍ଲୁଟୁଥ ଠିକଣା"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"କ୍ରମିକ ନମ୍ବର"</string>
     <string name="status_up_time" msgid="1274778533719495438">"ଚାଲୁ ରହିଥିବାର ସମୟ"</string>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"ଗଣନା କରାଯାଉଛି…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"ରିନେମ କରନ୍ତୁ"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"ମାଉଣ୍ଟ କରନ୍ତୁ"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 88ce830..9e2ada6 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"ਕਰਨਲ ਵਰਜਨ"</string>
     <string name="build_number" msgid="9009733242117579826">"ਬਿਲਡ ਨੰਬਰ"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play ਸਿਸਟਮ ਅੱਪਡੇਟ"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <string name="status_bt_address" msgid="6919660304578476547">"ਬਲੂਟੁੱਥ ਪਤਾ"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"ਸੀਰੀਅਲ ਨੰਬਰ"</string>
     <string name="status_up_time" msgid="1274778533719495438">"ਚਾਲੂ ਰਹਿਣ ਦਾ ਸਮਾਂ"</string>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"ਗਣਨਾ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"ਨਾਮ ਬਦਲੋ"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"ਮਾਉਂਟ ਕਰੋ"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 1c3256e..957e748 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index b47ae0c..0922c59 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 5c7ce06..656fe68 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index b47ae0c..0922c59 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 5ec20f7..cc3548c 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index efc6bfb..291e72f 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"Версия ядра"</string>
     <string name="build_number" msgid="9009733242117579826">"Номер сборки"</string>
     <string name="module_version" msgid="1787518340082046658">"Обновление системы через Google Play"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"Идет подсчет..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Переименовать"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Подключить"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index c910dc8..081300e 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"කර්නලයේ අනුවාදය"</string>
     <string name="build_number" msgid="9009733242117579826">"නිමැවුම් අංකය"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play පද්ධති යාවත්කාලීනය"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <string name="status_bt_address" msgid="6919660304578476547">"බ්ලූටූත් ලිපිනය"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"අනුක්‍රමාංකය"</string>
     <string name="status_up_time" msgid="1274778533719495438">"ක්‍රියාකාරීව ඇති කාලය"</string>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"ගණනය කරමින්…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"යළි නම් කරන්න"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"නංවන්න"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 7114169..dea1b3e 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 0360e73..4f5add6 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 20b1e97..b63922d 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 6b481c3..ca4d59f 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"Верзија језгра"</string>
     <string name="build_number" msgid="9009733242117579826">"Број верзије"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play ажурирање система"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"Прорачунавање..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Преименуј"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Прикључи"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 66f0f1a..001c643 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 6509f0a..fa412ca 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 61fd103..1ea3d70 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"கர்னல் பதிப்பு"</string>
     <string name="build_number" msgid="9009733242117579826">"பதிப்பு எண்"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play சிஸ்டம் புதுப்பிப்பு"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <string name="status_bt_address" msgid="6919660304578476547">"புளூடூத் முகவரி"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"வரிசை எண்"</string>
     <string name="status_up_time" msgid="1274778533719495438">"இயங்கிய நேரம்"</string>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"கணக்கிடுகிறது..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"மறுபெயரிடு"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"பொருத்து"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 53484f4..2f89200 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"కెర్నల్ వెర్షన్"</string>
     <string name="build_number" msgid="9009733242117579826">"బిల్డ్ నంబర్"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play సిస్టమ్ అప్‌డేట్"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <string name="status_bt_address" msgid="6919660304578476547">"బ్లూటూత్ అడ్రస్"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"సీరియల్ నంబర్"</string>
     <string name="status_up_time" msgid="1274778533719495438">"గడిచిన సమయం"</string>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"గణిస్తోంది..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"పేరు మార్చండి"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"మౌంట్ చేయి"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index db6161f..611ed59 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1116,6 +1119,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"เวอร์ชันเคอร์เนล"</string>
     <string name="build_number" msgid="9009733242117579826">"หมายเลขบิลด์"</string>
     <string name="module_version" msgid="1787518340082046658">"การอัปเดตระบบ Google Play"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1148,6 +1153,12 @@
     <string name="status_bt_address" msgid="6919660304578476547">"ที่อยู่บลูทูธ"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"หมายเลขซีเรียล"</string>
     <string name="status_up_time" msgid="1274778533719495438">"เวลาใช้งาน"</string>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"กำลังคำนวณ..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"เปลี่ยนชื่อ"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"ต่อเชื่อม"</string>
@@ -2921,6 +2932,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index b7ab59e..fc94493 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1116,6 +1119,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1148,6 +1153,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2921,6 +2932,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 7cf7097..2cfb770 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 572bddf..7942c6c 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"Версія ядра"</string>
     <string name="build_number" msgid="9009733242117579826">"Номер складання"</string>
     <string name="module_version" msgid="1787518340082046658">"Оновлення системи Google Play"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"Обчислення…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"Перейменувати"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"Підключити"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index eb95b64..f34af0a 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"کرنل ورژن"</string>
     <string name="build_number" msgid="9009733242117579826">"بلڈ نمبر"</string>
     <string name="module_version" msgid="1787518340082046658">"‏‫Google Play سسٹم اپ ڈیٹ"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <string name="status_bt_address" msgid="6919660304578476547">"بلوٹوتھ پتہ"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"سیریل نمبر"</string>
     <string name="status_up_time" msgid="1274778533719495438">"آلہ اتنی دیر سے چل رہا ہے"</string>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"حساب لگایا جا رہا ہے…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"نام تبدیل کریں"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"ماؤنٹ کریں"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index c2f17e5..81acc57 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>
@@ -1117,6 +1118,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1152,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2931,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 8ae8f5b..f82f42c 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index b93e935..350e0b7 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"内核版本"</string>
     <string name="build_number" msgid="9009733242117579826">"Build 号"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play 系统更新"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <string name="status_bt_address" msgid="6919660304578476547">"蓝牙地址"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"序列号"</string>
     <string name="status_up_time" msgid="1274778533719495438">"开机累计时长"</string>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"正在计算..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"重命名"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"装载"</string>
@@ -2922,6 +2933,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 6386054..14c3e84 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1116,6 +1119,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"核心版本"</string>
     <string name="build_number" msgid="9009733242117579826">"版本號碼"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play 系統更新"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1148,6 +1153,12 @@
     <string name="status_bt_address" msgid="6919660304578476547">"藍牙位址"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"序號"</string>
     <string name="status_up_time" msgid="1274778533719495438">"開機時間"</string>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"正在計算..."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"重新命名"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"安裝"</string>
@@ -2921,6 +2932,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index b78c5f0..db5ed52 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1116,6 +1119,8 @@
     <string name="kernel_version" msgid="3513538109381366881">"核心版本"</string>
     <string name="build_number" msgid="9009733242117579826">"版本號碼"</string>
     <string name="module_version" msgid="1787518340082046658">"Google Play 系統更新"</string>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1148,6 +1153,12 @@
     <string name="status_bt_address" msgid="6919660304578476547">"藍牙位址"</string>
     <string name="status_serial_number" msgid="9060064164331466789">"序號"</string>
     <string name="status_up_time" msgid="1274778533719495438">"開機累計時間"</string>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <string name="memory_calculating_size" msgid="3898240439798661242">"計算中…"</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"重新命名"</string>
     <string name="storage_menu_mount" msgid="4760531872302820569">"掛載"</string>
@@ -2921,6 +2932,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 01ea0d9..b0ee235 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -119,7 +119,10 @@
     <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>
+    <!-- no translation found for stylus_default_notes_app (4165657465911764628) -->
+    <skip />
+    <!-- no translation found for stylus_default_notes_summary_work (4554643411627934223) -->
+    <skip />
     <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>
@@ -1117,6 +1120,8 @@
     <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>
+    <!-- no translation found for battery_info (7873528123969546728) -->
+    <skip />
     <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>
@@ -1149,6 +1154,12 @@
     <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>
+    <!-- no translation found for battery_manufacture_date (7139426520156833987) -->
+    <skip />
+    <!-- no translation found for battery_first_use_date (3157207331722711317) -->
+    <skip />
+    <!-- no translation found for battery_cycle_count (2912949283386571900) -->
+    <skip />
     <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>
@@ -2923,6 +2934,8 @@
     <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>
+    <!-- no translation found for keywords_battery_info (3319796850366687033) -->
+    <skip />
     <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>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 1b33bb2..4092c93 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] -->
@@ -2652,6 +2654,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>
@@ -2723,6 +2727,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>
 
@@ -5505,6 +5519,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>
@@ -7016,6 +7032,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>
@@ -9687,12 +9704,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>
 
diff --git a/res/xml/apps.xml b/res/xml/apps.xml
index ae51bae..03212c9 100644
--- a/res/xml/apps.xml
+++ b/res/xml/apps.xml
@@ -105,7 +105,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/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/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/accessibility/AccessibilityQuickSettingsPrimarySwitchPreferenceController.java b/src/com/android/settings/accessibility/AccessibilityQuickSettingsPrimarySwitchPreferenceController.java
index 9681a42..4707363 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
diff --git a/src/com/android/settings/accessibility/PreviewSizeSeekBarController.java b/src/com/android/settings/accessibility/PreviewSizeSeekBarController.java
index 4c860eb..9603739 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
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/manageapplications/ManageApplicationsUtil.kt b/src/com/android/settings/applications/manageapplications/ManageApplicationsUtil.kt
index 78a4a6b..6574f69 100644
--- a/src/com/android/settings/applications/manageapplications/ManageApplicationsUtil.kt
+++ b/src/com/android/settings/applications/manageapplications/ManageApplicationsUtil.kt
@@ -63,6 +63,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.WifiControlAppListProvider
 import com.android.settings.spa.notification.AppListNotificationsPageProvider
 import com.android.settings.spa.system.AppLanguagesPageProvider
@@ -112,6 +113,7 @@
             LIST_TYPE_NOTIFICATION -> AppListNotificationsPageProvider.name
             LIST_TYPE_APPS_LOCALE -> AppLanguagesPageProvider.name
             LIST_TYPE_MAIN -> AllAppListPageProvider.name
+            LIST_TYPE_NFC_TAG_APPS -> NfcTagAppsSettingsProvider.getAppListRoute()
             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..3a2fdb0
--- /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)!!
+    }
+
+    fun init(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/applications/specialaccess/SpecialAccessSettings.java b/src/com/android/settings/applications/specialaccess/SpecialAccessSettings.java
index 2cbc304..9f4c895 100644
--- a/src/com/android/settings/applications/specialaccess/SpecialAccessSettings.java
+++ b/src/com/android/settings/applications/specialaccess/SpecialAccessSettings.java
@@ -21,6 +21,10 @@
 
 import android.app.settings.SettingsEnums;
 import android.os.Bundle;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
@@ -47,6 +51,12 @@
     }
 
     @Override
+    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+        use(DataSaverController.class).init(getViewLifecycleOwner());
+    }
+
+    @Override
     protected int getPreferenceScreenResId() {
         return R.xml.special_access;
     }
diff --git a/src/com/android/settings/biometrics/BiometricEnrollBase.java b/src/com/android/settings/biometrics/BiometricEnrollBase.java
index 2f852f0..6e11079 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollBase.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollBase.java
@@ -133,6 +133,7 @@
     protected long mChallenge;
     protected boolean mFromSettingsSummary;
     protected FooterBarMixin mFooterBarMixin;
+    protected boolean mShouldSetFooterBarBackground = true;
     @Nullable
     protected ScreenSizeFoldProvider mScreenSizeFoldProvider;
     @Nullable
@@ -191,12 +192,14 @@
         super.onPostCreate(savedInstanceState);
         initViews();
 
-        @SuppressLint("VisibleForTests")
-        final LinearLayout buttonContainer = mFooterBarMixin != null
-                ? mFooterBarMixin.getButtonContainer()
-                : null;
-        if (buttonContainer != null) {
-            buttonContainer.setBackgroundColor(getBackgroundColor());
+        if (mShouldSetFooterBarBackground) {
+            @SuppressLint("VisibleForTests")
+            final LinearLayout buttonContainer = mFooterBarMixin != null
+                    ? mFooterBarMixin.getButtonContainer()
+                    : null;
+            if (buttonContainer != null) {
+                buttonContainer.setBackgroundColor(getBackgroundColor());
+            }
         }
     }
 
@@ -331,7 +334,7 @@
     }
 
     @ColorInt
-    private int getBackgroundColor() {
+    public int getBackgroundColor() {
         final ColorStateList stateList = Utils.getColorAttr(this, android.R.attr.windowBackground);
         return stateList != null ? stateList.getDefaultColor() : Color.TRANSPARENT;
     }
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
index f653942..400a92e 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
@@ -32,10 +32,8 @@
 import android.content.res.ColorStateList;
 import android.content.res.Configuration;
 import android.content.res.Resources;
-import android.graphics.Point;
 import android.graphics.PorterDuff;
 import android.graphics.PorterDuffColorFilter;
-import android.graphics.Rect;
 import android.graphics.drawable.Animatable2;
 import android.graphics.drawable.AnimatedVectorDrawable;
 import android.graphics.drawable.Drawable;
@@ -48,22 +46,16 @@
 import android.os.VibrationEffect;
 import android.os.Vibrator;
 import android.text.TextUtils;
-import android.util.FeatureFlagUtils;
 import android.util.Log;
-import android.view.DisplayInfo;
 import android.view.MotionEvent;
 import android.view.OrientationEventListener;
 import android.view.Surface;
 import android.view.View;
-import android.view.ViewGroup;
 import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityManager;
 import android.view.animation.AccelerateDecelerateInterpolator;
 import android.view.animation.AnimationUtils;
 import android.view.animation.Interpolator;
-import android.widget.FrameLayout;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
 import android.widget.ProgressBar;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
@@ -79,25 +71,20 @@
 import com.android.settings.biometrics.BiometricsEnrollEnrolling;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 import com.android.settingslib.display.DisplayDensityUtils;
-import com.android.settingslib.udfps.UdfpsOverlayParams;
-import com.android.settingslib.udfps.UdfpsUtils;
 
 import com.airbnb.lottie.LottieAnimationView;
 import com.airbnb.lottie.LottieCompositionFactory;
 import com.airbnb.lottie.LottieProperty;
 import com.airbnb.lottie.model.KeyPath;
-import com.google.android.setupcompat.template.FooterActionButton;
 import com.google.android.setupcompat.template.FooterBarMixin;
 import com.google.android.setupcompat.template.FooterButton;
 import com.google.android.setupcompat.util.WizardManagerHelper;
-import com.google.android.setupdesign.GlifLayout;
 import com.google.android.setupdesign.template.DescriptionMixin;
 import com.google.android.setupdesign.template.HeaderMixin;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.util.List;
-import java.util.Locale;
 
 /**
  * Activity which handles the actual enrolling for fingerprint.
@@ -176,8 +163,6 @@
     @VisibleForTesting
     @Nullable
     UdfpsEnrollHelper mUdfpsEnrollHelper;
-    // TODO(b/260617060): Do not hard-code mScaleFactor, referring to AuthController.
-    private float mScaleFactor = 1.0f;
     private ObjectAnimator mProgressAnim;
     private TextView mErrorText;
     private Interpolator mFastOutSlowInInterpolator;
@@ -206,7 +191,7 @@
     private boolean mHaveShownSfpsLeftEdgeLottie;
     private boolean mHaveShownSfpsRightEdgeLottie;
     private boolean mShouldShowLottie;
-    private UdfpsUtils mUdfpsUtils;
+
     private ObjectAnimator mHelpAnimation;
 
     private OrientationEventListener mOrientationEventListener;
@@ -251,88 +236,17 @@
 
         mAccessibilityManager = getSystemService(AccessibilityManager.class);
         mIsAccessibilityEnabled = mAccessibilityManager.isEnabled();
-        mUdfpsUtils = new UdfpsUtils();
 
-        final boolean isLayoutRtl = (TextUtils.getLayoutDirectionFromLocale(
-                Locale.getDefault()) == View.LAYOUT_DIRECTION_RTL);
         listenOrientationEvent();
 
         if (mCanAssumeUdfps) {
-            int rotation = getApplicationContext().getDisplay().getRotation();
-            final GlifLayout layout = (GlifLayout) getLayoutInflater().inflate(
-                    R.layout.udfps_enroll_enrolling, null, false);
-            final UdfpsEnrollView udfpsEnrollView = layout.findViewById(R.id.udfps_animation_view);
-            updateUdfpsEnrollView(udfpsEnrollView, props.get(0));
-            switch (rotation) {
-                case Surface.ROTATION_90:
-                    final View sudContent = layout.findViewById(R.id.sud_layout_content);
-                    if (sudContent != null) {
-                        sudContent.setPadding(sudContent.getPaddingLeft(), 0,
-                                sudContent.getPaddingRight(), sudContent.getPaddingBottom());
-                    }
+            final UdfpsEnrollEnrollingView layout =
+                    (UdfpsEnrollEnrollingView) getLayoutInflater().inflate(
+                            R.layout.udfps_enroll_enrolling, null, false);
+            setUdfpsEnrollHelper();
+            layout.initView(props.get(0), mUdfpsEnrollHelper, mAccessibilityManager);
 
-                    final LinearLayout layoutContainer = layout.findViewById(
-                            R.id.layout_container);
-                    final LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
-                            LinearLayout.LayoutParams.MATCH_PARENT,
-                            LinearLayout.LayoutParams.MATCH_PARENT);
-
-                    lp.setMarginEnd((int) getResources().getDimension(
-                            R.dimen.rotation_90_enroll_margin_end));
-                    layoutContainer.setPaddingRelative((int) getResources().getDimension(
-                            R.dimen.rotation_90_enroll_padding_start), 0, isLayoutRtl
-                            ? 0 : (int) getResources().getDimension(
-                            R.dimen.rotation_90_enroll_padding_end), 0);
-                    layoutContainer.setLayoutParams(lp);
-
-                    setOnHoverListener(true, layout, udfpsEnrollView);
-                    setContentView(layout, lp);
-                    break;
-
-                case Surface.ROTATION_0:
-                case Surface.ROTATION_180:
-                    // In the portrait mode, layout_container's height is 0, so it's
-                    // always shown at the bottom of the screen.
-                    final FrameLayout portraitLayoutContainer = layout.findViewById(
-                            R.id.layout_container);
-
-                    // In the portrait mode, the title and lottie animation view may
-                    // overlap when title needs three lines, so adding some paddings
-                    // between them, and adjusting the fp progress view here accordingly.
-                    final int layoutLottieAnimationPadding = (int) getResources()
-                            .getDimension(R.dimen.udfps_lottie_padding_top);
-                    portraitLayoutContainer.setPadding(0,
-                            layoutLottieAnimationPadding, 0, 0);
-                    final ImageView progressView = udfpsEnrollView.findViewById(
-                            R.id.udfps_enroll_animation_fp_progress_view);
-                    progressView.setPadding(0, -(layoutLottieAnimationPadding),
-                            0, layoutLottieAnimationPadding);
-                    final ImageView fingerprintView = udfpsEnrollView.findViewById(
-                            R.id.udfps_enroll_animation_fp_view);
-                    fingerprintView.setPadding(0, -layoutLottieAnimationPadding,
-                            0, layoutLottieAnimationPadding);
-
-                    // TODO(b/260970216) Instead of hiding the description text view, we should
-                    //  make the header view scrollable if the text is too long.
-                    // If description text view has overlap with udfps progress view, hide it.
-                    View view = layout.getDescriptionTextView();
-                    layout.getViewTreeObserver().addOnDrawListener(() -> {
-                        if (view.getVisibility() == View.VISIBLE
-                                && hasOverlap(view, udfpsEnrollView)) {
-                            view.setVisibility(View.GONE);
-                        }
-                    });
-
-                    setOnHoverListener(false, layout, udfpsEnrollView);
-                    setContentView(layout);
-                    break;
-
-                case Surface.ROTATION_270:
-                default:
-                    setOnHoverListener(true, layout, udfpsEnrollView);
-                    setContentView(layout);
-                    break;
-            }
+            setContentView(layout);
             setDescriptionText(R.string.security_settings_udfps_enroll_start_message);
         } else if (mCanAssumeSfps) {
             setContentView(R.layout.sfps_enroll_enrolling);
@@ -372,22 +286,11 @@
                         .build()
         );
 
-        if (FeatureFlagUtils.isEnabled(getApplicationContext(),
-                FeatureFlagUtils.SETTINGS_SHOW_UDFPS_ENROLL_IN_SETTINGS)) {
-            // Remove the space view and make the width of footer button container WRAP_CONTENT
-            // to avoid hiding the udfps view progress bar bottom.
-            final LinearLayout buttonContainer = mFooterBarMixin.getButtonContainer();
-            View spaceView = null;
-            for (int i = 0; i < buttonContainer.getChildCount(); i++) {
-                if (!(buttonContainer.getChildAt(i) instanceof FooterActionButton)) {
-                    spaceView = buttonContainer.getChildAt(i);
-                    break;
-                }
-            }
-            if (spaceView != null) {
-                spaceView.setVisibility(View.GONE);
-                buttonContainer.getLayoutParams().width = ViewGroup.LayoutParams.WRAP_CONTENT;
-            }
+        // If it's udfps, set the background color only for secondary button if necessary.
+        if (mCanAssumeUdfps) {
+            mShouldSetFooterBarBackground = false;
+            ((UdfpsEnrollEnrollingView) getLayout()).setSecondaryButtonBackground(
+                    getBackgroundColor());
         }
 
         final LayerDrawable fingerprintDrawable = mProgressBar != null
@@ -1230,30 +1133,7 @@
         }
     }
 
-    private UdfpsEnrollView updateUdfpsEnrollView(UdfpsEnrollView udfpsEnrollView,
-                                                  FingerprintSensorPropertiesInternal udfpsProps) {
-        DisplayInfo displayInfo = new DisplayInfo();
-        getDisplay().getDisplayInfo(displayInfo);
-        mScaleFactor = mUdfpsUtils.getScaleFactor(displayInfo);
-        Rect udfpsBounds = udfpsProps.getLocation().getRect();
-        udfpsBounds.scale(mScaleFactor);
-
-        final Rect overlayBounds = new Rect(
-                0, /* left */
-                displayInfo.getNaturalHeight() / 2, /* top */
-                displayInfo.getNaturalWidth(), /* right */
-                displayInfo.getNaturalHeight() /* botom */);
-
-        UdfpsOverlayParams params = new UdfpsOverlayParams(
-                udfpsBounds,
-                overlayBounds,
-                displayInfo.getNaturalWidth(),
-                displayInfo.getNaturalHeight(),
-                mScaleFactor,
-                displayInfo.rotation);
-
-        udfpsEnrollView.setOverlayParams(params);
-
+    private void setUdfpsEnrollHelper() {
         mUdfpsEnrollHelper = (UdfpsEnrollHelper) getSupportFragmentManager().findFragmentByTag(
                 FingerprintEnrollEnrolling.TAG_UDFPS_HELPER);
         if (mUdfpsEnrollHelper == null) {
@@ -1263,57 +1143,6 @@
                     .add(mUdfpsEnrollHelper, FingerprintEnrollEnrolling.TAG_UDFPS_HELPER)
                     .commitAllowingStateLoss();
         }
-        udfpsEnrollView.setEnrollHelper(mUdfpsEnrollHelper);
-
-        return udfpsEnrollView;
-    }
-
-    private void setOnHoverListener(boolean isLandscape, GlifLayout enrollLayout,
-            UdfpsEnrollView udfpsEnrollView) {
-        if (!mIsAccessibilityEnabled) return;
-
-        final Context context = getApplicationContext();
-        final View.OnHoverListener onHoverListener = (v, event) -> {
-            // Map the touch to portrait mode if the device is in
-            // landscape mode.
-            final Point scaledTouch =
-                    mUdfpsUtils.getTouchInNativeCoordinates(event.getPointerId(0),
-                            event, udfpsEnrollView.getOverlayParams());
-
-            if (mUdfpsUtils.isWithinSensorArea(event.getPointerId(0), event,
-                    udfpsEnrollView.getOverlayParams())) {
-                return false;
-            }
-
-            final String theStr = mUdfpsUtils.onTouchOutsideOfSensorArea(
-                    mAccessibilityManager.isTouchExplorationEnabled(), context,
-                    scaledTouch.x, scaledTouch.y, udfpsEnrollView.getOverlayParams());
-            if (theStr != null) {
-                v.announceForAccessibility(theStr);
-            }
-            return false;
-        };
-
-        enrollLayout.findManagedViewById(isLandscape ? R.id.sud_landscape_content_area
-                : R.id.sud_layout_content).setOnHoverListener(onHoverListener);
-    }
-
-
-    @VisibleForTesting boolean hasOverlap(View view1, View view2) {
-        int[] firstPosition = new int[2];
-        int[] secondPosition = new int[2];
-
-        view1.getLocationOnScreen(firstPosition);
-        view2.getLocationOnScreen(secondPosition);
-
-        // Rect constructor parameters: left, top, right, bottom
-        Rect rectView1 = new Rect(firstPosition[0], firstPosition[1],
-                firstPosition[0] + view1.getMeasuredWidth(),
-                firstPosition[1] + view1.getMeasuredHeight());
-        Rect rectView2 = new Rect(secondPosition[0], secondPosition[1],
-                secondPosition[0] + view2.getMeasuredWidth(),
-                secondPosition[1] + view2.getMeasuredHeight());
-        return rectView1.intersect(rectView2);
     }
 
     public static class IconTouchDialog extends InstrumentedDialogFragment {
diff --git a/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollEnrollingView.java b/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollEnrollingView.java
new file mode 100644
index 0000000..9225c64
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollEnrollingView.java
@@ -0,0 +1,237 @@
+/*
+ * 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.fingerprint;
+
+import android.content.Context;
+import android.graphics.Point;
+import android.graphics.Rect;
+import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
+import android.text.TextUtils;
+import android.util.AttributeSet;
+import android.view.DisplayInfo;
+import android.view.Gravity;
+import android.view.Surface;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.accessibility.AccessibilityManager;
+import android.widget.Button;
+import android.widget.FrameLayout;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+
+import androidx.annotation.ColorInt;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
+import com.android.settingslib.udfps.UdfpsOverlayParams;
+import com.android.settingslib.udfps.UdfpsUtils;
+
+import com.google.android.setupcompat.template.FooterBarMixin;
+import com.google.android.setupdesign.GlifLayout;
+import com.google.android.setupdesign.view.BottomScrollView;
+
+import java.util.Locale;
+
+/**
+ * View for udfps enrolling.
+ */
+public class UdfpsEnrollEnrollingView extends GlifLayout {
+    private final UdfpsUtils mUdfpsUtils;
+    private final Context mContext;
+    // We don't need to listen to onConfigurationChanged() for mRotation here because
+    // FingerprintEnrollEnrolling is always recreated once the configuration is changed.
+    private final int mRotation;
+    private final boolean mIsLandscape;
+    private final boolean mShouldUseReverseLandscape;
+    private UdfpsEnrollView mUdfpsEnrollView;
+    private View mHeaderView;
+    private AccessibilityManager mAccessibilityManager;
+
+
+    public UdfpsEnrollEnrollingView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        mContext = context;
+        mRotation = mContext.getDisplay().getRotation();
+        mIsLandscape = mRotation == Surface.ROTATION_90 || mRotation == Surface.ROTATION_270;
+        final boolean isLayoutRtl = (TextUtils.getLayoutDirectionFromLocale(Locale.getDefault())
+                == View.LAYOUT_DIRECTION_RTL);
+        mShouldUseReverseLandscape = (mRotation == Surface.ROTATION_90 && isLayoutRtl)
+                || (mRotation == Surface.ROTATION_270 && !isLayoutRtl);
+
+        mUdfpsUtils = new UdfpsUtils();
+    }
+
+    @Override
+    protected void onFinishInflate() {
+        super.onFinishInflate();
+        mHeaderView = findViewById(R.id.sud_landscape_header_area);
+        mUdfpsEnrollView = findViewById(R.id.udfps_animation_view);
+    }
+
+    void initView(FingerprintSensorPropertiesInternal udfpsProps,
+            UdfpsEnrollHelper udfpsEnrollHelper,
+            AccessibilityManager accessibilityManager) {
+        mAccessibilityManager = accessibilityManager;
+        initUdfpsEnrollView(mUdfpsEnrollView, udfpsProps, udfpsEnrollHelper);
+
+        if (!mIsLandscape) {
+            adjustPortraitPaddings();
+        } else if (mShouldUseReverseLandscape) {
+            swapHeaderAndContent();
+        }
+        setOnHoverListener();
+    }
+
+    void setSecondaryButtonBackground(@ColorInt int color) {
+        // Set the button background only when the button is not under udfps overlay to avoid UI
+        // overlap.
+        if (!mIsLandscape || mShouldUseReverseLandscape) {
+            return;
+        }
+        final Button secondaryButtonView =
+                getMixin(FooterBarMixin.class).getSecondaryButtonView();
+        secondaryButtonView.setBackgroundColor(color);
+        if (mRotation == Surface.ROTATION_90) {
+            secondaryButtonView.setGravity(Gravity.START);
+        } else {
+            secondaryButtonView.setGravity(Gravity.END);
+        }
+        mHeaderView.post(() -> {
+            secondaryButtonView.setLayoutParams(
+                    new LinearLayout.LayoutParams(mHeaderView.getMeasuredWidth(),
+                            ViewGroup.LayoutParams.WRAP_CONTENT));
+        });
+    }
+
+    private void initUdfpsEnrollView(UdfpsEnrollView udfpsEnrollView,
+                                     FingerprintSensorPropertiesInternal udfpsProps,
+                                     UdfpsEnrollHelper udfpsEnrollHelper) {
+        DisplayInfo displayInfo = new DisplayInfo();
+        mContext.getDisplay().getDisplayInfo(displayInfo);
+
+        final float scaleFactor = mUdfpsUtils.getScaleFactor(displayInfo);
+        Rect udfpsBounds = udfpsProps.getLocation().getRect();
+        udfpsBounds.scale(scaleFactor);
+
+        final Rect overlayBounds = new Rect(
+                0, /* left */
+                displayInfo.getNaturalHeight() / 2, /* top */
+                displayInfo.getNaturalWidth(), /* right */
+                displayInfo.getNaturalHeight() /* botom */);
+
+        UdfpsOverlayParams params = new UdfpsOverlayParams(
+                udfpsBounds,
+                overlayBounds,
+                displayInfo.getNaturalWidth(),
+                displayInfo.getNaturalHeight(),
+                scaleFactor,
+                displayInfo.rotation);
+
+        udfpsEnrollView.setOverlayParams(params);
+        udfpsEnrollView.setEnrollHelper(udfpsEnrollHelper);
+    }
+
+    private void adjustPortraitPaddings() {
+        // In the portrait mode, layout_container's height is 0, so it's
+        // always shown at the bottom of the screen.
+        final FrameLayout portraitLayoutContainer = findViewById(R.id.layout_container);
+
+        // In the portrait mode, the title and lottie animation view may
+        // overlap when title needs three lines, so adding some paddings
+        // between them, and adjusting the fp progress view here accordingly.
+        final int layoutLottieAnimationPadding = (int) getResources()
+                .getDimension(R.dimen.udfps_lottie_padding_top);
+        portraitLayoutContainer.setPadding(0,
+                layoutLottieAnimationPadding, 0, 0);
+        final ImageView progressView = mUdfpsEnrollView.findViewById(
+                R.id.udfps_enroll_animation_fp_progress_view);
+        progressView.setPadding(0, -(layoutLottieAnimationPadding),
+                0, layoutLottieAnimationPadding);
+        final ImageView fingerprintView = mUdfpsEnrollView.findViewById(
+                R.id.udfps_enroll_animation_fp_view);
+        fingerprintView.setPadding(0, -layoutLottieAnimationPadding,
+                0, layoutLottieAnimationPadding);
+
+        // TODO(b/260970216) Instead of hiding the description text view, we should
+        //  make the header view scrollable if the text is too long.
+        // If description text view has overlap with udfps progress view, hide it.
+        final View descView = getDescriptionTextView();
+        getViewTreeObserver().addOnDrawListener(() -> {
+            if (descView.getVisibility() == View.VISIBLE
+                    && hasOverlap(descView, mUdfpsEnrollView)) {
+                descView.setVisibility(View.GONE);
+            }
+        });
+    }
+
+    private void setOnHoverListener() {
+        if (!mAccessibilityManager.isEnabled()) return;
+
+        final View.OnHoverListener onHoverListener = (v, event) -> {
+            // Map the touch to portrait mode if the device is in
+            // landscape mode.
+            final Point scaledTouch =
+                    mUdfpsUtils.getTouchInNativeCoordinates(event.getPointerId(0),
+                            event, mUdfpsEnrollView.getOverlayParams());
+
+            if (mUdfpsUtils.isWithinSensorArea(event.getPointerId(0), event,
+                    mUdfpsEnrollView.getOverlayParams())) {
+                return false;
+            }
+
+            final String theStr = mUdfpsUtils.onTouchOutsideOfSensorArea(
+                    mAccessibilityManager.isTouchExplorationEnabled(), mContext,
+                    scaledTouch.x, scaledTouch.y, mUdfpsEnrollView.getOverlayParams());
+            if (theStr != null) {
+                v.announceForAccessibility(theStr);
+            }
+            return false;
+        };
+
+        findManagedViewById(mIsLandscape ? R.id.sud_landscape_content_area
+                : R.id.sud_layout_content).setOnHoverListener(onHoverListener);
+    }
+
+    private void swapHeaderAndContent() {
+        // Reverse header and body
+        ViewGroup parentView = (ViewGroup) mHeaderView.getParent();
+        parentView.removeView(mHeaderView);
+        parentView.addView(mHeaderView);
+
+        // Hide scroll indicators
+        BottomScrollView headerScrollView = mHeaderView.findViewById(R.id.sud_header_scroll_view);
+        headerScrollView.setScrollIndicators(0);
+    }
+
+    @VisibleForTesting
+    boolean hasOverlap(View view1, View view2) {
+        int[] firstPosition = new int[2];
+        int[] secondPosition = new int[2];
+
+        view1.getLocationOnScreen(firstPosition);
+        view2.getLocationOnScreen(secondPosition);
+
+        // Rect constructor parameters: left, top, right, bottom
+        Rect rectView1 = new Rect(firstPosition[0], firstPosition[1],
+                firstPosition[0] + view1.getMeasuredWidth(),
+                firstPosition[1] + view1.getMeasuredHeight());
+        Rect rectView2 = new Rect(secondPosition[0], secondPosition[1],
+                secondPosition[0] + view2.getMeasuredWidth(),
+                secondPosition[1] + view2.getMeasuredHeight());
+        return rectView1.intersect(rectView2);
+    }
+}
diff --git a/src/com/android/settings/bluetooth/BlockingPrefWithSliceController.java b/src/com/android/settings/bluetooth/BlockingPrefWithSliceController.java
index b443047..355a996 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_";
@@ -213,7 +213,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
@@ -222,6 +223,7 @@
                 preference.setIntent(expectedActivityIntent);
             } else {
                 Log.d(TAG, "setIntent: Intent is null");
+                preference.setSelectable(false);
             }
         }
 
diff --git a/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java b/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java
index c93a1c6..ec9f4c6 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;
@@ -117,7 +128,13 @@
         } 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/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java
index 149d1f4..b5d12a5 100644
--- a/src/com/android/settings/core/gateway/SettingsGateway.java
+++ b/src/com/android/settings/core/gateway/SettingsGateway.java
@@ -94,6 +94,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;
@@ -371,7 +372,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/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..13fbbfa 100644
--- a/src/com/android/settings/datausage/DataSaverSummary.kt
+++ b/src/com/android/settings/datausage/DataSaverSummary.kt
@@ -15,33 +15,24 @@
  */
 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.view.View
 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.applications.specialaccess.DataSaverController
+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 +45,6 @@
             return
         }
 
-        addPreferencesFromResource(R.xml.data_saver)
-        unrestrictedAccess = findPreference(KEY_UNRESTRICTED_ACCESS)!!
         dataSaverBackend = DataSaverBackend(requireContext())
     }
 
@@ -70,29 +59,19 @@
         }
     }
 
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+        super.onViewCreated(view, savedInstanceState)
+        use(DataSaverController::class.java).init(viewLifecycleOwner)
+    }
+
     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 +83,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 +95,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/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..8ad2eca
--- /dev/null
+++ b/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceController.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.deviceinfo.batteryinfo;
+
+import android.content.Context;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.fuelgauge.BatterySettingsFeatureProvider;
+import com.android.settings.overlay.FeatureFactory;
+
+/**
+ * A controller that manages the information about battery first use date.
+ */
+public class BatteryFirstUseDatePreferenceController extends BasePreferenceController {
+
+    private BatterySettingsFeatureProvider mBatterySettingsFeatureProvider;
+
+    public BatteryFirstUseDatePreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mBatterySettingsFeatureProvider = FeatureFactory.getFactory(
+                context).getBatterySettingsFeatureProvider(context);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return mBatterySettingsFeatureProvider.isFirstUseDateAvailable()
+                ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        return mBatterySettingsFeatureProvider.getFirstUseDateSummary();
+    }
+}
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..45b299a
--- /dev/null
+++ b/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceController.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.deviceinfo.batteryinfo;
+
+import android.content.Context;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.fuelgauge.BatterySettingsFeatureProvider;
+import com.android.settings.overlay.FeatureFactory;
+
+/**
+ * A controller that manages the information about battery manufacture date.
+ */
+public class BatteryManufactureDatePreferenceController extends BasePreferenceController {
+
+    private BatterySettingsFeatureProvider mBatterySettingsFeatureProvider;
+
+    public BatteryManufactureDatePreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mBatterySettingsFeatureProvider = FeatureFactory.getFactory(
+                context).getBatterySettingsFeatureProvider(context);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return mBatterySettingsFeatureProvider.isManufactureDateAvailable()
+                ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        return mBatterySettingsFeatureProvider.getManufactureDateSummary();
+    }
+}
diff --git a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java
index f6efb24..18fef1a 100644
--- a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java
+++ b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java
@@ -16,9 +16,19 @@
 
 package com.android.settings.fuelgauge;
 
-import android.content.ComponentName;
-
 /** Feature provider for battery settings usage. */
 public interface BatterySettingsFeatureProvider {
 
+    /** Returns true if manufacture date should be shown */
+    boolean isManufactureDateAvailable();
+
+    /** Returns true if first use date should be shown */
+    boolean isFirstUseDateAvailable();
+
+    /** Returns the summary of battery manufacture date */
+    CharSequence getManufactureDateSummary();
+
+    /** Returns the summary of battery first use date */
+    CharSequence getFirstUseDateSummary();
+
 }
diff --git a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java
index 39fe118..ed4795a 100644
--- a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java
+++ b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java
@@ -17,13 +17,76 @@
 package com.android.settings.fuelgauge;
 
 import android.content.Context;
+import android.os.BatteryManager;
+
+import java.time.Instant;
+import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
+import java.time.format.FormatStyle;
+import java.util.concurrent.TimeUnit;
 
 /** Feature provider implementation for battery settings usage. */
 public class BatterySettingsFeatureProviderImpl implements BatterySettingsFeatureProvider {
 
     protected Context mContext;
 
+    private BatteryManager mBatteryManager;
+    private long mManufactureDateInMs;
+    private long mFirstUseDateInMs;
+
     public BatterySettingsFeatureProviderImpl(Context context) {
         mContext = context.getApplicationContext();
+        mBatteryManager = mContext.getSystemService(BatteryManager.class);
+    }
+
+    @Override
+    public boolean isManufactureDateAvailable() {
+        return false;
+    }
+
+    @Override
+    public boolean isFirstUseDateAvailable() {
+        return false;
+    }
+
+    @Override
+    public CharSequence getManufactureDateSummary() {
+        return isManufactureDateAvailable()
+                ? getFormattedDate(getManufactureDate())
+                : null;
+    }
+
+    @Override
+    public CharSequence getFirstUseDateSummary() {
+        return isFirstUseDateAvailable()
+                ? getFormattedDate(getFirstUseDate())
+                : null;
+    }
+
+    protected long getManufactureDate() {
+        if (mManufactureDateInMs == 0L) {
+            final long manufactureDateInSec = mBatteryManager.getLongProperty(
+                    BatteryManager.BATTERY_PROPERTY_MANUFACTURING_DATE);
+            mManufactureDateInMs = TimeUnit.MILLISECONDS.convert(manufactureDateInSec,
+                    TimeUnit.SECONDS);
+        }
+        return mManufactureDateInMs;
+    }
+
+    protected 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;
+    }
+
+    private CharSequence getFormattedDate(long dateInMs) {
+        final Instant instant = Instant.ofEpochMilli(dateInMs);
+        final String localDate = instant.atZone(ZoneId.systemDefault()).toLocalDate().format(
+                DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG));
+
+        return localDate;
     }
 }
diff --git a/src/com/android/settings/inputmethod/KeyboardSettingsFeatureProvider.java b/src/com/android/settings/inputmethod/KeyboardSettingsFeatureProvider.java
new file mode 100644
index 0000000..52e9c18
--- /dev/null
+++ b/src/com/android/settings/inputmethod/KeyboardSettingsFeatureProvider.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.inputmethod;
+
+import android.content.Context;
+
+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);
+}
diff --git a/src/com/android/settings/inputmethod/KeyboardSettingsFeatureProviderImpl.java b/src/com/android/settings/inputmethod/KeyboardSettingsFeatureProviderImpl.java
new file mode 100644
index 0000000..b0eb31b
--- /dev/null
+++ b/src/com/android/settings/inputmethod/KeyboardSettingsFeatureProviderImpl.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.inputmethod;
+
+import android.content.Context;
+
+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;
+    }
+}
diff --git a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
index 936de38..f504fba 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,12 @@
                 (SwitchPreference) mKeyboardAssistanceCategory.findPreference(
                         SHOW_VIRTUAL_KEYBOARD_SWITCH));
 
+        FeatureFactory featureFactory = FeatureFactory.getFactory(getContext());
+        mFeatureProvider = featureFactory.getKeyboardSettingsFeatureProvider();
+        mSupportsFirmwareUpdate = mFeatureProvider.supportsFirmwareUpdate();
+        if (mSupportsFirmwareUpdate) {
+            mFeatureProvider.addFirmwareUpdateCategory(getContext(), getPreferenceScreen());
+        }
         mIsNewKeyboardSettings = FeatureFlagUtils.isEnabled(
                 getContext(), FeatureFlagUtils.SETTINGS_NEW_KEYBOARD_UI);
         boolean isModifierKeySettingsEnabled = FeatureFlagUtils
@@ -247,6 +256,9 @@
         }
         mKeyboardAssistanceCategory.setOrder(1);
         preferenceScreen.addPreference(mKeyboardAssistanceCategory);
+        if (mSupportsFirmwareUpdate) {
+            mFeatureProvider.addFirmwareUpdateCategory(getPrefContext(), preferenceScreen);
+        }
         updateShowVirtualKeyboardSwitch();
     }
 
diff --git a/src/com/android/settings/overlay/FeatureFactory.java b/src/com/android/settings/overlay/FeatureFactory.java
index a6d5958..9d81baa 100644
--- a/src/com/android/settings/overlay/FeatureFactory.java
+++ b/src/com/android/settings/overlay/FeatureFactory.java
@@ -39,6 +39,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;
@@ -198,6 +199,11 @@
      */
     public abstract WifiFeatureProvider getWifiFeatureProvider();
 
+    /**
+     * Retrieves implementation for keyboard settings feature.
+     */
+    public abstract KeyboardSettingsFeatureProvider getKeyboardSettingsFeatureProvider();
+
     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 584e72a..d4f1878 100644
--- a/src/com/android/settings/overlay/FeatureFactoryImpl.java
+++ b/src/com/android/settings/overlay/FeatureFactoryImpl.java
@@ -59,6 +59,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;
@@ -114,6 +116,7 @@
     private AccessibilityMetricsFeatureProvider mAccessibilityMetricsFeatureProvider;
     private AdvancedVpnFeatureProvider mAdvancedVpnFeatureProvider;
     private WifiFeatureProvider mWifiFeatureProvider;
+    private KeyboardSettingsFeatureProvider mKeyboardSettingsFeatureProvider;
 
     @Override
     public SupportFeatureProvider getSupportFeatureProvider(Context context) {
@@ -365,4 +368,12 @@
         }
         return mWifiFeatureProvider;
     }
+
+    @Override
+    public KeyboardSettingsFeatureProvider getKeyboardSettingsFeatureProvider() {
+        if (mKeyboardSettingsFeatureProvider == null) {
+            mKeyboardSettingsFeatureProvider = new KeyboardSettingsFeatureProviderImpl();
+        }
+        return mKeyboardSettingsFeatureProvider;
+    }
 }
diff --git a/src/com/android/settings/spa/SettingsSpaEnvironment.kt b/src/com/android/settings/spa/SettingsSpaEnvironment.kt
index 455fe9f..caf5b15 100644
--- a/src/com/android/settings/spa/SettingsSpaEnvironment.kt
+++ b/src/com/android/settings/spa/SettingsSpaEnvironment.kt
@@ -29,6 +29,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.SpecialAppAccessPageProvider
 import com.android.settings.spa.app.specialaccess.WifiControlAppListProvider
@@ -61,6 +62,7 @@
             InstallUnknownAppsListProvider,
             AlarmsAndRemindersAppListProvider,
             WifiControlAppListProvider,
+            NfcTagAppsSettingsProvider,
         )
     }
 
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/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/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/fingerprint/FingerprintEnrollEnrollingTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrollingTest.java
index 959c642..8c84128 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrollingTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrollingTest.java
@@ -56,6 +56,7 @@
 import android.view.Display;
 import android.view.Surface;
 import android.view.View;
+import android.view.accessibility.AccessibilityManager;
 import android.widget.FrameLayout;
 import android.widget.ImageView;
 import android.widget.TextView;
@@ -314,11 +315,17 @@
     @Test
     public void fingerprintUdfpsOverlayEnrollment_descriptionViewGoneWithOverlap() {
         initializeActivityWithoutCreate(TYPE_UDFPS_OPTICAL);
-        doReturn(true).when(mActivity).hasOverlap(any(), any());
         when(mMockDisplay.getRotation()).thenReturn(Surface.ROTATION_0);
         createActivity();
 
-        final GlifLayout defaultLayout = spy(mActivity.findViewById(R.id.setup_wizard_layout));
+        final UdfpsEnrollEnrollingView defaultLayout = spy(
+                mActivity.findViewById(R.id.setup_wizard_layout));
+        doReturn(true).when(defaultLayout).hasOverlap(any(), any());
+
+        // Somehow spy doesn't work, and we need to call initView manually.
+        defaultLayout.initView(mFingerprintManager.getSensorPropertiesInternal().get(0),
+                mActivity.mUdfpsEnrollHelper,
+                mActivity.getSystemService(AccessibilityManager.class));
         final TextView descriptionTextView = defaultLayout.getDescriptionTextView();
 
         defaultLayout.getViewTreeObserver().dispatchOnDraw();
@@ -328,11 +335,17 @@
     @Test
     public void fingerprintUdfpsOverlayEnrollment_descriptionViewVisibleWithoutOverlap() {
         initializeActivityWithoutCreate(TYPE_UDFPS_OPTICAL);
-        doReturn(false).when(mActivity).hasOverlap(any(), any());
         when(mMockDisplay.getRotation()).thenReturn(Surface.ROTATION_0);
         createActivity();
 
-        final GlifLayout defaultLayout = spy(mActivity.findViewById(R.id.setup_wizard_layout));
+        final UdfpsEnrollEnrollingView defaultLayout = spy(
+                mActivity.findViewById(R.id.setup_wizard_layout));
+        doReturn(false).when(defaultLayout).hasOverlap(any(), any());
+
+        // Somehow spy doesn't work, and we need to call initView manually.
+        defaultLayout.initView(mFingerprintManager.getSensorPropertiesInternal().get(0),
+                mActivity.mUdfpsEnrollHelper,
+                mActivity.getSystemService(AccessibilityManager.class));
         final TextView descriptionTextView = defaultLayout.getDescriptionTextView();
 
         defaultLayout.getViewTreeObserver().dispatchOnDraw();
@@ -578,7 +591,6 @@
         mContext = spy(RuntimeEnvironment.application);
         mActivity = spy(FingerprintEnrollEnrolling.class);
 
-        when(mFingerprintManager.getSensorPropertiesInternal()).thenReturn(props);
         when(mContext.getDisplay()).thenReturn(mMockDisplay);
         when(mMockDisplay.getRotation()).thenReturn(Surface.ROTATION_0);
 
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..1fcf396 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,36 @@
         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_roleHolderChanges_updatesPreference() {
         showScreen(mController);
         Preference defaultNotesPref = mPreferenceContainer.getPreference(0);
@@ -267,7 +296,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 +311,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/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..a7f6a2e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceControllerTest.java
@@ -0,0 +1,64 @@
+/*
+ * 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.Mockito.when;
+
+import android.content.Context;
+
+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;
+
+@RunWith(RobolectricTestRunner.class)
+public class BatteryFirstUseDatePreferenceControllerTest {
+    private BatteryFirstUseDatePreferenceController mController;
+    private Context mContext;
+    private FakeFeatureFactory mFactory;
+
+    @Before
+    public void setUp() {
+        mContext = ApplicationProvider.getApplicationContext();
+        mFactory = FakeFeatureFactory.setupForTest();
+        mController = new BatteryFirstUseDatePreferenceController(mContext,
+                "battery_info_first_use_date");
+    }
+
+    @Test
+    public void getAvailabilityStatus_dateAvailable_returnAvailable() {
+        when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable()).thenReturn(true);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_dateUnavailable_returnNotAvailable() {
+        when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable()).thenReturn(false);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+    }
+}
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..c4a5486
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceControllerTest.java
@@ -0,0 +1,66 @@
+/*
+ * 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.Mockito.when;
+
+import android.content.Context;
+
+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;
+
+@RunWith(RobolectricTestRunner.class)
+public class BatteryManufactureDatePreferenceControllerTest {
+
+    private BatteryManufactureDatePreferenceController mController;
+    private Context mContext;
+    private FakeFeatureFactory mFactory;
+
+    @Before
+    public void setUp() {
+        mContext = ApplicationProvider.getApplicationContext();
+        mFactory = FakeFeatureFactory.setupForTest();
+        mController = new BatteryManufactureDatePreferenceController(mContext,
+                "battery_info_manufacture_date");
+    }
+
+    @Test
+    public void getAvailabilityStatus_dateAvailable_returnAvailable() {
+        when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable()).thenReturn(true);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_dateUnavailable_returnNotAvailable() {
+        when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable())
+                .thenReturn(false);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+    }
+}
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..dfef3c7
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImplTest.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.fuelgauge;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+import static org.robolectric.Shadows.shadowOf;
+
+import android.content.Context;
+import android.os.BatteryManager;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowBatteryManager;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowBatteryManager.class})
+public class BatterySettingsFeatureProviderImplTest {
+    private BatteryManager mBatteryManager;
+    private ShadowBatteryManager mShadowBatteryManager;
+    private Context mContext;
+    private BatterySettingsFeatureProviderImpl mImpl;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mBatteryManager = mContext.getSystemService(BatteryManager.class);
+        mShadowBatteryManager = shadowOf(mBatteryManager);
+        mImpl = spy(new BatterySettingsFeatureProviderImpl(mContext));
+    }
+
+    @Test
+    public void isManufactureDateAvailable_returnFalse() {
+        assertThat(mImpl.isManufactureDateAvailable()).isFalse();
+    }
+
+    @Test
+    public void isFirstUseDateAvailable_returnFalse() {
+        assertThat(mImpl.isFirstUseDateAvailable()).isFalse();
+    }
+
+    @Test
+    public void getManufactureDateSummary_available_returnExpectedDate() {
+        doReturn(true).when(mImpl).isManufactureDateAvailable();
+        mShadowBatteryManager.setLongProperty(BatteryManager.BATTERY_PROPERTY_MANUFACTURING_DATE,
+                1669680000L);
+
+        final CharSequence result = mImpl.getManufactureDateSummary();
+
+        assertThat(result.toString()).isEqualTo("November 29, 2022");
+    }
+
+    @Test
+    public void getManufactureDateSummary_unavailable_returnNull() {
+        doReturn(false).when(mImpl).isManufactureDateAvailable();
+
+        assertThat(mImpl.getManufactureDateSummary()).isNull();
+    }
+
+    @Test
+    public void getFirstUseDateSummary_available_returnExpectedDate() {
+        doReturn(true).when(mImpl).isFirstUseDateAvailable();
+        mShadowBatteryManager.setLongProperty(BatteryManager.BATTERY_PROPERTY_FIRST_USAGE_DATE,
+                1669680000L);
+
+        final CharSequence result = mImpl.getFirstUseDateSummary();
+
+        assertThat(result.toString()).isEqualTo("November 29, 2022");
+    }
+
+    @Test
+    public void getFirstUseDateSummary_unavailable_returnNull() {
+        doReturn(false).when(mImpl).isFirstUseDateAvailable();
+
+        assertThat(mImpl.getFirstUseDateSummary()).isNull();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java b/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java
index a17ce4f..4705380 100644
--- a/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java
+++ b/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java
@@ -37,6 +37,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;
@@ -93,6 +94,7 @@
     public AccessibilityMetricsFeatureProvider mAccessibilityMetricsFeatureProvider;
     public AdvancedVpnFeatureProvider mAdvancedVpnFeatureProvider;
     public WifiFeatureProvider mWifiFeatureProvider;
+    public KeyboardSettingsFeatureProvider mKeyboardSettingsFeatureProvider;
 
     /**
      * Call this in {@code @Before} method of the test class to use fake factory.
@@ -145,6 +147,7 @@
         mAccessibilityMetricsFeatureProvider = mock(AccessibilityMetricsFeatureProvider.class);
         mAdvancedVpnFeatureProvider = mock(AdvancedVpnFeatureProvider.class);
         mWifiFeatureProvider = mock(WifiFeatureProvider.class);
+        mKeyboardSettingsFeatureProvider = mock(KeyboardSettingsFeatureProvider.class);
     }
 
     @Override
@@ -296,4 +299,9 @@
     public WifiFeatureProvider getWifiFeatureProvider() {
         return mWifiFeatureProvider;
     }
+
+    @Override
+    public KeyboardSettingsFeatureProvider getKeyboardSettingsFeatureProvider() {
+        return mKeyboardSettingsFeatureProvider;
+    }
 }
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/testutils/FakeFeatureFactory.kt b/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt
index da6e823..50589ac 100644
--- a/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt
+++ b/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt
@@ -33,6 +33,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
@@ -182,4 +183,8 @@
     override fun getWifiFeatureProvider(): WifiFeatureProvider {
         TODO("Not yet implemented")
     }
+
+    override fun getKeyboardSettingsFeatureProvider(): KeyboardSettingsFeatureProvider {
+        TODO("Not yet implemented")
+    }
 }
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/inputmethod/KeyboardSettingsFeatureProviderImplTest.java b/tests/unit/src/com/android/settings/inputmethod/KeyboardSettingsFeatureProviderImplTest.java
new file mode 100644
index 0000000..72facc3
--- /dev/null
+++ b/tests/unit/src/com/android/settings/inputmethod/KeyboardSettingsFeatureProviderImplTest.java
@@ -0,0 +1,60 @@
+/*
+ * 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();
+    }
+}
diff --git a/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java b/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java
index 0150b72..d749010 100644
--- a/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java
+++ b/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java
@@ -35,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;
@@ -88,6 +89,7 @@
     public AccessibilityMetricsFeatureProvider mAccessibilityMetricsFeatureProvider;
     public AdvancedVpnFeatureProvider mAdvancedVpnFeatureProvider;
     public WifiFeatureProvider mWifiFeatureProvider;
+    public KeyboardSettingsFeatureProvider mKeyboardSettingsFeatureProvider;
 
     /**
      * Call this in {@code @Before} method of the test class to use fake factory.
@@ -131,6 +133,7 @@
         mAccessibilityMetricsFeatureProvider = mock(AccessibilityMetricsFeatureProvider.class);
         mAdvancedVpnFeatureProvider = mock(AdvancedVpnFeatureProvider.class);
         mWifiFeatureProvider = mock(WifiFeatureProvider.class);
+        mKeyboardSettingsFeatureProvider = mock(KeyboardSettingsFeatureProvider.class);
     }
 
     @Override
@@ -282,4 +285,9 @@
     public WifiFeatureProvider getWifiFeatureProvider() {
         return mWifiFeatureProvider;
     }
+
+    @Override
+    public KeyboardSettingsFeatureProvider getKeyboardSettingsFeatureProvider() {
+        return mKeyboardSettingsFeatureProvider;
+    }
 }
