diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index d553573..9c71c4f 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -798,7 +798,7 @@
 
         <activity android:name=".support.NewDeviceIntroSuggestionActivity"
                   android:label="@string/new_device_suggestion_title"
-                  android:icon="@drawable/ic_new_releases_24dp"
+                  android:icon="@drawable/ic_new_device_suggestion_24dp"
                   android:theme="@android:style/Theme.NoDisplay">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
diff --git a/res/drawable/ic_new_releases_24dp.xml b/res/drawable/ic_new_device_suggestion_24dp.xml
similarity index 100%
rename from res/drawable/ic_new_releases_24dp.xml
rename to res/drawable/ic_new_device_suggestion_24dp.xml
diff --git a/res/drawable/ic_compare_arrows_24dp.xml b/res/drawable/ic_sms_mirroring_24dp.xml
similarity index 79%
rename from res/drawable/ic_compare_arrows_24dp.xml
rename to res/drawable/ic_sms_mirroring_24dp.xml
index 361a930..5fe3003 100644
--- a/res/drawable/ic_compare_arrows_24dp.xml
+++ b/res/drawable/ic_sms_mirroring_24dp.xml
@@ -13,7 +13,6 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
         android:width="24dp"
         android:height="24dp"
@@ -22,5 +21,5 @@
         android:tint="?android:attr/colorControlNormal">
     <path
         android:fillColor="#FF000000"
-        android:pathData="M9.01,14L2,14v2h7.01v3L13,15l-3.99,-4v3zM14.99,13v-3L22,10L22,8h-7.01L14.99,5L11,9l3.99,4z"/>
+        android:pathData="M20,2C21.1,2 22,2.9 22,4L22,16C22,17.1 21.1,18 20,18L6,18L2,22L2.01,4C2.01,2.9 2.9,2 4,2L20,2ZM8,8L4,12L8,16L8,13L14,13L14,11L8,11L8,8ZM19.666,7.872L16.038,4.372L16.038,6.997L10,6.997L10,9L16.038,9L16.038,11.372L19.666,7.872Z"/>
 </vector>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index fb6893d..d1cb54e 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s wil toegang tot jou boodskappe verkry. Gee toegang aan %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIM-toegangversoek"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> wil toegang hê tot jou SIM-kaart. As jy toegang tot jou SIM-kaart verleen, sal die dataverbinding op jou toestel vir die duur van die verbinding gedeaktiveer wees. Verleen toegang aan <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Vir ander toestelle sigbaar as \"<xliff:g id="DEVICE_NAME">^1</xliff:g>\""</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Jou toestelle"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Bind nuwe toestel saam"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Datum en tyd"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Stygende, dalende of herhalende volgorde van syfers word nie toegelaat nie"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Kanselleer"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Vee uit"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Kanselleer"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Volgende"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Opstelling is klaar."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Stel terug?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Netwerkterugstelling is nie vir hierdie gebruiker beskikbaar nie"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Netwerkinstellings is teruggestel"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Vee alle data uit (fabriekterugstelling)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Dit sal al die data uit jou tablet se "<b>"interne geheue"</b>" uitvee, insluitend: \n\n"<li>"jou Google-rekening"</li>\n" "<li>"stelsel- en programdata-instellings"</li>\n<li>"afgelaaide programme"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Dit sal al die data uit jou tablet se "<b>"interne geheue"</b>" uitvee, insluitend: \n\n"<li>"jou Google-rekening"</li>\n" "<li>"stelsel- en programdata-instellings"</li>\n<li>"afgelaaide programme"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Jy is tans aangemeld by die volgende rekeninge:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Geen klank nie"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Maak geluid"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Maak geluid en spring op op skerm"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Laag"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Middelmatig"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Hoog"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Datawaarskuwing"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Stel datalimiet"</string>
     <string name="data_limit" msgid="1885406964934590552">"Datalimiet"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> in <xliff:g id="ID_2">%2$s</xliff:g> gebruik"</string>
     <string name="configure" msgid="1029654422228677273">"Stel op"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Ander programme wat by gebruik ingesluit is"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index c4b55bc..9616d95 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s የእርስዎን መልዕክቶች ሊደርስበት ይፈልጋል። መዳረሻ ለ%2$s ይሰጥ?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"የሲም መዳረሻ ጥያቄ"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> የእርስዎ ሲም ካርድ ላይ መድረስ ይፈልጋል። ወደ ሲም ካርዱ መዳረሻ መስጠት በእርስዎ መሣሪያ ላይ ግንኙነቱ ላይ በሚቆይበት ጊዜ  ያክል የውሂብ ተገኚነትን ያሰናክላል። ለ<xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> መዳረሻ ስጥ"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"ለሌሎች መሣሪያዎች እንደ «<xliff:g id="DEVICE_NAME">^1</xliff:g>» ሆኖ ይታያል"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"የእርስዎ መሣሪያዎች"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"አዲስ መሣሪያ ያጣምሩ"</string>
     <string name="date_and_time" msgid="9062980487860757694">"ቀን እና ሰዓት"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"ሽቅብ፣ ቁልቁል ወይም ተደጋጋሚ የአኃዞች ተከታታይ አይፈቀድም"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"እሺ"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"ይቅር"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"አጽዳ"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"ይቅር"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"ቀጥሎ"</string>
     <string name="lock_setup" msgid="3355847066343753943">"ማዋቀር ተጠናቋል።"</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"ዳግም ይቀናበር?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"የአውታረመረብ ዳግም ማስጀመር ለዚህ ተጠቃሚ አይገኝም"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"የአውታረ መረብ ቅንብሮች ዳግም ጀምረዋል።"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"ሁሉንም ውሂብ ደምስስ (የፋብሪካ ዳግም ማስጀመር)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"ይህ ከእርስዎ ጡባዊ "<b>"ውስጣዊ ማከማቻ"</b>" የሚከተሉትን ጨምሮ:\n\n"<li>"የእርስዎ  Google መለያ"</li>\n<li>"ሥርዓት እና መተግበሪያ ውሂብ እና ቅንብሮች"</li>\n<li>"የወረዱ መተግበሪያዎች"</li>" ላይ ያሉ ሁሉንም ውሂብ ይሰርዛል።"</string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"ይህ ከእርስዎ ጡባዊ "<b>"ውስጣዊ ማከማቻ"</b>" የሚከተሉትን ጨምሮ:\n\n"<li>"የእርስዎ  Google መለያ"</li>\n<li>"ሥርዓት እና መተግበሪያ ውሂብ እና ቅንብሮች"</li>\n<li>"የወረዱ መተግበሪያዎች"</li>" ላይ ያሉ ሁሉንም ውሂብ ይሰርዛል።"</string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n" እርስዎ በአሁን ጊዜ የሚከተለው መለያዎች ውስጥ ገብተዋል፡\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"ምንም ድምፅ የለም"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"ድምፅ ፍጠር"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"ድምፅ ፍጠር እና በማያ ገጽ ላይ ብቅ በል"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"ዝቅተኛ"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"መካከለኛ"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"ከፍተኛ"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"የውሂብ ማስጠንቀቂያ"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"የውሂብ ገደብ ያዘጋጁ"</string>
     <string name="data_limit" msgid="1885406964934590552">"የውሂብ ገደብ"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> ጥቅም ላይ ውሏል <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"አዋቅር"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"በአጠቃቀም ውስጥ ሌሎች መተግበሪያዎች ተካትተዋል"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index a0a30cd..0f8ed9e 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -170,8 +170,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"‏يريد %1$s الدخول إلى رسائلك. هل تريد منح %2$s حق الدخول؟"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"‏طلب حق الوصول إلى شريحة SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"‏يريد <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> الوصول إلى شريحة SIM. ويؤدي منح حق الوصول إلى شريحة SIM إلى تعطيل اتصال البيانات على جهازك طوال مدة الاتصال. منح حق الوصول إلى <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"مرئي باسم \"<xliff:g id="DEVICE_NAME">^1</xliff:g>\" للأجهزة الأخرى"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"أجهزتك"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"إقران جهاز جديد"</string>
     <string name="date_and_time" msgid="9062980487860757694">"التاريخ والوقت"</string>
@@ -625,8 +624,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"غير مسموح باستخدام الترتيب التصاعدي أو التنازلي أو المكرر للأرقام"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"موافق"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"إلغاء"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"محو"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"إلغاء"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"التالي"</string>
     <string name="lock_setup" msgid="3355847066343753943">"اكتملت عملية الإعداد."</string>
@@ -853,7 +851,7 @@
     <string name="wifi_ip_settings" msgid="3359331401377059481">"‏إعدادات IP"</string>
     <string name="wifi_shared" msgid="844142443226926070">"المشاركة مع مستخدمي الجهاز الآخرين"</string>
     <string name="wifi_unchanged" msgid="3410422020930397102">"(لم يتم التغيير)"</string>
-    <string name="wifi_unspecified" msgid="4917316464723064807">"الرجاء التحديد"</string>
+    <string name="wifi_unspecified" msgid="4917316464723064807">"يُرجى التحديد"</string>
     <string name="wifi_multiple_cert_added" msgid="3240743501460165224">"(تمت إضافة عدة شهادات)"</string>
     <string name="wifi_use_system_certs" msgid="5270879895056893783">"استخدام شهادات النظام"</string>
     <string name="wifi_do_not_provide_eap_user_cert" msgid="5160499244977160665">"عدم التوفير"</string>
@@ -1393,8 +1391,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"هل تريد إعادة التعيين؟"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"إعادة ضبط الشبكة ليست متاحة لهذا المستخدم"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"إعادة تعيين إعدادات الشبكة"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"محو جميع البيانات (إعادة التعيين على إعدادات المصنع)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"‏يؤدي ذلك إلى مسح جميع البيانات من "<b>"وحدة التخزين الداخلية"</b>" لجهازك اللوحي، بما في ذلك:\n\n"<li>"حسابك في Google"</li>\n<li>"النظام وبيانات التطبيقات والإعدادات"</li>\n<li>"التطبيقات التي تم تنزيلها"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"‏يؤدي ذلك إلى مسح جميع البيانات من "<b>"وحدة التخزين الداخلية"</b>" لهاتفك، بما في ذلك:\n\n"<li>"حسابك في Google"</li>\n<li>"النظام وبيانات التطبيقات والإعدادات"</li>\n<li>"التطبيقات التي تم تنزيلها"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"تم تسجيل دخولك حاليًا في الحسابات التالية:\n"</string>
@@ -1456,8 +1453,8 @@
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="7444620909047611601">"هل تريد استخدام <xliff:g id="NEW_APP">%s</xliff:g> لإدارة اتصالات الشبكة لديك؟"</string>
     <string name="mobile_unknown_sim_operator" msgid="2156912373230276157">"‏مشغل SIM (مشغل شبكة الجوّال) غير معروف"</string>
     <string name="mobile_no_provisioning_url" msgid="9053814051811634125">"ليس لدى <xliff:g id="OPERATOR">%1$s</xliff:g> موقع ويب معروف لإدارة حسابات"</string>
-    <string name="mobile_insert_sim_card" msgid="9052590985784056395">"‏الرجاء إدخال شريحة SIM وإعادة التشغيل"</string>
-    <string name="mobile_connect_to_internet" msgid="1733894125065249639">"الرجاء الاتصال بالإنترنت"</string>
+    <string name="mobile_insert_sim_card" msgid="9052590985784056395">"‏يُرجى إدخال شريحة SIM وإعادة التشغيل"</string>
+    <string name="mobile_connect_to_internet" msgid="1733894125065249639">"يُرجى الاتصال بالإنترنت"</string>
     <string name="location_title" msgid="1029961368397484576">"موقعي"</string>
     <string name="managed_profile_location_switch_title" msgid="6712332547063039683">"موقع الملف الشخصي للعمل"</string>
     <string name="location_mode_title" msgid="3982009713118421689">"الوضع"</string>
@@ -2904,7 +2901,7 @@
     <string name="status_invalid_password" msgid="2575271864572897406">"كلمة المرور غير صالحة، أعد المحاولة."</string>
     <string name="status_write_success" msgid="5228419086308251169">"نجح الإجراء!"</string>
     <string name="status_failed_to_write" msgid="8072752734686294718">"‏تعذرت كتابة البيانات إلى علامة NFC. إذا استمرت المشكلة، فجرّب علامة مختلفة."</string>
-    <string name="status_tag_not_writable" msgid="2511611539977682175">"‏علامة NFC ليست قابلة للكتابة. الرجاء استخدام علامة مختلفة."</string>
+    <string name="status_tag_not_writable" msgid="2511611539977682175">"‏علامة NFC ليست قابلة للكتابة. يُرجى استخدام علامة مختلفة."</string>
     <string name="default_sound" msgid="8821684447333687810">"الصوت الافتراضي"</string>
     <string name="sound_settings_summary" msgid="4100853606668287965">"مستوى صوت الرنين على <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="sound_dashboard_summary" msgid="3402435125958012986">"مستوى الصوت، الاهتزاز، \"عدم الإزعاج\""</string>
@@ -2994,6 +2991,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"بدون تنبيه صوتي"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"إصدار تنبيه صوتي"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"إصدار تنبيه صوتي والظهور بسرعة على الشاشة"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"منخفض الأهميّة"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"أهميّة متوسّطة"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"شديد الأهميّة"</string>
@@ -3587,8 +3586,7 @@
     <string name="data_warning" msgid="209133958008062117">"تحذير البيانات"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"تعيين حد البيانات"</string>
     <string name="data_limit" msgid="1885406964934590552">"حد البيانات"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> مستخدمة خلال <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"تهيئة"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"التطبيقات الأخرى المضمّنة في الاستخدام"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 2407573..dd1b9cc 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s sizin mesajlarınıza giriş istəyir. %2$s adlı istifadəçi üçün girişə icazə verilsin?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIM girişi sorğusu"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> SIM kartınıza giriş hüququ istəyir. SIM karta giriş hüququnun verilməsi bağlantı müddətində cihazınızda data bağlantını deaktiv edəcək. <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> cihazına giriş hüququ verin"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Digər cihazlara \"<xliff:g id="DEVICE_NAME">^1</xliff:g>\" kimi görünür"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Cihazlarınız"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Yeni cihazı qoşalaşdırın"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Vaxt və tarix"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Artan, azalan və ya təkrarlanan rəqəm ardıcıllığı qadağandır"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Ləğv et"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Təmizləyin"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Ləğv et"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Növbəti"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Quraşdırma tamamlandı."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Sıfırlansın?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Şəbəkə sıfırlaması bu istifadəçi üçün əlçatan deyil"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Şəbəkə ayarları sıfırlandı"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Bütün datanı silin (fabrika sıfırlaması)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Bu, planşetinizdən bunları siləcək: "<b>"daxili yaddaş"</b>", həmçinin:\n\n"<li>"Google hesabınızı"</li>\n<li>"Sistem və tətbiq data və ayarlarını"</li>\n<li>"Endirilmiş tətbiqləri"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Bu telefonunuzun "<b>"daxili yaddaşından"</b>" bütün datanı siləcək, bura daxildir: \n\n"<li>"Google hesabınız"</li>\n<li>"Sistem və tətbiq məlumatları və parametrləri"</li>\n<li>"Endirilmiş tətbiqlər"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Hazırda bu hesablara daxil olmusunuz:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Səs yoxdur"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Səsli"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Səsli və ekranda pəncərə ilə"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Aşağı"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Orta"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Yüksək"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Data xəbərdarlığı"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Data limiti ayarlayın"</string>
     <string name="data_limit" msgid="1885406964934590552">"Data limiti"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_2">%2$s</xliff:g> aralığında <xliff:g id="ID_1">%1$s</xliff:g> data istifadə edildi"</string>
     <string name="configure" msgid="1029654422228677273">"Konfiqurasiya edin"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Digər tətbiqlər istifadəyə əlavə edildi"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 8d0f973..5d3f78b 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -167,8 +167,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s želi da pristupi porukama. Želite li da odobrite pristup za %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Zahtev za pristup SIM kartici"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> želi da pristupa SIM kartici. Odobravanje pristupa SIM kartici će onemogućiti vezu za prenos podataka na uređaju dok traje povezivanje. Dajte pristup uređaju <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Drugim uređajima vidljiv kao „<xliff:g id="DEVICE_NAME">^1</xliff:g>“"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Uređaji"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Uparite novi uređaj"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Datum i vreme"</string>
@@ -598,8 +597,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Rastući, opadajući ili ponovljeni niz cifara nije dozvoljen"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"Potvrdi"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Otkaži"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Obriši"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Otkaži"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Sledeće"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Podešavanje je dovršeno."</string>
@@ -1354,8 +1352,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Želite da resetujete?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Resetovanje mreže nije dostupno za ovog korisnika"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Podešavanja mreže su resetovana"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Izbriši sve podatke (resetovanje na fabrička podešavanja)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Ovim brišete sve podatke iz "<b>"interne memorije"</b>" tableta, uključujući:\n\n"<li>"Google nalog"</li>\n<li>"Podatke i podešavanja sistema i aplikacija"</li>\n<li>"Preuzete aplikacije"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Ovim brišete sve podatke iz "<b>"interne memorije"</b>" telefona, uključujući:\n\n"<li>"Google nalog"</li>\n<li>"Podatke i podešavanja sistema i aplikacija"</li>\n<li>"Preuzete aplikacije"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Trenutno ste prijavljeni na sledeće naloge:\n"</string>
@@ -2913,6 +2910,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Bez zvuka"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Emituje se zvučni signal"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Emituje se zvučni signal i prikazuje se na ekranu"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Nizak"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Srednji"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Visok"</string>
@@ -3458,8 +3457,7 @@
     <string name="data_warning" msgid="209133958008062117">"Upozorenje za potrošnju podataka"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Podesi ograničenje za podatke"</string>
     <string name="data_limit" msgid="1885406964934590552">"Ograničenje za potrošnju podataka"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"Iskoristili ste <xliff:g id="ID_1">%1$s</xliff:g> u periodu <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Konfigurišite"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Druge aplikacije uključene u upotrebu"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index adb7257..a1227bc 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -168,8 +168,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s спрабуе атрымаць доступ да вашых паведамленняў. Дазволіць доступ да %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Запыт доступу да SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> спрабуе атрымаць доступ да вашай SIM-карты. Прадастаўленне доступу да SIM-карты адключыць перадачу даных на прыладзе на час падлучэння. Даць доступ <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Бачная для іншых прылад як прылада \"<xliff:g id="DEVICE_NAME">^1</xliff:g>\""</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Вашы прылады"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Спалучыце новую прыладу"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Дата і час"</string>
@@ -607,8 +606,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Забаронена ўводзіць узрастаючую, убываючую або паўторную паслядоўнасць лічбаў"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"ОК"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Скасаваць"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Ачысціць"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Скасаваць"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Наступны"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Усталяванне скончана."</string>
@@ -1368,8 +1366,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Скінуць?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Скід налад сеткі недаступны для гэтага карыстальніка"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Налады сеткі былі скінутыя"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Сцерці ўсе даныя (cкід да заводскіх налад)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Гэта дазволіць сцерці ўсе даныя з "<b>"унутранага сховiшча"</b>" вашага планшэта, у тым ліку:\n\n"<li>"Ваш улiковы запiс Google"</li>\n<li>"Сістэмныя даныя і налады, а таксама даныя і налады дадаткаў"</li>\n<li>"Спампаваныя дадаткі"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Гэта дазволіць сцерці ўсе даныя з "<b>"унутранага сховiшча"</b>" вашага тэлефона, у тым ліку:\n\n"<li>"Ваш улiковы запiс Google"</li>\n<li>"Сістэмныя даныя і налады, а таксама даныя і налады дадаткаў"</li>\n<li>"Спампаваныя дадаткі"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"У дадзены момант вы зайшлі ў наступныя ўліковыя запісы:\n"</string>
@@ -2941,6 +2938,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Без гуку"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Прайграваць гук"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Прайграваць гук і паказваць на экране"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Нізкая"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Сярэдняя"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Высокая"</string>
@@ -3503,8 +3502,7 @@
     <string name="data_warning" msgid="209133958008062117">"Папярэджанне пра трафік"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Задаць ліміт трафіку"</string>
     <string name="data_limit" msgid="1885406964934590552">"Ліміт трафіку"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> выкарыстоўвалася <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Наладзіць"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Іншыя праграмы, уключаныя ў выкарыстанне даных"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index e2e9a3e..cab266d 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s иска достъп до съобщенията ви. Ще предоставите ли достъп до %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Заявка за достъп до SIM картата"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> иска да получи достъп до SIM картата ви. Предоставянето му ще деактивира мобилните данни на устройството ви за продължителността на връзката. Разрешаване на достъпа до <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Видимо като „<xliff:g id="DEVICE_NAME">^1</xliff:g>“ за другите устройства"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Вашите устройства"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Сдвояване на ново устройство"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Дата и час"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Възходящите, низходящите и повтарящите се поредици от цифри не са разрешени"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Отказ"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Изчистване"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Отказ"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Напред"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Настройката завърши."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Нулиране?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Този потребител не може да нулира мрежовите настройки"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Мрежовите настройки са нулирани"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Изтриване на всички данни (възстановяване на фабричните настройки)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Това ще изтрие всички данни от "<b>"вътрешното хранилище"</b>" на таблета ви, включително:\n\n"<li>"профила ви в Google;"</li>\n<li>"данни и настройки от системата и приложенията;"</li>\n<li>"изтеглени приложения."</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Това ще изтрие всички данни от "<b>"вътрешното хранилище"</b>" на телефона ви, включително:\n\n"<li>"профила ви в Google;"</li>\n<li>"данни и настройки от системата и приложенията;"</li>\n<li>"изтеглени приложения."</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Понастоящем сте влезли в следните профили:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Без звук"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Възпроизвеждане на звук"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Възпроизвеждане на звук и показване на изскачащ прозорец на екрана"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Малка важност"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Средна важност"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Голяма важност"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Предупреждение за данните"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Задаване на лимит за данните"</string>
     <string name="data_limit" msgid="1885406964934590552">"Ограничение за данните"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"За периода <xliff:g id="ID_1">%1$s</xliff:g> са използвани <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Конфигуриране"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Други приложения, включени в преноса на данни"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index e0cdcdc..ca1ba74 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -2886,6 +2886,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"শব্দ করবে না"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"শব্দ করে"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"শব্দ করে ও স্ক্রীনে ভেসে ওঠে"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"নিম্ন"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"মাঝারি"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"বেশি"</string>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 8e21fdf..342c5a4 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -167,8 +167,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s želi pristupiti svojim porukama. Dozvoliti pristup za %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Zahtjev za pristup SIM-u"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> želi pristupiti vašoj SIM kartici. Odobrenje pristupa SIM kartici će onemogućiti vezu za prijenos podataka na vašem uređaju za vrijeme trajanja veze. Odobri pristup uređaju <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Uređaj je vidljiv drugim uređajima kao \'<xliff:g id="DEVICE_NAME">^1</xliff:g>\'"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Vaši uređaji"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Uparivanje novog uređaja"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Datum i vrijeme"</string>
@@ -599,8 +598,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Nije dozvoljen rastući, opadajući ili ponavljajući niz cifara"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"Uredu"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Otkaži"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Obriši"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Otkaži"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Naprijed"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Postavljanje je završeno."</string>
@@ -1358,8 +1356,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Ponovo postaviti?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Ponovno postavljanje mreže nije dostupno za ovog korisnika"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Postavke mreže vraćene su na zadano"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Potpuno izbriši sve podatke (vraćanje na fabričke postavke)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Ovo će izbrisati sve podatke iz "<b>"interne memorije"</b>" vašeg tableta, uključujući:\n\n"<li>"vaš Google račun"</li>\n<li>"sistemske i aplikacijske podatke i postavke"</li>\n<li>"preuzete aplikacije"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Ovo će izbrisati sve podatke iz "<b>"interne memorije"</b>" vašeg telefona, uključujući:\n\n"<li>"vaš Google račun"</li>\n<li>"sistemske i aplikacijske podatke i postavke"</li>\n<li>"preuzete aplikacije"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Trenutno ste prijavljeni u sljedeće račune:\n"</string>
@@ -2926,6 +2923,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Bez zvuka"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Pusti zvuk"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Pusti zvuk i prikaži na ekranu"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Niska"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Srednja"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Visoka"</string>
@@ -3472,8 +3471,7 @@
     <string name="data_warning" msgid="209133958008062117">"Upozorenje o podacima"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Postavi ograničenje za podatke"</string>
     <string name="data_limit" msgid="1885406964934590552">"Ograničenje za podatke"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> iskorišteno <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Konfiguracija"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Ostale aplikacije uključene u korištenje"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 4cb24f7..69e52fa 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s vol accedir als teus missatges. Vols donar-li accés a %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Sol·licitud d\'accés a la SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> vol accedir a la targeta SIM. Si hi concedeixes accés, es desactivarà la connectivitat de dades al dispositiu mentre duri la connexió. Dona accés a <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Visible com a <xliff:g id="DEVICE_NAME">^1</xliff:g> per a altres dispositius"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Els teus dispositius"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Vincula un dispositiu nou"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Data i hora"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"No es permet cap seqüència de dígits ascendents, descendents ni repetits"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"D\'acord"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Cancel·la"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Esborra"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Cancel·la"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Següent"</string>
     <string name="lock_setup" msgid="3355847066343753943">"S\'ha completat la configuració."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Restablir?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"El restabliment de xarxa no està disponible per a aquest usuari"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"S\'ha restablert la configuració de la xarxa"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Esborra totes les dades (restabliment de les dades de fàbrica)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Aquesta acció esborrarà totes les dades de l\'"<b>"emmagatzematge intern"</b>" de la tauleta, com ara:\n\n"<li>"El teu compte de Google"</li>\n<li>"Les dades i la configuració del sistema i de les aplicacions"</li>\n<li>"Les aplicacions baixades"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Aquesta acció esborrarà totes les dades de l\'"<b>"emmagatzematge intern"</b>" del teu telèfon, també:\n\n"<li>"El teu compte de Google"</li>\n<li>"Les dades i la configuració del sistema i de les aplicacions"</li>\n<li>"Les aplicacions baixades"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Actualment has iniciat la sessió als comptes següents:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Sense so"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Amb so"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Amb so i amb una finestra emergent"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Baixa"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Mitjana"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Alta"</string>
@@ -2917,12 +2916,12 @@
     <string name="display_vr_pref_title" msgid="8104485269504335481">"Amb el dispositiu en mode RV"</string>
     <string name="display_vr_pref_low_persistence" msgid="5707494209944718537">"Redueix el desenfocament (recomanat)"</string>
     <string name="display_vr_pref_off" msgid="2190091757123260989">"Redueix el parpelleig"</string>
-    <string name="picture_in_picture_title" msgid="5824849294270017113">"Imatge en imatge"</string>
-    <string name="picture_in_picture_empty_text" msgid="685224245260197779">"Cap de les aplicacions instal·lades no admet el mode d\'imatge en imatge"</string>
+    <string name="picture_in_picture_title" msgid="5824849294270017113">"Pantalla en pantalla"</string>
+    <string name="picture_in_picture_empty_text" msgid="685224245260197779">"Cap de les aplicacions instal·lades no admet el mode de pantalla en pantalla"</string>
     <string name="picture_in_picture_keywords" msgid="8361318686701764690">"pip imatge en"</string>
-    <string name="picture_in_picture_app_detail_title" msgid="4080800421316791732">"Imatge en imatge"</string>
-    <string name="picture_in_picture_app_detail_switch" msgid="1131910667023738296">"Permet el mode d\'imatge en imatge"</string>
-    <string name="picture_in_picture_app_detail_summary" msgid="1264019085827708920">"Permet que aquesta aplicació creï una finestra d\'imatge en imatge mentre l\'aplicació està oberta o després de sortir-ne (per exemple, per seguir veient un vídeo). Aquesta finestra es mostra sobre altres aplicacions que estàs utilitzant."</string>
+    <string name="picture_in_picture_app_detail_title" msgid="4080800421316791732">"Pantalla en pantalla"</string>
+    <string name="picture_in_picture_app_detail_switch" msgid="1131910667023738296">"Permet el mode de pantalla en pantalla"</string>
+    <string name="picture_in_picture_app_detail_summary" msgid="1264019085827708920">"Permet que aquesta aplicació creï una finestra de pantalla en pantalla mentre l\'aplicació està oberta o després de sortir-ne (per exemple, per seguir veient un vídeo). Aquesta finestra es mostra sobre altres aplicacions que estàs utilitzant."</string>
     <string name="manage_zen_access_title" msgid="2611116122628520522">"Accés a No molestis"</string>
     <string name="zen_access_empty_text" msgid="8772967285742259540">"Cap aplicació instal·lada no ha sol·licitat accés a No molestis."</string>
     <string name="loading_notification_apps" msgid="5031818677010335895">"S\'estan carregant les aplicacions..."</string>
@@ -3189,7 +3188,7 @@
       <item quantity="one"><xliff:g id="APP">%1$s</xliff:g> consumeix molta bateria</item>
     </plurals>
     <string name="high_power_filter_on" msgid="3222265297576680099">"Sense optimitzar"</string>
-    <string name="high_power_on" msgid="6216293998227583810">"No optimitzen la bateria"</string>
+    <string name="high_power_on" msgid="6216293998227583810">"Sense optimitzar"</string>
     <string name="high_power_off" msgid="3393904131961263278">"Optimitza l\'ús de la bateria"</string>
     <string name="high_power_system" msgid="7362862974428225301">"L\'optimització de la bateria no està disponible"</string>
     <string name="high_power_desc" msgid="6283926163708585760">"No s\'aplica l\'optimització de la bateria. És possible que es consumeixi més ràpidament."</string>
@@ -3296,7 +3295,7 @@
     <string name="write_settings_description" msgid="6868293938839954623">"Aquest permís permet que una aplicació modifiqui la configuració del sistema."</string>
     <string name="write_settings_on" msgid="8230580416068832239">"Sí"</string>
     <string name="write_settings_off" msgid="5156104383386336233">"No"</string>
-    <string name="external_source_switch_title" msgid="3621381992793251070">"Permet d\'aquesta font"</string>
+    <string name="external_source_switch_title" msgid="3621381992793251070">"Permet baixades d\'aquesta font"</string>
     <string name="camera_gesture_title" msgid="1075838577642393011">"Doble gir per obrir Càmera"</string>
     <string name="camera_gesture_desc" msgid="1831390075255870960">"Gira el canell dues vegades per obrir l\'aplicació Càmera"</string>
     <string name="camera_double_tap_power_gesture_title" msgid="1651873760405034645">"Botó d\'engegada dos cops per obrir càmera"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Advertiment de dades"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Defineix un límit de dades"</string>
     <string name="data_limit" msgid="1885406964934590552">"Límit de dades"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"S\'han fet servir <xliff:g id="ID_1">%1$s</xliff:g> (<xliff:g id="ID_2">%2$s</xliff:g>)"</string>
     <string name="configure" msgid="1029654422228677273">"Configura"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Altres aplicacions que utilitzen dades"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 1cf2a3f..62ae78c 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -168,8 +168,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"Zařízení %1$s žádá o přístup k vašim zprávám. Povolit přístup zařízení %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Žádost o přístup k SIM kartě"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"Zařízení <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> žádá o přístup k SIM kartě. Po dobu přístupu zařízení k SIM kartě bude datové připojení ve vašem zařízení vypnuto. Chcete zařízení <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> povolit přístup?"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Viditelné pro ostatní zařízení jako „<xliff:g id="DEVICE_NAME">^1</xliff:g>“"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Vaše zařízení"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Spárovat nové zařízení"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Datum a čas"</string>
@@ -607,8 +606,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Posloupnost rostoucích, klesajících nebo opakujících se číslic není povolena"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Zrušit"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Vymazat"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Zrušit"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Další"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Nastavení je dokončeno."</string>
@@ -1367,8 +1365,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Resetovat?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Pro tohoto uživatele resetování sítě není k dispozici"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Nastavení sítí bylo resetováno"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Vymazat všechna data (resetovat do továrního nastavení)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Tato akce smaže veškerá data z "<b>"interního úložiště"</b>" tabletu, mj. i:\n\n"<li>"váš účet Google"</li>\n<li>"nastavení a data systému a aplikací"</li>\n<li>"stažené aplikace"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Tato akce smaže veškerá data z "<b>"interního úložiště"</b>" telefonu, mj. i:\n\n"<li>"váš účet Google"</li>\n<li>"nastavení a data systému a aplikací"</li>\n<li>"stažené aplikace"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Aktuálně jste přihlášeni k těmto účtům:\n"</string>
@@ -2940,6 +2937,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Bez zvuku"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Vydat zvukový signál"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Vydat zvukový signál a vyskočit na obrazovku"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Nízká"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Střední"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Vysoká"</string>
@@ -3501,8 +3500,7 @@
     <string name="data_warning" msgid="209133958008062117">"Upozornění na data"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Nastavit limit dat"</string>
     <string name="data_limit" msgid="1885406964934590552">"Limit dat"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> využito v období <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Konfigurovat"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Ostatní aplikace zahrnuté do využití"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 4d7ac56..e4b2e12 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s vil gerne have adgang til dine beskeder. Vil du give %2$s adgang?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Anmodning om SIM-adgang"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> vil have adgang til dit SIM-kort. Hvis du giver adgang til SIM-kortet, deaktiveres dataforbindelsen på din enhed, så længe den anden enhed er forbundet. Giv adgang til <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Vises som \"<xliff:g id="DEVICE_NAME">^1</xliff:g>\" på andre enheder"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Dine enheder"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Par ny enhed"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Dato og klokkeslæt"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Stigende eller faldende talsekvens og gentagne tal er ikke tilladt"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Annuller"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Ryd"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Annuller"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Næste"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Konfigurationen er fuldført."</string>
@@ -944,7 +942,7 @@
     <string name="wifi_calling_off_explanation" msgid="2597566001655908391">"Når Wi-Fi-opkald er slået til, kan telefonen dirigere opkald via Wi-Fi-netværk eller dit mobilselskabs netværk, afhængigt af hvad du foretrækker, og hvor signalet er stærkest. Inden du slår denne funktion til, skal du kontakte dit mobilselskab angående gebyrer og andre oplysninger."</string>
     <string name="wifi_calling_off_explanation_2" msgid="2329334487851497223"></string>
     <string name="emergency_address_title" msgid="3571902448699714454">"Opdater alternativ adresse"</string>
-    <string name="emergency_address_summary" msgid="3266760199681945746">"Den adresse, der anvendes af nødtjenester som din placering, hvis du foretager et nødopkald via Wi-Fi"</string>
+    <string name="emergency_address_summary" msgid="3266760199681945746">"Den adresse, der af nødtjenester anvendes som din placering, hvis du foretager et nødopkald via Wi-Fi"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"Skærm"</string>
     <string name="sound_settings" msgid="5534671337768745343">"Lyd"</string>
     <string name="all_volume_title" msgid="4296957391257836961">"Lydstyrke"</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Vil du nulstille?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Gendannelse af netværk er ikke tilgængeligt for denne bruger"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Netværksindstillingerne er blevet nulstillet"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Ryd alle data (gendan fabriksindstillinger)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Dette sletter alle data fra tablettens "<b>"interne lagerplads"</b>", f.eks.: \n\n"<li>"din Google-konto"</li>\n<li>"data og indstillinger for system og applikationer"</li>\n<li>"downloadede applikationer"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Dette sletter alle data fra telefonens "<b>"interne lagerplads"</b>", f.eks.: \n\n"<li>"din Google-konto"</li>\n<li>"data og indstillinger for system og apps"</li>\n<li>"downloadede apps"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Du er i øjeblikket logget ind på disse konti:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Ingen lyd"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Med lyd"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Med lyd og pop op-visning"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Lav"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Middel"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Høj"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Dataadvarsel"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Angiv datagrænse"</string>
     <string name="data_limit" msgid="1885406964934590552">"Datagrænse"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> brugt <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Konfigurer"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Andre apps, der er inkluderet i forbruget"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index db208a4..61f511f 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -165,8 +165,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s möchte auf deine Nachrichten zugreifen. Möchtest du %2$s den Zugriff erlauben?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Anfrage wegen Zugriff auf SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> möchte auf deine SIM-Karte zugreifen. Wenn du den Zugriff auf die SIM-Karte gewährst, wird die Datenverbindung auf deinem Gerät für die Dauer der Verbindung deaktiviert. Möchtest du <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> den Zugriff erlauben?"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Für andere Geräte sichtbar als \"<xliff:g id="DEVICE_NAME">^1</xliff:g>\""</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Meine Geräte"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Neues Gerät koppeln"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Datum &amp; Uhrzeit"</string>
@@ -588,8 +587,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Aufsteigende, absteigende oder wiederholte Ziffernfolgen sind unzulässig"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Abbrechen"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"OK"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Abbrechen"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Weiter"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Die Einrichtung ist abgeschlossen."</string>
@@ -944,7 +942,7 @@
     <string name="wifi_calling_off_explanation" msgid="2597566001655908391">"Wenn die Option \"Anrufe über WLAN\" aktiviert ist, kann dein Smartphone abhängig von deiner Einstellung und von der Signalstärke Anrufe über WLANs oder über das Netz deines Mobilfunkanbieters übertragen. Erkundige dich bei deinem Mobilfunkanbieter über die hierfür erhobenen Gebühren und andere Informationen, bevor du diese Funktion aktivierst."</string>
     <string name="wifi_calling_off_explanation_2" msgid="2329334487851497223"></string>
     <string name="emergency_address_title" msgid="3571902448699714454">"Notfalladresse aktualisieren"</string>
-    <string name="emergency_address_summary" msgid="3266760199681945746">"Adresse, die bei einem Notruf über WLAN von Notdiensten als dein Standort verwendet wird"</string>
+    <string name="emergency_address_summary" msgid="3266760199681945746">"Adresse, die Notdiensten bei einem Notruf über WLAN als dein Standort angezeigt wird"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"Display"</string>
     <string name="sound_settings" msgid="5534671337768745343">"Töne"</string>
     <string name="all_volume_title" msgid="4296957391257836961">"Lautstärke"</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Zurücksetzen?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Das Zurücksetzen der Netzwerkeinstellungen ist für diesen Nutzer nicht verfügbar."</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Die Netzwerkeinstellungen wurden zurückgesetzt."</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Alle Daten löschen (auf Werkseinstellungen zurücksetzen)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Hierdurch werden alle Daten aus dem "<b>"internen Speicher"</b>" deines Tablets gelöscht, u. a.\n\n"<li>"dein Google-Konto"</li>\n<li>"System- und App-Daten sowie entsprechende Einstellungen"</li>\n<li>"heruntergeladene Apps"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Hierdurch werden alle Daten aus dem "<b>"internen Speicher"</b>" deines Telefons gelöscht, u. a.\n\n"<li>"dein Google-Konto"</li>\n<li>"System- und App-Daten sowie entsprechende Einstellungen"</li>\n<li>"heruntergeladene Apps"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Du bist zurzeit in folgenden Konten angemeldet:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Kein Ton"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Akustisches Signal"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Akustisches Signal und Bildschirmbenachrichtigung"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Niedrig"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Mittel"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Hoch"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Warnlimit für mobile Daten"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Datenlimit festlegen"</string>
     <string name="data_limit" msgid="1885406964934590552">"Datenlimit"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"Datennutzung: <xliff:g id="ID_1">%1$s</xliff:g>, <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Konfigurieren"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Weitere bei der Nutzung mitgerechnete Apps"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 43fdf1b..a39198f 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s επιθυμεί να αποκτήσει πρόσβαση στα μηνύματά σας. Παραχώρηση πρόσβασης σε %2$s;"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Αίτημα πρόσβασης SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"Η συσκευή <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> επιθυμεί πρόσβαση στην κάρτα SIM. Η χορήγηση πρόσβασης στην κάρτα SIM θα απενεργοποιήσει τη σύνδεση δεδομένων στη συσκευή σας κατά τη διάρκεια της σύνδεσης. Παραχώρηση πρόσβασης στη συσκευή <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Ορατή ως \"<xliff:g id="DEVICE_NAME">^1</xliff:g>\" σε άλλες συσκευές"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Οι συσκευές σας"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Σύζευξη νέας συσκευής"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Ημερομηνία &amp; ώρα"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Δεν επιτρέπεται η αύξουσα, φθίνουσα ή επαναλαμβανόμενη ακολουθία ψηφίων"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"ΟΚ"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Ακύρωση"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Διαγραφή"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Ακύρωση"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Επόμενο"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Η ρύθμιση ολοκληρώθηκε."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Να γίνει επαναφορά;"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Η επαναφορά δικτύου δεν είναι διαθέσιμη γι\' αυτόν το χρήστη"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Έγινε επαναφορά των ρυθμίσεων δικτύου."</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Διαγραφή όλων των δεδομένων (επαναφορά εργοστασιακών ρυθμίσεων)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Με αυτόν τον τρόπο, θα διαγραφούν όλα τα δεδομένα από τον "<b>"εσωτερικό χώρο αποθήκευσης"</b>" της συσκευής σας tablet, συμπεριλαμβανομένων:\n\nΤων δεδομένων και των ρυθμίσεων συστήματος "<li>"του Λογαριασμού σας Google "</li>\n<li></li>\n<li>"Ληφθείσες εφαρμογές"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Με αυτόν τον τρόπο, θα διαγραφούν όλα τα δεδομένα από τον "<b>"εσωτερικό χώρο αποθήκευσης"</b>" της συσκευής σας tablet, συμπεριλαμβανομένων:\n\nΤων δεδομένων και των ρυθμίσεων συστήματος "<li>"του Λογαριασμού σας Google "</li>\n<li></li>\n<li>"Ληφθείσες εφαρμογές"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Αυτήν τη στιγμή είστε συνδεδεμένοι στους παρακάτω λογαριασμούς:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Χωρίς ήχο"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Αναπαραγωγή ήχου"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Αναπαραγωγή ήχου και εμφάνιση στην οθόνη"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Χαμηλή"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Μεσαία"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Υψηλή"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Προειδοποίηση δεδομένων"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Ορισμός ορίου δεδομένων"</string>
     <string name="data_limit" msgid="1885406964934590552">"Όριο δεδομένων"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"Χρησιμοποιήθηκαν <xliff:g id="ID_1">%1$s</xliff:g> κατά την περίοδο <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Διαμόρφωση"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Άλλες εφαρμογές που περιλαμβάνονται στη χρήση"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 62a5ffe..d0a5d6a 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -2883,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"No sound"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Make sound"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Make sound and pop up on screen"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Low"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Medium"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"High"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 62a5ffe..d0a5d6a 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -2883,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"No sound"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Make sound"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Make sound and pop up on screen"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Low"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Medium"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"High"</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 62a5ffe..d0a5d6a 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -2883,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"No sound"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Make sound"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Make sound and pop up on screen"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Low"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Medium"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"High"</string>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index 1ce11b3..492c7af 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -2882,6 +2882,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‎‎‎‏‎‏‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‎‎‎‏‎‏‎‏‏‏‎‎‎‎‎‎‏‎‏‏‏‏‏‎‎‏‏‎‎‏‎No sound‎‏‎‎‏‎"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‏‏‎‎‎‎‎‏‎‎‎‏‎‎‏‏‎‏‏‏‎‏‎‏‏‎‎‎‎‎‎‎‎‏‏‎‏‎‎‎‏‏‎‏‎‎‏‎‎‎‏‏‎‎‎Make sound‎‏‎‎‏‎"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‏‏‏‎‎‏‏‎‎‏‎‎‎‏‏‎‏‎‎‏‎‏‎‎‎‎‎‎‎‎‏‏‏‏‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‏‎‏‏‏‏‎Make sound and pop on screen‎‏‎‎‏‎"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‎‎‏‎‏‏‎‎‎‎‎‏‎‎‎‎‏‏‏‎‎‏‎‎‎‏‎‏‎‏‏‎‏‏‏‎‏‎‏‎‏‎‎‎‏‎‎‏‏‎‎‎‏‏‎Low‎‏‎‎‏‎"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‏‎‎‎‎‎‎‎‎‏‎‎‎‏‏‏‏‎‎‏‏‎‏‎‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‏‎‏‏‏‏‏‎‎‏‎‏‎Medium‎‏‎‎‏‎"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‎‎‎‎‏‏‏‎‎‏‏‏‎‏‎‎‎‎‎‎‏‎‏‏‏‏‏‎‎‏‏‏‎‏‎‏‏‎‏‏‏‏‎‎‏‎‎‎‏‎High‎‏‎‎‏‎"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 38cb838..2c463b5 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s quiere acceder a tus mensajes. ¿Quieres permitir el acceso a %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Solicitud de acceso a SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"El dispositivo <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> quiere acceder a tu tarjeta SIM. Al otorgar el acceso a la tarjeta SIM, inhabilitarás la conectividad de datos en el dispositivo por el tiempo que dure la conexión. Otorga el acceso al dispositivo <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>."</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Visible como \"<xliff:g id="DEVICE_NAME">^1</xliff:g>\" para otros dispositivos"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Tus dispositivos"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Sincronizar dispositivo nuevo"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Fecha y hora"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"No se permiten secuencias de dígitos ascendentes, descendentes ni repetidas"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"Aceptar"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Cancelar"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Borrar"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Cancelar"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Siguiente"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Se completó la configuración."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"¿Restablecer?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"El restablecimiento de la red no está disponible para este usuario."</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Se restableció la configuración de red."</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Borrar todos los datos (restablecer la configuración de fábrica)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Esto borrará todos los datos del "<b>"almacenamiento interno"</b>" de tu tablet, por ejemplo:\n\n"<li>"tu cuenta de Google"</li>\n<li>"los datos y la configuración del sistema y de las aplicaciones"</li>\n<li>"las aplicaciones descargadas"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Se borrarán todos los datos del "<b>"almacenamiento interno"</b>" del dispositivo, por ejemplo:\n\n"<li>"La cuenta de Google"</li>\n<li>"Datos de apps y configuraciones"</li>\n<li>"Apps descargadas"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Accediste a las siguientes cuentas:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Sin sonido"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Emitir sonido"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Emitir sonido y mostrar en pantalla"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Baja"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Media"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Alta"</string>
@@ -3413,8 +3412,7 @@
     <string name="data_warning" msgid="209133958008062117">"Advertencia de datos"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Establecer límite de datos"</string>
     <string name="data_limit" msgid="1885406964934590552">"Límite de datos"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_2">%2$s</xliff:g> se usaron durante <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Configurar"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Otras apps incluidas en el uso de datos"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 18f0ea5..ced1f97 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s quiere acceder a tus mensajes. ¿Quieres permitir el acceso a %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Solicitud de acceso de SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> quiere acceder a tu tarjeta SIM. Si lo permites, se inhabilitará la conexión de datos del dispositivo durante la conexión. Conceder acceso a <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Visible como \"<xliff:g id="DEVICE_NAME">^1</xliff:g>\" para otros dispositivos"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Tus dispositivos"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Vincular dispositivo nuevo"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Fecha y hora"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"No se permite utilizar una secuencia ascendente, descendente ni repetida de dígitos"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"Aceptar"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Cancelar"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Borrar"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Cancelar"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Siguiente"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Se ha completado la configuración."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"¿Restablecer?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Este usuario no puede restablecer la red"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Se han restablecido los ajustes de red"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Borrar todos los datos (restablecer datos de fábrica)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Se borrarán todos los datos del "<b>"almacenamiento interno"</b>" del tablet, como:\n\n"<li>"Tu cuenta de Google"</li>\n<li>"Los ajustes y los datos de aplicaciones y del sistema"</li>\n<li>"Las aplicaciones descargadas"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Se borrarán todos los datos del "<b>"almacenamiento interno"</b>" del teléfono, como:\n\n"<li>"Tu cuenta de Google"</li>\n<li>"Los ajustes y los datos de aplicaciones y del sistema"</li>\n<li>"Las aplicaciones descargadas"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Has iniciado sesión en las cuentas que se indican a continuación:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Sin sonido"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Emitir sonido"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Emitir sonido y mostrar en pantalla"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Baja"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Media"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Alta"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Advertencia de datos"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Establecer límite de datos"</string>
     <string name="data_limit" msgid="1885406964934590552">"Límite de datos"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"Usados: <xliff:g id="ID_1">%1$s</xliff:g> (<xliff:g id="ID_2">%2$s</xliff:g>)"</string>
     <string name="configure" msgid="1029654422228677273">"Configurar"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Otras aplicaciones incluidas en el uso"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 763169f..bb1f7ae 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s soovib saada juurdepääsu sõnumitele. Kas anda seadmele %2$s juurdepääs?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Juurdepääsutaotlus SIM-kaardile"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"Seade <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> soovib juurdepääsu teie SIM-kaardile. Kui annate juurdepääsu SIM-kaardile, keelatakse seadmes ühenduse ajaks andmesideühendus. Juurdepääsu andmine seadmele <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Teistele seadmetele nähtav seadmena „<xliff:g id="DEVICE_NAME">^1</xliff:g>”"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Teie seadmed"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Uue seadme sidumine"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Kuupäev ja kellaaeg"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Kasvavad, kahanevad või korduvad numbrijadad on keelatud"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Tühista"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Kustuta"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Tühista"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Järgmine"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Seadistamine on lõpetatud."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Kas lähtestada?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Võrguseadete lähtestamine pole selle kasutaja puhul saadaval"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Võrguseaded lähtestati"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Kustuta kõik andmed (tehaseseadetele lähtestamine)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"See kustutab kõik andmed teie tahvelarvuti "<b>"sisemälust"</b>", sh:\n\n"<li>"teie Google\'i konto"</li>\n<li>"süsteemi ja rakenduste andmed ning seaded"</li>\n<li>"Allalaaditud rakendused"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"See kustutab kõik andmed telefoni "<b>"sisemälust"</b>", sh:\n\n"<li>"Teie Google\'i konto"</li>\n<li>"Süsteemi- ja rakenduste andmed ning seaded"</li>\n<li>"Allalaaditud rakendused"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Olete praegu sisse logitud järgmistele kontodele:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Heli puudub"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Esita heli"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Esita heli ja tõsta märguanne esile"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Madal"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Keskmine"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Kõrge"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Andmemahu hoiatus"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Andmemahupiirangu määramine"</string>
     <string name="data_limit" msgid="1885406964934590552">"Andmemahu piirang"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"Vahemikus <xliff:g id="ID_2">%2$s</xliff:g> on kasutatud <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Seadistamine"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Muud kasutusandmetesse kaasatud rakendused"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 9674f39..27c5d56 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s gailuak zure mezuak atzitu nahi ditu. %2$s gailuari sarbidea eman?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIM txartelerako sarbide-eskaera"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> gailuak SIM txartela atzitu nahi du. SIM txartelerako sarbidea ematen badiozu, gailuaren datu-konexioa desgaituko da, txartelerako konexioak dirauen bitartean. Eman sarbidea <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> gailuari"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"\"<xliff:g id="DEVICE_NAME">^1</xliff:g>\" gisa dago ikusgai beste gailuetan"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Zure gailuak"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Parekatu gailu batekin"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Data eta ordua"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Ezin da erabili goranzko, beheranzko edo errepikatutako digitu-sekuentziarik"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"Ados"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Utzi"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Garbitu"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Utzi"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Hurrengoa"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Konfigurazioa osatu da."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Berrezarri?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Erabiltzaileak ez du sarea berrezartzeko baimenik"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Berrezarri dira sareko ezarpenak"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Ezabatu datu guztiak (leheneratu jatorrizko egoerara)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Tabletaren "<b>"barneko memoriako"</b>" datu guztiak ezabatuko dira, besteak beste:\n\n"<li>"Google kontua"</li>\n<li>"Sistema- eta aplikazioen datuak eta ezarpenak"</li>\n<li>"Deskargatutako aplikazioak"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Telefonoaren "<b>"barneko memoriako"</b>" datu guztiak ezabatuko dira, besteak beste:\n\n"<li>"Google kontua"</li>\n<li>"Sistema- eta aplikazioen datuak nahiz ezarpenak"</li>\n<li>"Deskargatutako aplikazioak"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Kontu hauetan hasi duzu saioa:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Ez egin soinurik"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Egin soinua"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Egin soinua eta erakutsi pantailan"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Txikia"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Arrunta"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Handia"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Datuen erabileraren abisua"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Ezarri datuen muga"</string>
     <string name="data_limit" msgid="1885406964934590552">"Datuen muga"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> erabili ziren <xliff:g id="ID_2">%2$s</xliff:g> tartean"</string>
     <string name="configure" msgid="1029654422228677273">"Konfiguratu"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Erabileran eragina duten beste aplikazio batzuk"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 25b80f6..cc2a2c8 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"‏%1$s می‌خواهد به پیام‌های شما دسترسی یابد. اجازه دسترسی به %2$s داده شود؟"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"درخواست دسترسی به سیم‌‌کارت"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> می‌خواهد به سیم‌کارت شما دسترسی پیدا کند. درصورتی‌که به دسترسی به سیم‌کارت اجازه دهید، اتصال داده در مدت اتصال در دستگاه شما غیرفعال می‌شود. به <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> اجازه دسترسی دهید"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"به‌عنوان «<xliff:g id="DEVICE_NAME">^1</xliff:g>» برای دستگاه‌های دیگر قابل مشاهده است"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"دستگاه‌های شما"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"مرتبط‌سازی دستگاه جدید"</string>
     <string name="date_and_time" msgid="9062980487860757694">"تاریخ و زمان"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"ترتیب صعودی، نزولی یا تکراری ارقام مجاز نیست"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"تأیید"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"لغو"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"پاک کردن"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"لغو"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"بعدی"</string>
     <string name="lock_setup" msgid="3355847066343753943">"راه‌اندازی کامل شد."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"بازنشانی؟"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"بازنشانی شبکه برای این کاربر در دسترس نیست"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"تنظیمات شبکه بازنشانی شد"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"پاک کردن همه داده‌ها (بازنشانی کارخانه‌ای)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"‏با این کار همه داده‌های "<b>"حافظهٔ داخلی"</b>" رایانهٔ لوحی شما پاک می‌شود، از جمله:\n\n"<li>"حساب Google شما"<li>\n</li>"داده‌ها و تنظیمات برنامه و سیستم"<li>\n</li>"برنامه‌های بارگیری شده"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"‏با این کار همه داده‌های "<b>"حافظه داخلی"</b>" گوشی شما پاک می‌شود، از جمله:\n\n"<li>"حساب Google شما"</li>\n<li>"تنیمات و داده‌های برنامه و سیستم"</li>\n<li>"برنامه‌های بارگیری شده"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"شما در حال حاضر به حساب‌های زیر وارد شده‌اید:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"بدون‌صدا"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"پخش صدا"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"پخش صدا و صفحه بازشو"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"کم"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"متوسط"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"زیاد"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"هشدار داده"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"تنظیم محدودیت داده"</string>
     <string name="data_limit" msgid="1885406964934590552">"محدودیت داده"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> در <xliff:g id="ID_2">%2$s</xliff:g> مصرف شد"</string>
     <string name="configure" msgid="1029654422228677273">"پیکربندی"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"برنامه‌های دیگری که در استفاده گنجانده شده"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 7a6697e..2ba4345 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s haluaa käyttää viestejäsi. Myönnetäänkö käyttöoikeus kohteeseen %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIM-kortin käyttöoikeuspyyntö"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> haluaa käyttää SIM-korttiasi. SIM-kortin käyttöoikeuden myöntäminen poistaa laitteesi datayhteyden käytöstä yhteyden ajaksi. Myönnä käyttöoikeus laitteelle <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>?"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Muille laitteille näkyvä nimi: <xliff:g id="DEVICE_NAME">^1</xliff:g>"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Omat laitteet"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Muodosta laitepari uuden laitteen kanssa"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Päivämäärä ja aika"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Nousevat, laskevat tai toistuvat numerosarjat on kielletty."</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Peruuta"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Tyhjennä"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Peruuta"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Seuraava"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Asennus on valmis."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Nollataanko?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Tämä käyttäjä ei voi palauttaa verkon asetuksia."</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Verkkoasetuksesi on nollattu."</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Poista kaikki tiedot (palauta tehdasasetukset)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Tämä poistaa kaikki tablet-laitteesi "<b>"sisäisen tallennustilan"</b>" tiedot, kuten:\n\n"<li>"Google-tilisi"</li>\n<li>"Järjestelmä- ja sovellustiedot ja -asetukset"</li>\n<li>"Ladatut sovellukset"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Tämä poistaa kaikki puhelimesi "<b>"sisäisen tallennustilan"</b>" tiedot, kuten:\n\n"<li>"Google-tilisi"</li>\n<li>"Järjestelmä- ja sovellustiedot ja -asetukset"</li>\n<li>"Ladatut sovellukset"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Olet kirjautunut sisään seuraaviin tileihin:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Ei ääntä"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Ääni"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Ääni, ilmoitus näkyy näytöllä"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Matala"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Keskitaso"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Korkea"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Datavaroitus"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Aseta tiedonsiirtoraja"</string>
     <string name="data_limit" msgid="1885406964934590552">"Datankäyttöraja"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> käytetty <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Määritä"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Muut datan käyttöön laskettavat sovellukset"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index eb8b520..de4271d 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s souhaite accéder à vos messages. Autoriser l\'accès à %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Demande d\'accès à la carte SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> souhaite accéder à votre carte SIM. Le fait d\'accorder l\'accès à la carte SIM désactive la connectivité de données sur votre appareil pendant la durée de la connexion. Accorder l\'accès à <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>."</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Visible comme « <xliff:g id="DEVICE_NAME">^1</xliff:g> » aux autres appareils"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Vos appareils"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Associer un nouvel appareil"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Date et heure"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Les suites croissantes, décroissantes ou répétitives de chiffres ne sont pas autorisées"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Annuler"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Effacer"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Annuler"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Suivant"</string>
     <string name="lock_setup" msgid="3355847066343753943">"La configuration est terminée."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Réinitialiser?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"La réinitialisation du réseau n\'est pas disponible pour cet utilisateur."</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Les paramètres réseau ont été réinitialisés"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Effacer toutes les données (réinitialisation d\'usine)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Cette action effacera toutes les données de la "<b>"mémoire de stockage interne"</b>" de votre tablette, y compris :\n\n"<li>"Votre compte Google"</li>\n<li>"Les données et paramètres du système et de l\'application"</li>\n<li>"Les applications téléchargées"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Cette action effacera toutes les données du "<b>"stockage interne"</b>" de votre téléphone, y compris :\n\n"<li>"Votre compte Google"</li>\n<li>"Les données et paramètres du système et de l\'application"</li>\n<li>"Les applications téléchargées"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Vous êtes actuellement connecté aux comptes suivants :\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Aucun son"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Émettre un son"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Émettre un son et s\'afficher à l\'écran"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Faible"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Moyenne"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Élevée"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Avertissement consomm. données"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Définir limite consomm. données"</string>
     <string name="data_limit" msgid="1885406964934590552">"Limite de données"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> utilisé du <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Configurer"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Autres applications incluses dans l\'utilisation"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 3bba622..286fad1 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"Une demande d\'accès à vos messages a été envoyée pour \"%1$s\". Accorder l\'accès à \"%2$s\" ?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Demande d\'accès à la carte SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"\"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>\" requiert l\'accès à votre carte SIM. Si vous l\'accordez, la connectivité des données sera désactivée sur votre appareil pour toute la durée de la connexion. Accorder l\'autorisation d\'accès à \"<xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>\""</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Visible avec le nom \"<xliff:g id="DEVICE_NAME">^1</xliff:g>\" pour les autres appareils"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Vos appareils"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Associer un nouvel appareil"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Date et heure"</string>
@@ -589,12 +588,11 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Les suites de chiffres croissantes, décroissantes ou répétitives ne sont pas autorisées"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Annuler"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Effacer"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Annuler"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Suivant"</string>
     <string name="lock_setup" msgid="3355847066343753943">"La configuration est terminée."</string>
-    <string name="manage_device_admin" msgid="537804979483211453">"Applications d\'administration d\'appareils"</string>
+    <string name="manage_device_admin" msgid="537804979483211453">"Applis d\'administration des appareils"</string>
     <string name="number_of_device_admins_none" msgid="7185056721919496069">"Aucune application active"</string>
     <plurals name="number_of_device_admins" formatted="false" msgid="3361891840111523393">
       <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> application active</item>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Réinitialiser ?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"La réinitialisation du réseau n\'est pas disponible pour cet utilisateur."</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Les paramètres des réseaux ont bien été réinitialisés."</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Effacer toutes les données (rétablir la configuration d\'usine)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Cette action effacera toutes les données de la "<b>"mémoire de stockage interne"</b>" de votre tablette, y compris :\n\n"<li>"Votre compte Google"</li>\n<li>"Les données et paramètres du système et des applications"</li>\n<li>"Les applications téléchargées"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Cette action effacera toutes les données du "<b>"stockage interne"</b>" de votre téléphone, y compris :\n\n"<li>"Votre compte Google"</li>\n<li>"Les données et paramètres du système et des applications"</li>\n<li>"Les applications téléchargées"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Vous êtes actuellement connecté aux comptes suivants :\n"</string>
@@ -2648,10 +2645,10 @@
     <string name="support_summary" msgid="2705726826263742491">"Articles d\'aide, téléphone et chat, premiers pas"</string>
     <string name="user_account_title" msgid="1127193807312271167">"Compte pour contenu"</string>
     <string name="user_picture_title" msgid="7297782792000291692">"ID de photo"</string>
-    <string name="extreme_threats_title" msgid="6549541803542968699">"Menaces graves"</string>
-    <string name="extreme_threats_summary" msgid="8777860706500920667">"Recevoir alertes menaces graces pours les biens et personnes"</string>
-    <string name="severe_threats_title" msgid="8362676353803170963">"Menaces sévères"</string>
-    <string name="severe_threats_summary" msgid="8848126509420177320">"Recevoir alertes pour menaces sévères aux biens et personnes"</string>
+    <string name="extreme_threats_title" msgid="6549541803542968699">"Menaces extrêmes"</string>
+    <string name="extreme_threats_summary" msgid="8777860706500920667">"Recevoir alertes menaces extrêmes biens et personnes"</string>
+    <string name="severe_threats_title" msgid="8362676353803170963">"Menaces graves"</string>
+    <string name="severe_threats_summary" msgid="8848126509420177320">"Recevoir alertes pour menaces graves biens et personnes"</string>
     <string name="amber_alerts_title" msgid="2772220337031146529">"Alertes Enlèvement"</string>
     <string name="amber_alerts_summary" msgid="4312984614037904489">"Recevoir les bulletins relatifs aux enlèvements d\'enfants"</string>
     <string name="repeat_title" msgid="6473587828597786996">"Répéter"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Pas de signal sonore"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Alerte sonore"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Alerte sonore et affichage à l\'écran"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Faible"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Moyenne"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Élevée"</string>
@@ -3153,9 +3152,9 @@
     <string name="assistant_security_warning_agree" msgid="7710290206928033908">"Accepter"</string>
     <string name="assistant_security_warning_disagree" msgid="877419950830205913">"Refuser"</string>
     <string name="choose_voice_input_title" msgid="975471367067718019">"Sélectionner la saisie vocale"</string>
-    <string name="default_browser_title" msgid="8101772675085814670">"Application de navigateur"</string>
+    <string name="default_browser_title" msgid="8101772675085814670">"Navigateur"</string>
     <string name="default_browser_title_none" msgid="2124785489953628553">"Aucun navigateur par défaut"</string>
-    <string name="default_phone_title" msgid="282005908059637350">"Application  de téléphone"</string>
+    <string name="default_phone_title" msgid="282005908059637350">"Application de téléphone"</string>
     <string name="default_app" msgid="6864503001385843060">"(Par défaut)"</string>
     <string name="system_app" msgid="9068313769550747372">"(Système)"</string>
     <string name="system_default_app" msgid="3091113402349739037">"(Paramètres par défaut)"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Seuil d\'avertissement"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Définir une limite"</string>
     <string name="data_limit" msgid="1885406964934590552">"Limite de données"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_2">%2$s</xliff:g> utilisés <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Configurer"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Autres applications incluses dans la consommation"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
@@ -3579,7 +3577,7 @@
     <string name="ambient_display_pickup_summary" product="tablet" msgid="5435283849947236648">"Pour afficher l\'heure, les icônes de notification et d\'autres informations, soulevez votre tablette."</string>
     <string name="ambient_display_pickup_summary" product="device" msgid="8256669101643381568">"Pour afficher l\'heure, les icônes de notification et d\'autres informations, soulevez votre appareil."</string>
     <string name="ambient_display_pickup_suggestion_summary" msgid="7014700589991761035">"Consulter les notifications lorsque l\'écran est éteint"</string>
-    <string name="fingerprint_swipe_for_notifications_title" msgid="5816346492253270243">"Utilisation du lecteur d\'empreinte pour voir les notifications"</string>
+    <string name="fingerprint_swipe_for_notifications_title" msgid="5816346492253270243">"Utiliser le lecteur d\'empreinte pour afficher les notifications"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="1770661868393713922">"Pour consulter vos notifications, passez votre doigt de haut en bas sur le lecteur d\'empreinte digitale à l\'arrière du téléphone."</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="tablet" msgid="902719947767712895">"Pour consulter vos notifications, passez votre doigt de haut en bas sur le lecteur d\'empreinte digitale à l\'arrière de la tablette."</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="device" msgid="5372926094116306647">"Pour consulter vos notifications, passez votre doigt de haut en bas sur le lecteur d\'empreinte digitale à l\'arrière de l\'appareil."</string>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 502156b..06796a8 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s quere acceder ás túas mensaxes. Queres conceder acceso a %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Solicitude de acceso á SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> quere acceder á túa tarxeta SIM. Ao outorgar acceso á tarxeta SIM desactivarase a conectividade de datos no teu dispositivo durante a conexión. Outorgar acceso a <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Visible como \"<xliff:g id="DEVICE_NAME">^1</xliff:g>\" nos demais dispositivos"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Os teus dispositivos"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Sincronizar dispositivo novo"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Data e hora"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Non se permite unha secuencia de díxitos ascendente, descendente nin repetida"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"Aceptar"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Cancelar"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Borrar"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Cancelar"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Seguinte"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Configuración completada"</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Restablecer?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"O restablecemento de rede non está dispoñible para este usuario"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Restableceuse a configuración da rede"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Borrar todos os datos (restablecemento de fábrica)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Esta acción borrará todos os datos do "<b>"almacenamento interno"</b>" da túa tableta, como:\n\n"<li>"A túa conta de Google"</li>\n<li>"Os datos e a configuracións do sistema e das aplicacións"</li>\n<li>"Aplicacións descargadas"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Esta acción borrará todos os datos do "<b>"almacenamento interno"</b>" do teléfono, como:\n\n"<li>"A túa conta de Google"</li>\n<li>"Datos e configuración do sistema e das aplicacións"</li>\n<li>"Aplicacións descargadas"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Actualmente tes sesión iniciada nas seguintes contas:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Ningún son"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Emitir son"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Emitir son e aparecer na pantalla"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Baixa"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Media"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Alta"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Aviso de datos"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Definir límite de datos"</string>
     <string name="data_limit" msgid="1885406964934590552">"Límite de datos"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"Datos utilizados: <xliff:g id="ID_1">%1$s</xliff:g> (<xliff:g id="ID_2">%2$s</xliff:g>)"</string>
     <string name="configure" msgid="1029654422228677273">"Configurar"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Outras aplicacións incluídas no uso"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 5fbf19d..06256ff 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s તમારા સંદેશા અ‍ૅક્સેસ કરવા માંગે છે. %2$s ને અ‍ૅક્સેસ આપીએ?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIM ઍક્સેસ વિનંતી"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> તમારા SIM કાર્ડને અ‍ૅક્સેસ કરવા માગે છે. SIM કાર્ડની અ‍ૅક્સેસને મંજૂરી આપવું કનેક્શનના સમયગાળા માટે તમારા ઉપકરણ પર ડેટા કનેક્ટિવિટીને અક્ષમ કરશે. <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> ને અ‍ૅક્સેસ આપો"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"તે અન્ય ઉપકરણોને \'<xliff:g id="DEVICE_NAME">^1</xliff:g>\' તરીકે દેખાય છે"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"તમારા ઉપકરણો"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"નવા ઉપકરણની જોડી કરો"</string>
     <string name="date_and_time" msgid="9062980487860757694">"તારીખ અને સમય"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"અંકોના ચઢતા ક્રમની, ઉતરતા ક્રમની અથવા પુનરાવર્તિત અનુક્રમની મંજૂરી નથી"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"ઓકે"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"રદ કરો"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"સાફ કરો"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"રદ કરો"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"આગલું"</string>
     <string name="lock_setup" msgid="3355847066343753943">"સેટ પૂર્ણ થયું."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"ફરીથી સેટ કરીએ?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"આ વપરાશકર્તા માટે નેટવર્ક ફરીથી સેટ કરો ઉપલબ્ધ નથી"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"નેટવર્ક સેટિંગ્સ ફરીથી સેટ કરવામાં આવી છે"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"બધો ડેટા ભૂંસી નાખો (ફેક્ટરી રીસેટ)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"આ તમારા ટેબ્લેટનાં "<b>"આંતરિક સંગ્રહ"</b>"માંથી તમામ ડેટા કાઢી નાંખશે, જેમાં આનો સમાવેશ થાય છે:\n\n"<li>"તમારું Google એકાઉન્ટ"</li>\n<li>"સિસ્ટમ અને ઍપ્લિકેશન ડેટા અને સેટિંગ્સ"</li>\n<li>"ડાઉનલોડ કરેલ ઍપ્લિકેશનો"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"આ તમારા ફોનનાં "<b>"આંતરિક સંગ્રહ"</b>"માંથી તમામ ડેટા કાઢી નાંખશે, જેમાં આનો સમાવેશ થાય છે:\n\n"<li>"તમારું Google એકાઉન્ટ"</li>\n<li>"સિસ્ટમ અને ઍપ્લિકેશન ડેટા અને સેટિંગ્સ"</li>\n<li>"ડાઉનલોડ કરેલ ઍપ્લિકેશનો"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"તમે હાલમાં નીચેના એકાઉન્ટ્સમાં સાઇન ઇન થયેલાં છો:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"કોઈ ધ્વનિ નથી"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"અવાજ કરો"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"અવાજ કરો અને સ્ક્રીન પર બતાવો"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"નિમ્ન"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"મધ્યમ"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"ઉચ્ચ"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"ડેટા ચેતવણી"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"ડેટા મર્યાદા સેટ કરો"</string>
     <string name="data_limit" msgid="1885406964934590552">"ડેટા મર્યાદા"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_2">%2$s</xliff:g> ના રોજ <xliff:g id="ID_1">%1$s</xliff:g>નો ઉપયોગ કર્યો"</string>
     <string name="configure" msgid="1029654422228677273">"ગોઠવો"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"વપરાશમાં અન્ય ઍપ્લિકેશનોનો સમાવેશ થાય છે"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 1bb2043..c8c17b9 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s आपके संदेशों को एक्सेस करना चाहता है. %2$s पर एक्सेस दें?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIM ऐक्सेस के लिए अनुरोध"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> आपके SIM कार्ड को ऐक्सेस करना चाहता है. SIM कार्ड की ऐक्सेस देने से कनेक्शन की अवधि तक आपके डिवाइस पर डेटा कनेक्टिविटी अक्षम हो जाएगी. <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> को ऐक्सेस दें"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"दूसरे डिवाइस को \'<xliff:g id="DEVICE_NAME">^1</xliff:g>\' के रूप में दिखाई देता है"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"आपके डिवाइस"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"नया डिवाइस युग्मित करें"</string>
     <string name="date_and_time" msgid="9062980487860757694">"दिनांक और समय"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"अंकों के बढ़ते, घटते या दोहराए जाने वाले क्रम की अनुमति नहीं है"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"ठीक है"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"अभी नहीं"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"साफ़ करें"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"अभी नहीं"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"आगे"</string>
     <string name="lock_setup" msgid="3355847066343753943">"सेटअप पूरा हुआ."</string>
@@ -1341,14 +1339,13 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"रीसेट करें?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"इस उपयोगकर्ता के लिए नेटवर्क रीसेट उपलब्ध नहीं है"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"नेटवर्क सेटिंग रीसेट कर दी गई हैं"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"सभी डेटा मिटाएं (फ़ैक्टरी रीसेट)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"इससे आपके टेबलेट के "<b>"मोबाइल मेमोरी"</b>" से सभी डेटा मिट जाएगा, जिसमें शामिल है:\n\n"<li>"आपका Google खाता"</li>\n<li>"सिस्‍टम और ऐप्स डेटा और सेटिंग"</li>\n<li>"डाउनलोड किए गए ऐप्स"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"इससे आपके फ़ोन के "<b>"मोबाइल मेमोरी"</b>" से सभी डेटा मिट जाएगा, जिसमें शामिल है:\n\n"<li>"आपका Google खाता"</li>\n<li>"सिस्‍टम और ऐप्स डेटा और सेटिंग"</li>\n<li>"डाउनलोड किए गए ऐप्स"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"आप वर्तमान में निम्‍न खातों में प्रवेश किए हुए हैं:\n"</string>
     <string name="master_clear_other_users_present" product="default" msgid="5161423070702470742">\n\n"इस डिवाइस पर अन्‍य उपयोगकर्ता मौजूद हैं.\n"</string>
     <string name="master_clear_desc_also_erases_external" msgid="1903185203791274237"><li>"संगीत"</li>\n<li>"फ़ोटो"</li>\n<li>"अन्‍य उपयोगकर्ता डेटा"</li></string>
-    <string name="master_clear_desc_also_erases_esim" msgid="312352697653096008"><li>"eSIM पर मौजूद वाहक"</li></string>
+    <string name="master_clear_desc_also_erases_esim" msgid="312352697653096008"><li>"eSIM पर मौजूद मोबाइल और इंटरनेट सेवा देने वाली कंपनियां"</li></string>
     <string name="master_clear_desc_no_cancel_mobile_plan" msgid="5460926449093211144">\n\n"इससे आपकी मोबाइल सेवा योजना बंद नहीं होगी."</string>
     <string name="master_clear_desc_erase_external_storage" product="nosdcard" msgid="7744115866662613411">\n\n"संगीत, चित्र और अन्‍य उपयोगकर्ता डेटा साफ़ करने के लिए "<b>" USB मेमोरी"</b>" मिटाना होगा."</string>
     <string name="master_clear_desc_erase_external_storage" product="default" msgid="4801026652617377093">\n\n"संगीत, चित्र और अन्‍य उपयोगकर्ता डेटा साफ़ करने के लिए "<b>"SD कार्ड"</b>" को साफ़ करना होगा."</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"कोई ध्वनि नहीं"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"ध्वनि करें"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"ध्वनि करें और स्क्रीन पर दिखाएं"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"कम"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"मध्यम"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"उच्च"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"डेटा चेतावनी"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"डेटा की सीमा सेट करें"</string>
     <string name="data_limit" msgid="1885406964934590552">"डेटा सीमा"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_2">%2$s</xliff:g> तक <xliff:g id="ID_1">%1$s</xliff:g> का उपयोग किया गया"</string>
     <string name="configure" msgid="1029654422228677273">"कॉन्फ़िगर करें"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"उपयोग में शामिल अन्य ऐप्लिकेशन"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index b6f35f7..58f8686 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -167,8 +167,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s želi pristupiti vašim porukama. Želite li dati pristup korisniku %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Zahtjev za pristup SIM-u"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> želi pristupiti SIM kartici. Dopuštanjem pristupa SIM kartici onemogućit će se podatkovna veza na uređaju za vrijeme povezanosti. Dopustite pristup uređaju <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Drugim uređajima vidljiv kao \"<xliff:g id="DEVICE_NAME">^1</xliff:g>\""</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Vaši uređaji"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Uparivanje novog uređaja"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Datum i vrijeme"</string>
@@ -598,8 +597,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Uzastopno rastući ili padajući slijed brojeva ili ponavljanje brojeva nije dopušteno"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"U redu"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Odustani"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Izbriši"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Odustani"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Dalje"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Postavljanje je završeno."</string>
@@ -1354,8 +1352,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Poništiti?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Vraćanje mreže na zadano nije dostupno za ovog korisnika"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Postavke mreže vraćene su na zadano."</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Izbriši sve podatke (vraćanje na tvorničke postavke)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"To će izbrisati sve podatke s "<b>"unutarnje pohrane"</b>" tabletnog računala, uključujući:\n\n"<li>"vaš Google račun"</li>\n<li>"podatke i postavke sustava i aplikacija"</li>\n<li>"preuzete aplikacije"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"To će izbrisati sve podatke s "<b>"unutarnje pohrane"</b>" telefona, uključujući:\n\n"<li>"vaš Google račun"</li>\n<li>"podatke i postavke sustava i aplikacija"</li>\n<li>"preuzete aplikacije"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Trenutačno ste prijavljeni na sljedeće račune:\n"</string>
@@ -2913,6 +2910,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Bez zvuka"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Reproduciraj zvuk"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Reproduciraj zvuk i prikaži na zaslonu"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Niska"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Srednja"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Visoka"</string>
@@ -3458,8 +3457,7 @@
     <string name="data_warning" msgid="209133958008062117">"Upozorenje o podacima"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Postavi ograničenje podataka"</string>
     <string name="data_limit" msgid="1885406964934590552">"Ograničenje podataka"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> iskorišteno <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Konfiguriraj"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Ostale aplikacije uključene u upotrebu"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index b00ce43..438e27a 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"A(z) %1$s hozzáférést kér üzeneteihez. Biztosítja a(z) %2$s számára a hozzáférést?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIM-hozzáférési kérelem"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"A következő eszköz szeretne hozzáférni az Ön SIM kártyájához: <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>. A hozzáférés megadásával letiltja eszközén az adatkapcsolatot a csatlakozás idejére. Hozzáférés megadása a következőnek: <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"A többi eszköz számára „<xliff:g id="DEVICE_NAME">^1</xliff:g>” néven jelenik meg"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Eszközei"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Új eszköz párosítása"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Dátum és idő"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Növekvő, csökkenő vagy ismétlődő számsor megadása nem engedélyezett"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Mégse"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Törlés"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Mégse"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Tovább"</string>
     <string name="lock_setup" msgid="3355847066343753943">"A beállítás megtörtént."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Visszaállítja?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"A hálózati beállítások visszaállítása nem hajtható végre ennél a felhasználónál"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"A hálózati beállítások vissza lettek állítva."</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Összes adat törlése (gyári beállítások visszaállítása)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Ez minden adatot töröl a táblagép "<b>"belső tárolójáról"</b>", többek között: \n \n"<li>"Google Fiókját"</li>\n<li>"A rendszer- és alkalmazásadatokat és beállításokat"</li>" \n "<li>"A letöltött alkalmazásokat"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Ez minden adatot töröl a telefon "<b>"belső tárolójáról"</b>", többek között: \n \n"<li>"Google-fiókját;"</li>\n<li>"a rendszer- és alkalmazásadatokat és beállításokat;"</li>" \n"<li>"a letöltött alkalmazásokat."</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Jelenleg a következő fiókokba van bejelentkezve:\n"</string>
@@ -2888,6 +2885,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Hang nélkül"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Hangjelzés"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Hangjelzés és felugró értesítés a képernyőn"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Alacsony"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Közepes"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Magas"</string>
@@ -3417,8 +3416,7 @@
     <string name="data_warning" msgid="209133958008062117">"Adatforgalmi figyelmeztetés"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Adatkorlát beállítása"</string>
     <string name="data_limit" msgid="1885406964934590552">"Adatforgalmi korlátozás"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> felhasználva (<xliff:g id="ID_2">%2$s</xliff:g>)"</string>
     <string name="configure" msgid="1029654422228677273">"Beállítás"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Adathasználat – egyéb alkalmazások"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 4e36667..3d64a0b 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s-ը ցանկանում է մատչել ձեր հաղորդագրությունները: Մուտք տա՞լ %2$s-ին:"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIM քարտից օգտվելու հարցում"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> սարքը ցանկանում է օգտվել ձեր SIM քարտի տվյալներից: Եթե թույլ տաք օգտվել SIM քարտից, տվյալների կապակցելիությունը կանջատվի սարքի վրա կապակցման ընթացքում: Թույլատրել <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> սարքին"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Այլ սարքերին տեսանելի է որպես «<xliff:g id="DEVICE_NAME">^1</xliff:g>»"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Ձեր սարքերը"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Նոր սարքի զուգակցում"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Ամսաթիվ և ժամ"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Թվանշանների աճող, նվազող կամ կրկնվող հաջորդականությունն արգելված է"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"Հաստատել"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Չեղարկել"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Մաքրել"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Չեղարկել"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Հաջորդը"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Կարգավորումները տրված են:"</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Վերակայե՞լ:"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Ցանցի վերակայումը հասանելի չէ այս օգտատիրոջ"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Ցանցի կարգավորումները վերակայվել են"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Ջնջել բոլոր տվյալները (գործարանային վերակայում)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Սա կջնջի բոլոր տվյալները ձեր պլանշետի "<b>" ներքին պահոցից"</b>", այդ թվում՝\n\n"<li>"Ձեր Google հաշիվը"</li>\n<li>"Համակարգի և հավելվածների տվյալներն ու կարգավորումները"</li>\n<li>"Ներբեռնված հավելվածները"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Կջնջվեն բոլոր տվյալները ձեր սարքի "<b>"ներքին հիշողությունից"</b>", ներառյալ`\n\n"<li>"ձեր Google հաշիվը"</li>\n<li>"համակարգի և հավելվածների տվյալներն ու կարգավորումները"</li>\n<li>"ներբեռնված հավելվածները"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Հաշիվներն այս սարքում՝\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Առանց ձայնի"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Ձայն հանել"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Ձայն հանել և ցուցադրել էկրանին"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Ցածր"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Միջին"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Բարձր"</string>
@@ -3230,7 +3229,7 @@
     <string name="background_check_title" msgid="4534254315824525593">"Լիակատար ֆոնային մուտք"</string>
     <string name="assist_access_context_title" msgid="2269032346698890257">"Օգտվել էկրանի տեքստային բովանդակությունից"</string>
     <string name="assist_access_context_summary" msgid="1991421283142279560">"Թույլ տալ օգնական հավելվածին օգտվել էկրանի տեքստային բովանդակությունից"</string>
-    <string name="assist_access_screenshot_title" msgid="4034721336291215819">"Օգտագործել էկրանի հանույթը"</string>
+    <string name="assist_access_screenshot_title" msgid="4034721336291215819">"Օգտագործել էկրանի պատկերը"</string>
     <string name="assist_access_screenshot_summary" msgid="6761636689013259901">"Թույլ տալ օգնական հավելվածին օգտվել էկրանի պատկերներից"</string>
     <string name="assist_flash_title" msgid="506661221230034891">"Էկրանի թարթում"</string>
     <string name="assist_flash_summary" msgid="9160668468824099262">"Երբ օգնական հավելվածը բացում է տեքստը Էկրանից կամ էկրանի պատկերից, էկրանի եզրագծերը թարթում են"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Նախազգուշացում"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Սահմանել թրաֆիկի սահմանաչափը"</string>
     <string name="data_limit" msgid="1885406964934590552">"Թրաֆիկի սահմանաչափը"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> օգտագործված <xliff:g id="ID_2">%2$s</xliff:g> ժամանակահատվածում"</string>
     <string name="configure" msgid="1029654422228677273">"Կարգավորել"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Օգտագործման մեջ ներառված այլ հավելվածներ"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 3485eaa..d81c1f8 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s ingin mengakses pesan Anda. Berikan akses pada %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Permintaan akses SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> ingin mengakses kartu SIM. Memberi akses ke kartu SIM akan menonaktifkan konektivitas data di perangkat selama tersambung. Berikan akses ke <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Terlihat sebagai “<xliff:g id="DEVICE_NAME">^1</xliff:g>” oleh perangkat lain"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Perangkat Anda"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Sambungkan perangkat baru"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Tanggal &amp; waktu"</string>
@@ -469,7 +468,7 @@
     <string name="unlock_set_unlock_launch_picker_summary_lock_immediately" msgid="5967714169972542586">"<xliff:g id="UNLOCK_METHOD">%1$s</xliff:g> / Langsung setelah tidur"</string>
     <string name="unlock_set_unlock_launch_picker_summary_lock_after_timeout" msgid="4696710373399258413">"<xliff:g id="UNLOCK_METHOD">%1$s</xliff:g> / <xliff:g id="TIMEOUT_STRING">%2$s</xliff:g> setelah tidur"</string>
     <string name="unlock_set_unlock_launch_picker_title_profile" msgid="124176557311393483">"Kunci profil kerja"</string>
-    <string name="unlock_set_unlock_launch_picker_change_title" msgid="5045866882028324941">"Ubah layar gembok"</string>
+    <string name="unlock_set_unlock_launch_picker_change_title" msgid="5045866882028324941">"Ubah layar kunci"</string>
     <string name="unlock_set_unlock_launch_picker_change_summary" msgid="2790960639554590668">"Ubah atau nonaktifkan pola, PIN, atau sandi keamanan"</string>
     <string name="unlock_set_unlock_launch_picker_enable_summary" msgid="4791110798817242301">"Pilih metode untuk mengunci layar"</string>
     <string name="unlock_set_unlock_off_title" msgid="7117155352183088342">"Tidak ada"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Urutan digit naik, turun, atau berulang tidak diizinkan"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"Oke"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Batal"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Hapus"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Batal"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Selanjutnya"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Penyiapan selesai."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Setel ulang?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Setel ulang jaringan tidak tersedia untuk pengguna ini"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Setelan jaringan telah disetel ulang"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Hapus semua data (kembali ke setelan pabrik)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Ini akan menghapus semua data dari "<b>"penyimpanan internal"</b>" tablet Anda, termasuk:\n\n"<li>"Akun Google Anda"</li>\n<li>"Data sistem dan apl serta setelan"</li>\n<li>"Apl download"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Ini akan menghapus semua data dari "<b>"penyimpanan internal"</b>" ponsel Anda, termasuk:\n\n"<li>"Akun Google Anda"</li>\n<li>"Data sistem dan apl serta setelan"</li>\n<li>"Apl download"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Saat ini Anda telah masuk ke akun berikut ini:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Tanpa suara"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Buat suara"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Buat suara dan munculkan di layar"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Rendah"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Sedang"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Tinggi"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Peringatan data"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Setel batas data"</string>
     <string name="data_limit" msgid="1885406964934590552">"Batas data"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> digunakan <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Konfigurasi"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Aplikasi lain yang disertakan dalam penggunaan"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 687f68d..785a305 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s vill fá aðgang að skilaboðunum þínum. Viltu gefa %2$s aðgang?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Beiðni um aðgang að SIM-korti"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> vill fá aðgang að SIM-kortinu þínu. Ef þú veitir aðgang að SIM-kortinu er slökkt á gagnatengingu tækisins á meðan tengingin varir. Veita <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> aðgang"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Sýnilegt öðrum tækjum sem „<xliff:g id="DEVICE_NAME">^1</xliff:g>“"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Tækin þín"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Para nýtt tæki"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Dagsetning og tími"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Hækkandi, lækkandi eða endurtekin röð tölustafa er óheimil"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"Í lagi"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Hætta við"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Hreinsa"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Hætta við"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Áfram"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Uppsetningu er lokið."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Endurstilla?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Núllstilling nets er ekki í boði fyrir þennan notanda"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Netstillingar voru endurstilltar"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Eyða öllum gögnum (núllstilla)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Þessi aðgerð eyðir öllum gögnum úr "<b>"innbyggðri geymslu"</b>" spjaldtölvunnar, þar á meðal:\n\n"<li>"Google reikningnum þínum"</li>\n<li>"Gögnum og stillingum forrita og kerfis"</li>\n<li>"Forritum sem hafa verið sótt"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Þessi aðgerð eyðir öllum gögnum úr "<b>"innbyggðri geymslu"</b>" símans, þar á meðal:\n\n"<li>"Google reikningnum þínum"</li>\n<li>"Gögnum og stillingum forrita og kerfis"</li>\n<li>"Forritum sem hafa verið sótt"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Þú ert skráð(ur) inn á eftirfarandi reikninga:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Ekkert hljóð"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Spila hljóð"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Spila hljóð og birta sprettitilkynningu"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Lítið"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Í meðallagi"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Mikið"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Gagnaviðvörun"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Velja gagnatakmörk"</string>
     <string name="data_limit" msgid="1885406964934590552">"Gagnamörk"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> notuð <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Stilla"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Önnur forrit talin með í notkun"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 624c5ff..8024882 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s desidera accedere ai tuoi messaggi. Dare accesso a %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Richiesta di accesso alla SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> desidera accedere alla tua scheda SIM. Se consenti l\'accesso, la connettività dati sul dispositivo sarà disattivata per tutta la durata della connessione. Consentire l\'accesso a <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>?"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Visibile come <xliff:g id="DEVICE_NAME">^1</xliff:g> agli altri dispositivi"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"I tuoi dispositivi"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Accoppia nuovo dispositivo"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Data e ora"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Non sono consentite sequenze di cifre in ordine ascendente o discendente oppure ripetute"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Annulla"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Cancella"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Annulla"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Avanti"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Impostazione completata."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Reimpostare?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"La reimpostazione della rete non è disponibile per questo utente"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Le impostazioni di rete sono state reimpostate"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Cancella tutti i dati (ripristino dati fabbrica)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Questa operazione cancellerà tutti i dati dalla "<b>"memoria interna"</b>" del tablet, compresi:\n\n"<li>"Il tuo account Google"</li>\n<li>"Dati e impostazioni del sistema e delle app"</li>\n<li>"App scaricate"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Questa operazione cancellerà tutti i dati dalla "<b>"memoria interna"</b>" del telefono, compresi:\n\n"<li>"Il tuo account Google"</li>\n<li>"Dati e impostazioni del sistema e delle app"</li>\n<li>"App scaricate"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Al momento sei collegato ai seguenti account:\n"</string>
@@ -1541,7 +1538,7 @@
     <string name="install_applications" msgid="4872012136210802181">"Origini sconosciute"</string>
     <string name="install_applications_title" msgid="4987712352256508946">"Consenti tutte le fonti di app"</string>
     <string name="recent_app_category_title" msgid="6673071268966003928">"App aperte di recente"</string>
-    <string name="see_all_apps_title" msgid="1317153498074308438">"Mostra tutte le <xliff:g id="COUNT">%1$d</xliff:g> app"</string>
+    <string name="see_all_apps_title" msgid="1317153498074308438">"Mostra tutte le app (<xliff:g id="COUNT">%1$d</xliff:g>)"</string>
     <string name="recent_app_summary" msgid="3366446669844932300">"<xliff:g id="TIME">^1</xliff:g> fa"</string>
     <string name="install_all_warning" product="tablet" msgid="8310489909586138165">"Il tablet e i dati personali sono più vulnerabili agli attacchi provenienti da app sconosciute. Installando le app provenienti da questa origine, accetti di essere responsabile degli eventuali danni al tablet o della perdita di dati che potrebbero derivare dall\'utilizzo di queste app."</string>
     <string name="install_all_warning" product="default" msgid="1952257127370115988">"Il telefono e i dati personali sono più vulnerabili agli attacchi provenienti da app sconosciute. Installando le app provenienti da questa origine, accetti di essere responsabile degli eventuali danni al telefono o della perdita di dati che potrebbero derivare dall\'utilizzo di queste app."</string>
@@ -1806,7 +1803,7 @@
     <string name="accessibility_settings_summary" msgid="981260486011624939">"Screen reader, display, controlli di interazione"</string>
     <string name="vision_settings_title" msgid="4204111425716868288">"Impostazioni vista"</string>
     <string name="vision_settings_description" msgid="5679491180156408260">"Puoi personalizzare questo dispositivo in base alle tue esigenze. Queste funzioni di accessibilità possono essere modificate in un secondo momento nelle Impostazioni."</string>
-    <string name="vision_settings_suggestion_title" msgid="8058794060304707004">"Cambia le dimensioni del carattere"</string>
+    <string name="vision_settings_suggestion_title" msgid="8058794060304707004">"Cambia dimensioni carattere"</string>
     <string name="screen_reader_category_title" msgid="7739154903913400641">"Screen reader"</string>
     <string name="audio_and_captions_category_title" msgid="3420727114421447524">"Audio e testo su schermo"</string>
     <string name="display_category_title" msgid="685461049938269166">"Visualizzazione"</string>
@@ -2819,7 +2816,7 @@
     <string name="vibrate_when_ringing_title" msgid="3806079144545849032">"Vibrazione per le chiamate"</string>
     <string name="other_sound_settings" msgid="3151004537006844718">"Altri suoni"</string>
     <string name="dial_pad_tones_title" msgid="1999293510400911558">"Toni tastierino"</string>
-    <string name="screen_locking_sounds_title" msgid="1340569241625989837">"Toni di blocco schermo"</string>
+    <string name="screen_locking_sounds_title" msgid="1340569241625989837">"Suoni blocco schermo"</string>
     <string name="charging_sounds_title" msgid="1132272552057504251">"Suoni caricamento"</string>
     <string name="docking_sounds_title" msgid="155236288949940607">"Suoni dock"</string>
     <string name="touch_sounds_title" msgid="5326587106892390176">"Suoni alla pressione"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Senza suoneria"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Con suoneria"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Suoneria e visualizzazione sullo schermo"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Bassa"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Media"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Alta"</string>
@@ -3119,7 +3118,7 @@
     <string name="filter_personal_apps" msgid="3277727374174355971">"Personali"</string>
     <string name="filter_work_apps" msgid="24519936790795574">"Lavoro"</string>
     <string name="filter_notif_all_apps" msgid="2299049859443680242">"App: Tutte"</string>
-    <string name="filter_notif_blocked_apps" msgid="3300375727887991342">"App: Disattivate"</string>
+    <string name="filter_notif_blocked_apps" msgid="3300375727887991342">"App: disattivate"</string>
     <string name="filter_notif_urgent_channels" msgid="3972473613117159653">"Categorie: Importanza urgente"</string>
     <string name="filter_notif_low_channels" msgid="4128487387390004604">"Categorie: Importanza scarsa"</string>
     <string name="filter_notif_blocked_channels" msgid="5880190882221644289">"Categorie: Disattivate"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Avviso sui dati"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Imposta limite dati"</string>
     <string name="data_limit" msgid="1885406964934590552">"Limite dati"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> utilizzati nell\'intervallo <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Configura"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Altre app incluse nell\'utilizzo"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 7adb857..fdfdcde 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -168,8 +168,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"‏%1$s רוצה לגשת להודעות שלך. להעניק גישה ל-%2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"‏בקשת גישה אל כרטיס SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"‏<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> רוצה לגשת אל כרטיס ה-SIM. הענקת גישה אל כרטיס ה-SIM תשבית את קישוריות הנתונים במכשיר לכל משך החיבור. הענק גישה ל-<xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"משתמשים אחרים יכולים לראות את המכשיר שלך בתור \'<xliff:g id="DEVICE_NAME">^1</xliff:g>\'"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"המכשירים שלך"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"התאמה של מכשיר חדש"</string>
     <string name="date_and_time" msgid="9062980487860757694">"תאריך ושעה"</string>
@@ -607,8 +606,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"אין להגדיר רצף ספרות עולה, יורד או חוזר"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"אישור"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"ביטול"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"נקה"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"ביטול"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"הבא"</string>
     <string name="lock_setup" msgid="3355847066343753943">"ההגדרה הושלמה."</string>
@@ -968,8 +966,7 @@
     <string name="wifi_calling_off_explanation" msgid="2597566001655908391">"‏כשהתקשרות Wi-Fi פועלת, הטלפון יכול לנתב שיחות ברשתות Wi-Fi או ברשת של הספק, בהתאם להעדפה שלך ולאות שחזק יותר. לפני הפעלת תכונה זו, בדוק עם הספק פרטים הקשורים לעמלות ופרטים אחרים."</string>
     <string name="wifi_calling_off_explanation_2" msgid="2329334487851497223"></string>
     <string name="emergency_address_title" msgid="3571902448699714454">"עדכן כתובת למקרה חירום"</string>
-    <!-- no translation found for emergency_address_summary (3266760199681945746) -->
-    <skip />
+    <string name="emergency_address_summary" msgid="3266760199681945746">"‏הכתובת ששירותי החירום ישתמשו בה כדי להגיע אליך, אם תתקשר למוקד החירום באמצעות רשת Wi-Fi"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"תצוגה"</string>
     <string name="sound_settings" msgid="5534671337768745343">"צלילים"</string>
     <string name="all_volume_title" msgid="4296957391257836961">"עוצמות קול"</string>
@@ -1368,8 +1365,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"האם לאפס?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"המשתמש הזה לא יכול לאפס את הגדרות הרשת"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"הגדרות הרשת אופסו"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"מחק את כל הנתונים (איפוס להגדרות היצרן)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"‏פעולה זו תמחק את כל הנתונים מ"<b>"האחסון הפנימי"</b>" של הטאבלט שלך, כולל:\n\n"<li>"חשבון Google שלך"</li>\n<li>"הנתונים וההגדרות של המערכת והאפליקציות שלך"</li>\n<li>"האפליקציות שהורדת"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"‏פעולה זו תמחק את כל הנתונים מ"<b>"האחסון הפנימי"</b>" של הטלפון שלך, כולל:\n\n"<li>"חשבון Google שלך"</li>\n<li>"הנתונים וההגדרות של המערכת והאפליקציות שלך"</li>\n<li>"האפליקציות שהורדת"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"אתה מחובר כעת לחשבונות הבאים:\n"</string>
@@ -2943,6 +2939,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"ללא צליל"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"השמע צליל"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"השמע צליל והצג במסך"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"נמוכה"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"בינונית"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"גבוהה"</string>
@@ -3504,8 +3502,7 @@
     <string name="data_warning" msgid="209133958008062117">"אזהרה לגבי שימוש בנתונים"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"הגדרה של הגבלת נתונים"</string>
     <string name="data_limit" msgid="1885406964934590552">"מגבלת נתונים"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"השתמשת ב-<xliff:g id="ID_1">%1$s</xliff:g> בתאריכים <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"הגדר"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"אפליקציות אחרות שנכללות בנתוני השימוש"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index a2f73ea..7ca8d8b 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$sがメッセージにアクセスしようとしています。%2$sにアクセスを許可しますか？"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIMアクセスリクエスト"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>がSIMカードにアクセスしようとしています。SIMカードへのアクセスを許可すると、接続を処理している間、端末上のデータ接続は無効になります。<xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>にアクセスを許可します"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"他の端末には「<xliff:g id="DEVICE_NAME">^1</xliff:g>」として表示されます"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"端末"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"新しいデバイスとペア設定"</string>
     <string name="date_and_time" msgid="9062980487860757694">"日付と時刻"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"一連の数字を昇順や降順にしたり、繰り返したりすることはできません"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"キャンセル"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"消去"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"キャンセル"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"次へ"</string>
     <string name="lock_setup" msgid="3355847066343753943">"設定が完了しました。"</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"リセットしますか？"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"ネットワークのリセットはこのユーザーには許可されていません"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"ネットワーク設定をリセットしました"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"すべてのデータを消去（初期状態にリセット）"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"この操作を行うと、タブレットの以下のデータを含む"<b>"内部ストレージ"</b>"の全データが消去されます。\n\n"<li>"Googleアカウント"</li>\n<li>"システムやアプリのデータと設定"</li>\n<li>"ダウンロードしたアプリ"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"この操作を行うと、モバイル端末の以下のデータを含む"<b>"内部ストレージ"</b>"の全データが消去されます。\n\n"<li>"Googleアカウント"</li>\n<li>"システムやアプリのデータと設定"</li>\n<li>"ダウンロードしたアプリ"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"以下のアカウントにログインしています:\n"</string>
@@ -2890,6 +2887,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"音声なし"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"音声で知らせる"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"音声とポップアップで知らせる"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"低"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"中"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"高"</string>
@@ -3419,8 +3418,7 @@
     <string name="data_warning" msgid="209133958008062117">"データ警告"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"データ上限の設定"</string>
     <string name="data_limit" msgid="1885406964934590552">"データ上限"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> 使用（<xliff:g id="ID_2">%2$s</xliff:g>）"</string>
     <string name="configure" msgid="1029654422228677273">"設定"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"データ使用量に含まれている他のアプリ"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 4718929..540c672 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s-ს უნდა თქვენს შეტყობინებებზე წვდომა. მისცემთ %2$s-ს წვდომას?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIM-ზე წვდომის მოთხოვნა"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>-ს სურს თქვენს SIM ბარათზე წვდომა. SIM ბარათზე წვდომის დაშვება კავშირის განმავლობაში გათიშავს მონაცემთა გადაცემას მოწყობილობაზე. <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>-ისთვის წვდომის მიცემა"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"სხვა მოწყობილობებისთვის ჩანს, როგორც „<xliff:g id="DEVICE_NAME">^1</xliff:g>“"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"თქვენი მოწყობილობები"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"ახალი მოწყობილობის დაწყვილება"</string>
     <string name="date_and_time" msgid="9062980487860757694">"თარიღი და დრო"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"ციფრების ზრდადი, კლებადი ან გამეორებადი მიმდევრობის გამოყენება ნებადართული არ არის"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"კარგი"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"გაუქმება"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"გასუფთავება"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"გაუქმება"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"მომდევნო"</string>
     <string name="lock_setup" msgid="3355847066343753943">"დაბლოკვის პარამეტრები დაყენებულია."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"ჩამოვყაროთ პარამეტრები?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"ქსელის გადაყენება ამ მომხმარებლისათვის მიუწვდომელია"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"ქსელის პარამეტრები ჩამოიყარა"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"ყველა მონაცემის ამოშლა (ქარხნული პარამეტრების დაბრუნება)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"ეს მოქმედება წაშლის ყველა მონაცემებს თქვენი ტაბლეტის "<b>"შიდა მეხსიერებიდან"</b>", მათ შორის:\n\n"<li>"თქვენს Google-ის ანგარიშს"</li>\n<li>"სისტემისა და აპების მონაცემებს და პარამეტრებს"</li>\n<li>"ჩამოტვირთულ აპებს"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"ეს მოქმედება წაშლის ყველა მონაცემებს თქვენი ტელეფონის "<b>"შიდა მეხსიერებიდან"</b>", მათ შორის:\n\n"<li>"თქვენს Google-ის ანგარიშს"</li>\n<li>"სისტემისა და აპების მონაცემებს და პარამეტრებს"</li>\n<li>"ჩამოტვირთულ აპებს"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"ამჟამად შესული ხართ შემდეგ ანგარიშებში:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"ხმის გარეშე"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"ხმის გამოცემა"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"ხმის გამოცემა და ეკრანზე გამოჩენა"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"დაბალი"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"საშუალო"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"მაღალი"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"მოხმარების შესახებ გაფრთხილება"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"მონაცემთა ლიმიტის დაყენება"</string>
     <string name="data_limit" msgid="1885406964934590552">"მონაცემთა ლიმიტი"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_2">%2$s</xliff:g>-ის განმავლობაში გამოყენებულია <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"კონფიგურაცია"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"მოხმარების გამოთვლისას გათვალისწინებული სხვა აპები"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index d4639c7..2b40c7a 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s хабарларыңызға кіруді қалайды. %2$s кірсін бе?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIM картасына кіру сұрауы"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> сіздің SIM картаңызға кіруге рұқсат сұрайды. Ондай рұқсатты берсеңіз, байланыс барысында дерек тасымалы өшіріледі. <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> құрылғысына рұқсат беру"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Басқа құрылғыларға «<xliff:g id="DEVICE_NAME">^1</xliff:g>» ретінде көрінеді"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Құрылғыларыңыз"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Жаңа құрылғыны жұптау"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Күн және уақыт"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Сандардың артатын, кемитін немесе қайталанатын ретіне рұқсат берілмейді"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"Жарайды"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Бас тарту"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Тазалау"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Бас тарту"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Келесі"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Орнату аяқталды."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Қалпына келтіру қажет пе?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Бұл пайдаланушы желіні қалпына келтіре алмайды"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Желі параметрлері қалпына келтірілген"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Барлық деректерді өшіру (зауыттық параметрлерді қайтару)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Бұл сіздің планшетіңіздің "<b>"ішкі жадынан"</b>" барлық дерекқорды өшіреді, келесі деректерді қоса:\n\n"<li>"Google есептік жазбаңыз"</li>\n<li>"Жүйе және қолданба дерекқоры және параметрлері"</li>\n<li>"Жүктелген қолданбалар"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Бұл телефонның "<b>"ішкі жадынан"</b>" барлық деректерді өшіреді:\n\n"<li>" Google есептік жазбаңызды"</li>\n<li>"Жүйе және қолданба дерекқоры мен параметрлерін"</li>\n<li>"Жүктелген қолданбаларды"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Сіз келесі есептік жазбаларға кірдіңіз:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Дыбыссыз"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Дыбыстық сигнал беру"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Дыбыстық сигнал беру және экранға шығару"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Төмен"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Орташа"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Жоғары"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Деректер туралы ескерту"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Деректер шегін орнату"</string>
     <string name="data_limit" msgid="1885406964934590552">"Деректер шегі"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> <xliff:g id="ID_2">%2$s</xliff:g> пайдаланды"</string>
     <string name="configure" msgid="1029654422228677273">"Конфигурациялау"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Басқа қолданбалар трафикке қосылды"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index 3e02caf..353323a 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s ចង់​ចូល​ដំណើរការ​សារ​របស់​អ្នក។ សូម​ផ្ដល់​ការ​ចូល​ដំណើរការ​ទៅ​កាន់​%2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"សំណើចូលដំណើរការស៊ីម"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> ចង់ចូលដំណើរការស៊ីមកាតរបស់អ្នក។ ការផ្តល់ការអនុញ្ញាតចូលដំណើរការស៊ីមកាតនឹងបិទដំណើរការតភ្ជាប់ទិន្នន័យនៅលើឧបករណ៍របស់អ្នកក្នុងអំឡុងពេលធ្វើការតភ្ជាប់។ អនុញ្ញាតឲ្យចូលដំណើរការ <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"អាច​មើលឃើញជា <xliff:g id="DEVICE_NAME">^1</xliff:g> ចំពោះ​ឧបករណ៍ផ្សេងទៀត"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"ឧបករណ៍របស់អ្នក"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"ផ្គូផ្គង​ឧបករណ៍ថ្មី"</string>
     <string name="date_and_time" msgid="9062980487860757694">"កាលបរិច្ឆេទ និង ម៉ោង"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"មិន​អនុញ្ញាត​ឲ្យ​មានលំដាប់ឡើង ចុះ ឬច្រំដែលទេ"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"យល់​ព្រម​"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"បោះ​បង់​"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"លុប"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"បោះ​បង់​"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"បន្ទាប់​"</string>
     <string name="lock_setup" msgid="3355847066343753943">"ការ​រៀបចំ​បាន​បញ្ចប់។"</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"កំណត់ឡើងវិញ?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"ការកំណត់បណ្តាញឡើងវិញមិនមានសម្រាប់អ្នកប្រើនេះទេ"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"បានកំណត់ការកំណត់បណ្តាញឡើងវិញ"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"លុបទិន្នន័យទាំងអស់ (កំណត់ឡើងវិញដូចថ្មី)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"វា​នឹង​លុប​ទិន្នន័យ​ពី​ "<b>"ឧបករណ៍​ផ្ទុក​ខាង​ក្នុង"</b>"នៃ​កុំព្យូទ័រ​បន្ទះ​របស់​អ្នក រួម​មាន៖\n\n"<li>"គណនី Google របស់​អ្នក"</li>\n<li>"ការកំណត់ និង​ទិន្នន័យ​កម្មវិធី និង​ប្រព័ន្ធ"</li>\n<li>"កម្មវិធី​បាន​ទាញ​យក"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"វា​នឹង​លុប​ទិន្នន័យ​ទាំងអស់​ពី​ "<b>"ទំហំផ្ទុក​ខាង​ក្នុង"</b>"នៃ​ទូរសព្ទ​របស់​អ្នក​ រួមមាន៖\n\n"<li>"គណនី Google របស់​អ្នក"</li>\n<li>"ការ​កំណត់​ និង​ទិន្នន័យ​ប្រព័ន្ធ ព្រម​ទាំង​កម្មវិធី"</li>\n<li>"កម្មវិធី​បាន​ទាញ​យក"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"បច្ចុប្បន្ន​ អ្នក​បាន​ចូល​គណនី​ដូច​ខាង​ក្រោម៖ \n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"គ្មានសំឡេង"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"បន្លឺ​សំឡេង"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"បន្លឺ​សំឡេង និង​លេច​ឡើង​នៅលើ​អេក្រង់"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"ទាប"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"មធ្យម"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"ខ្ពស់"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"ការព្រមានពីការប្រើទិន្នន័យ"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"កំណត់ដែនកំណត់ទិន្នន័យ"</string>
     <string name="data_limit" msgid="1885406964934590552">"ដែនកំណត់ទិន្នន័យ"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> ត្រូវបានប្រើដោយ <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"កំណត់រចនាសម្ព័ន្ធ"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"កម្មវិធីផ្សេងទៀតដែលរួមបញ្ចូលទៅក្នុងការប្រើប្រាស់"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 067072d..a459218 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -644,7 +644,7 @@
     <string name="bluetooth_preference_no_found_devices" msgid="7594339669961811591">"ಯಾವುದೇ ಸಾಧನಗಳು ಲಭ್ಯವಿಲ್ಲ"</string>
     <string name="bluetooth_device_context_connect" msgid="3997659895003244941">"ಸಂಪರ್ಕಿಸು"</string>
     <string name="bluetooth_device_context_disconnect" msgid="8220072022970148683">"ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸು"</string>
-    <string name="bluetooth_device_context_pair_connect" msgid="7611522504813927727">"ಜೋಡಿಸು &amp; ಸಂಪರ್ಕಪಡಿಸು"</string>
+    <string name="bluetooth_device_context_pair_connect" msgid="7611522504813927727">"ಜೋಡಿಸು ಮತ್ತು ಸಂಪರ್ಕಪಡಿಸು"</string>
     <string name="bluetooth_device_context_unpair" msgid="662992425948536144">"ಜೋಡಣೆ ರದ್ದುಗೊಳಿಸು"</string>
     <string name="bluetooth_device_context_disconnect_unpair" msgid="7644014238070043798">"ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸು &amp; ಜೋಡಣೆ ರದ್ದುಗೊಳಿಸು"</string>
     <string name="bluetooth_device_context_connect_advanced" msgid="2643129703569788771">"ಆಯ್ಕೆಗಳು..."</string>
@@ -1502,7 +1502,7 @@
     <string name="lockpattern_recording_intro_header" msgid="308287052221942814">"ಅನ್‌ಲಾಕ್‌ ಪ್ಯಾಟರ್ನ್ ಚಿತ್ರಿಸಿ"</string>
     <string name="lockpattern_recording_intro_footer" msgid="1118579101409152113">"ಸಹಾಯಕ್ಕಾಗಿ ಮೆನು ಒತ್ತಿರಿ."</string>
     <string name="lockpattern_recording_inprogress" msgid="6667844062721656773">"ಬಳಿಕ ಬೆರಳು ತೆಗೆಯಿರಿ"</string>
-    <string name="lockpattern_recording_incorrect_too_short" msgid="1348234155120957561">"ಕನಿಷ್ಠ <xliff:g id="NUMBER">%d</xliff:g> ಚುಕ್ಕಿಗಳನ್ನು ಜೋಡಿಸಿ. ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ."</string>
+    <string name="lockpattern_recording_incorrect_too_short" msgid="1348234155120957561">"ಕನಿಷ್ಠ <xliff:g id="NUMBER">%d</xliff:g> ಡಾಟ್‌ಗಳನ್ನು ಸಂಪರ್ಕಪಡಿಸಿ. ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ."</string>
     <string name="lockpattern_pattern_entered_header" msgid="4316818983675591604">"ಪ್ಯಾಟರ್ನ್ ರೆಕಾರ್ಡ್ ಆಗಿದೆ"</string>
     <string name="lockpattern_need_to_confirm" msgid="8054853451639221265">"ಖಚಿತಪಡಿಸಲು ಪ್ಯಾಟರ್ನ್ ಚಿತ್ರಿಸಿ"</string>
     <string name="lockpattern_pattern_confirmed_header" msgid="8455614172231880211">"ನಿಮ್ಮ ಹೊಸ ಅನ್‌ಲಾಕ್‌ ಪ್ಯಾಟರ್ನ್"</string>
@@ -2886,6 +2886,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"ಧ್ವನಿ ಇಲ್ಲ"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"ಧ್ವನಿ ಮಾಡಿ"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"ಪರದೆಯ ಮೇಲೆ ಧ್ವನಿಮಾಡಿ ಮತ್ತು ಪಾಪ್ ಮಾಡಿ"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"ಕಡಿಮೆ"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"ಮಧ್ಯಮ"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"ಅಧಿಕ"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index b0cfbd0..cd86d2f 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s이(가) 메시지에 액세스하려고 합니다. %2$s에 액세스 권한을 제공하시겠습니까?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIM 액세스 요청"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>이(가) SIM 카드에 액세스하려고 합니다. SIM 카드에 대한 액세스를 허용하면 연결되어 있는 동안 기기의 데이터 연결이 비활성화됩니다. <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>에 액세스 권한을 부여하세요."</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"다른 기기에 \'<xliff:g id="DEVICE_NAME">^1</xliff:g>\'(으)로 표시됩니다."</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"내 기기"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"새 기기와 페어링"</string>
     <string name="date_and_time" msgid="9062980487860757694">"날짜 및 시간"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"연속으로 올라가거나 내려가는 숫자 또는 반복되는 숫자의 배열은 허용되지 않습니다."</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"확인"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"취소"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"지우기"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"취소"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"다음"</string>
     <string name="lock_setup" msgid="3355847066343753943">"설정이 완료되었습니다."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"초기화하시겠습니까?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"네트워크 재설정 권한이 없는 사용자입니다."</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"네트워크 설정이 재설정되었습니다."</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"모든 데이터 삭제(초기화)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"공장 초기화하면 태블릿의 "<b>"내부 저장소의 모든 데이터가 삭제됩니다."</b>\n\n<li>"Google 계정"</li>\n<li>"시스템과 앱 데이터 및 설정"</li>\n<li>"다운로드된 앱"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"공장 초기화하면 다음을 포함한 휴대전화 "<b>"내부 저장소"</b>"의 모든 데이터가 삭제됩니다.\n\n"<li>"Google 계정"</li>\n<li>"시스템과 앱 데이터 및 설정"</li>\n<li>"다운로드된 앱"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"현재 로그인한 계정:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"소리 안 남"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"소리로 알림"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"소리 및 화면 표시로 알림"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"낮음"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"보통"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"높음"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"데이터 경고"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"데이터 한도 설정"</string>
     <string name="data_limit" msgid="1885406964934590552">"데이터 한도"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_2">%2$s</xliff:g>에 <xliff:g id="ID_1">%1$s</xliff:g> 사용함"</string>
     <string name="configure" msgid="1029654422228677273">"설정"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"사용량이 집계된 기타 앱"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 89ce82b..9276141 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -165,8 +165,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s сиздин баарлашуу билдирүүлөрүңүзгө жеткиси келет. %2$s уруксат берилсинби?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIM карта пайдалануу мүмкүнчүлүгүн суроо"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> SIM картаңызды пайдалануу мүмкүнчүлүгүнө ээ болгусу келет. SIM картаны пайдалануу укугу берилсе, түзмөк SIM картага туташып жатканда дайындарды мобилдик тармак аркылуу өткөрүү кызматтары убактылуу иштебей калат. <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> түзмөгүнө SIM картаны пайдалануу мүмкүнчүлүгүн берүү"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Башка түзмөктөргө \"<xliff:g id="DEVICE_NAME">^1</xliff:g>\" катары көрүнөт"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Түзмөктөрүңүз"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Жаңы түзмөктү жупташтыруу"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Күн жана убакыт"</string>
@@ -588,8 +587,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Сандар чоңойгон, кичирейген же кайталанган ыраатта болбошу керек"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"Жарайт"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Жокко чыгаруу"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Тазалоо"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Жокко чыгаруу"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Кийинки"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Орнотуу аяктады."</string>
@@ -1340,8 +1338,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Баштапкы абалга келтирилсинби?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Бул колдонуучу тармакты баштапкы абалына келтире албайт"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Тармак жөндөөлөрү баштапкы абалга келди"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Бардык дайындарды тазалоо (заводдук абалына келтирүү)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Планшетиңиздин "<b>"ички сактагычындагы"</b>" бардык дайындар өчүрүлөт, ошону менен катар:\n\n"<li>"Google каттоо эсебиңиз"</li>\n<li>"Тутумдун жана колдонмолордун жөндөөлөрү жана дайындары"</li>\n<li>"Жүктөлүп алынган колдонмолор"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Телефонуңуздун "<b>"ички сактагычындагы"</b>" бардык дайындар өчүрүлөт, ошону менен катар:\n\n"<li>"Google каттоо эсебиңиз"</li>\n<li>"Тутумдун жана колдонмолордун жөндөөлөрү жана дайындары"</li>\n<li>"Жүктөлүп алынган колдонмолор"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Ушул түзмөктөгү каттоо эсептер:\n"</string>
@@ -2889,6 +2886,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Добушу жок"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Добуш чыгарсын"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Добуш менен экранга калкып чыксын"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Төмөн"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Орто"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Жогору"</string>
@@ -3418,8 +3417,7 @@
     <string name="data_warning" msgid="209133958008062117">"Эскертүүлөр"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Трафикти чектөө"</string>
     <string name="data_limit" msgid="1885406964934590552">"Чектелген трафик"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_2">%2$s</xliff:g> аралыгында <xliff:g id="ID_1">%1$s</xliff:g> колдонулду"</string>
     <string name="configure" msgid="1029654422228677273">"Конфигурациялоо"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Трафикти колдонуучу башка колдонмолор"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index e8de978..7e71861 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s ຕ້ອງການສິດເພື່ອເຂົ້າໄປຂໍ້ຄວາມຂອງທ່ານ. ໃຫ້ສິດແກ່ %2$s ຫຼືບໍ່?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"ການ​ຂໍ​ເຂົ້າ​ຫາ SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> ຕ້ອງ​ການ​ເຂົ້າ​ຫາ​ແຜ່ນ SIM ຂອງ​ທ່ານ. ການ​ໃຫ້​ການ​ເຂົ້າ​ເຖິງ​ແຜ່ນ SIM ຈະ​ປິດ​ໃຊ້​ງານ​ການ​ເຊື່ອມ​ຕໍ່​ຂໍ້​ມູນ​ຢູ່​ໃນ​ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ​ສຳ​ລັບ​ໄລ​ຍະ​ເວ​ລາ​ຂອງ​ການ​ເຊື່ອມ​ຕໍ່. ໃຫ້​ການ​ເຂົ້າ​ຫາ <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"ສະແດງເປັນ \'<xliff:g id="DEVICE_NAME">^1</xliff:g>\' ໃຫ້ອຸປະກອນອື່ນເຫັນ"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"ອຸປະກອນຂອງທ່ານ"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"ຈັບຄູ່ອຸປະກອນໃໝ່"</string>
     <string name="date_and_time" msgid="9062980487860757694">"ວັນ​ທີ &amp; ເວ​ລາ"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"ນ້ອຍຫາໃຫຍ່, ໃຫຍ່ຫານ້ອຍ ຫຼື ຊຸດຕົວເລກຊ້ຳໆແມ່ນບໍ່ສາມາດໃຊ້ໄດ້"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"ຕົກລົງ"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"ຍົກເລີກ"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"ລຶບ"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"ຍົກເລີກ"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"ຕໍ່ໄປ"</string>
     <string name="lock_setup" msgid="3355847066343753943">"ການຕັ້ງຄ່າສຳເລັດແລ້ວ"</string>
@@ -944,8 +942,7 @@
     <string name="wifi_calling_off_explanation" msgid="2597566001655908391">"ເມື່ອ​ການ​ໂທ Wi-Fi ເປີດ, ໂທ​ລະ​ສັບ​ຂອງ​ທ່ານ​ສາ​ມາດ​ໃຫ້​ທິດ​ທາງ​ການ​ໂທ​ຜ່ານ​ເຄືອ​ຂ່າຍ Wi-Fi ຫຼື​ເຄືອ​ຂ່າຍ​ຂອງ​ຜູ້​ໃຫ້​ບໍ​ລິ​ການ​ຂອງ​ທ່ານ, ຂຶ້ນ​ກັບ​ຄວາມ​ມັກ​ຂອງ​ທ່ານ ແລະ​ສັນ​ຍານ​ໃດ​ແຮງ​ກ່ວາ. ກ່ອນ​ເປີດ​ຄຸນ​ສ​ົມ​ບັດ​ນີ້, ກວດ​ເບິ່ງ​ກັບ​ຜູ້​ໃຫ້​ບໍ​ລິ​ການ​ເຄືອ​ຂ່າຍ​ຂອງ​ທ່ານ​ໃນ​ເລື່ອງ​ຄ່າ​ບໍ​ລິ​ການ ແລະ​ລາຍ​ລະ​ອຽດ​ອື່ນໆ."</string>
     <string name="wifi_calling_off_explanation_2" msgid="2329334487851497223"></string>
     <string name="emergency_address_title" msgid="3571902448699714454">"ອັບເດດທີ່ຢູ່ສຸກເສີນ"</string>
-    <!-- no translation found for emergency_address_summary (3266760199681945746) -->
-    <skip />
+    <string name="emergency_address_summary" msgid="3266760199681945746">"ທີ່ຢູ່ທີ່ໃຊ້ໂດຍບໍລິການສຸກເສີນເປັນສະຖານທີ່ຂອງທ່ານຫາກທ່ານໂທສຸກເສີນໂດຍໃຊ້ Wi‑Fi"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"ການສະແດງຜົນ"</string>
     <string name="sound_settings" msgid="5534671337768745343">"ສຽງ"</string>
     <string name="all_volume_title" msgid="4296957391257836961">"ລະດັບສຽງ"</string>
@@ -1342,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"ຕັ້ງຄືນບໍ?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"ການ​ຕັ້ງ​ຄ່າ​ເຄືອ​ຂ່າຍ​ຄືນ​ໃໝ່​ແມ່ນ​ບໍ່​ມີ​ໃຫ້​ສຳ​ລັບ​ຜູ້​ໃຊ້​ຄົນ​ນີ້"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"​ການ​ຕັ້ງ​ຄ່າ​ເຄືອ​ຂ່າຍ​ຖືກຕັ້ງ​ຄ່າ​ຄືນ​ໃໝ່​ແລ້ວ."</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"ລຶບຂໍ້ມູນທັງໝົດ (ຣີເຊັດເປັນຄ່າຈາກໂຮງງານ)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"ນີ້ຈະເປັນການລຶບຂໍ້ມູນທັງໝົດຈາກ "<b>"ໜ່ວຍຄວາມຈຳພາຍໃນ"</b>" ຂອງແທັບເລັດທ່ານ, ຮວມເຖິງ:\n\n"<li>"ບັນຊີ Google ຂອງທ່ານ"</li>\n<li>"ຂໍ້ມູນລະບົບ ແລະແອັບພລິເຄຊັນ ແລະການຕັ້ງຄ່າ"</li>\n<li>"ແອັບຯທີ່ດາວໂຫລດມາ"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"ນີ້ຈະເປັນການລຶບຂໍ້ມູນທັງໝົດໃນ "<b>"ໜ່ວຍຄວາມຈຳພາຍໃນ"</b>" ຂອງໂທລະສັບທ່ານ ຮວມເຖິງ:\n\n"<li>"ບັນຊີ Google ຂອງທ່ານ"</li>\n<li>"ຂໍ້ມູນລະບົບ ແລະແອັບພລິເຄຊັນ ຮວມທັງການຕັ້ງຄ່າຕ່າງໆ"</li>\n<li>"ແອັບພລິເຄຊັນທີ່ດາວໂຫລດມາ"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"ປັດຈຸບັນທ່ານກຳລັງເຂົ້າສູ່ລະບົບບັນຊີຕໍ່ໄປນີ້:\n"</string>
@@ -2887,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"ບໍ່ມີສຽງ"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"ເຮັດສຽງ"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"ເຮັດສຽງດັງ ແລະ ສະແດງຂຶ້ນໃນໜ້າຈໍ"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"ຕໍ່າ"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"ປານກາງ"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"ສູງ"</string>
@@ -3416,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"ຄຳເຕືອນຂໍ້ມູນ"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"​ຕັ້ງຂີດຈຳກັດຂໍ້ມູນ"</string>
     <string name="data_limit" msgid="1885406964934590552">"ຂີດຈຳກັດຂໍ້ມູນ"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"ໃຊ້ໄປແລ້ວ <xliff:g id="ID_1">%1$s</xliff:g> <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"ກຳນົດຄ່າ"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"ແອັບອື່ນໆແມ່ນຮວມໃນການນຳໃຊ້"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index e6e193c..a80ba73 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -168,8 +168,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s nori pasiekti jūsų pranešimus. Suteikti prieigą %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIM prieigos užklausa"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"„<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>“ nori pasiekti jūsų SIM kortelę. Suteikus prieigą prie SIM kortelės bus išjungtas duomenų ryšys įrenginyje, kol veiks šis ryšys. Leiskite pasiekti „<xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>“"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Kitiems įrenginiams matomas kaip „<xliff:g id="DEVICE_NAME">^1</xliff:g>“ įrenginys"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Jūsų įrenginiai"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Susieti naują įrenginį"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Data ir laikas"</string>
@@ -607,8 +606,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Didėjanti, mažėjanti ar pasikartojanti skaitmenų seka neleidžiama"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"Gerai"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Atšaukti"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Išvalyti"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Atšaukti"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Kitas"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Sąranka baigta."</string>
@@ -1367,8 +1365,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Nustatyti iš naujo?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Šis naudotojas negali iš naujo nustatyti tinklo"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Tinklo nustatymai nustatyti iš naujo"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Ištrinti visus duomenis (atkurti gamyklinius duomenis)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Taip bus ištrinti visi duomenys iš planšetinio kompiuterio "<b>"vidinės atminties"</b>", įskaitant:\n\n"<li>"„Google“ paskyrą"</li>\n<li>"Sistemos ir programų duomenis bei nustatymus"</li>\n<li>"Atsisiųstas programas"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Taip bus ištrinti visi toliau nurodyti duomenys iš telefono "<b>"vidinės atminties"</b>".\n\n"<li>"„Google“ paskyra"</li>\n<li>"Sistemos ir programų duomenys bei nustatymai"</li>\n<li>"Atsisiųstos programos"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Šiuo metu esate prisijungę prie šių paskyrų:\n"</string>
@@ -2940,6 +2937,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Nėra garso"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Skambėti"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Skambėti ir iššokti ekrane"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Žemas"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Vidutinis"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Aukštas"</string>
@@ -3501,8 +3500,7 @@
     <string name="data_warning" msgid="209133958008062117">"Duomenų įspėjimas"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Nustatyti duomenų apribojimą"</string>
     <string name="data_limit" msgid="1885406964934590552">"Duomenų apribojimas"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_2">%2$s</xliff:g> sunaudota: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Konfigūruoti"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Kitos įtrauktos naudojamos programos"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index ed7116c..330a932 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -167,8 +167,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"Ierīce “%1$s” vēlas piekļūt jūsu ziņojumiem. Vai sniegt piekļuvi ierīcei “%2$s”?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Pieprasījums piekļūt SIM kartei"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> pieprasa piekļuvi SIM kartei. Piešķirot piekļuvi SIM kartei, savienojuma laikā ierīcē tiks atspējota datu savienojamība. Piešķirt piekļuvi ierīcei <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Citām ierīcēm redzama kā “<xliff:g id="DEVICE_NAME">^1</xliff:g>”"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Jūsu ierīces"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Savienošana pārī ar jaunu ierīci"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Datums un laiks"</string>
@@ -598,8 +597,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Augoša, dilstoša vai atkārtota ciparu secība nav atļauta."</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"Labi"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Atcelt"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Labi"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Atcelt"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Tālāk"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Iestatīšana ir pabeigta."</string>
@@ -1354,8 +1352,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Vai atiestatīt?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Šim lietotājam nav pieejama tīkla atiestatīšana."</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Tīklu iestatījumi ir atiestatīti."</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Notīrīt visus datus (atiestatīt rūpnīcas datus)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Tādējādi tiks izdzēsti visi planšetdatora "<b>"iekšējā atmiņā"</b>" esošie dati, tostarp:\n\n"<li>"Google konta dati;"</li>\n<li>"sistēmas un lietotņu dati un iestatījumi;"</li>\n<li>"lejupielādētās lietotnes."</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Tiks dzēsti visi tālruņa "<b>"iekšējā atmiņā"</b>" esošie dati, tostarp:\n\n"<li>"Google konta dati;"</li>\n<li>"sistēmas un lietotņu dati un iestatījumi;"</li>\n<li>"lejupielādētās lietotnes."</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Pašlaik esat pierakstījies šādos kontos:\n"</string>
@@ -2913,6 +2910,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Bez skaņas"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Atskaņot skaņas signālu"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Atskaņot skaņas signālu un īslaicīgi parādīt ekrānā"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Mazsvarīgs"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Vidēji svarīgs"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Svarīgs"</string>
@@ -3458,8 +3457,7 @@
     <string name="data_warning" msgid="209133958008062117">"Datu brīdinājums"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Iestatīt datu ierobežojumu"</string>
     <string name="data_limit" msgid="1885406964934590552">"Datu ierobežojums"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"Izmantotais datu apjoms: <xliff:g id="ID_1">%1$s</xliff:g> (šādā periodā: <xliff:g id="ID_2">%2$s</xliff:g>)"</string>
     <string name="configure" msgid="1029654422228677273">"Konfigurēt"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Citas lietojuma datos iekļautās lietotnes"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-mcc262-mnc02/strings.xml b/res/values-mcc262-mnc02/strings.xml
index 17f9272..280f59e 100644
--- a/res/values-mcc262-mnc02/strings.xml
+++ b/res/values-mcc262-mnc02/strings.xml
@@ -16,4 +16,6 @@
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <!-- Wi-Fi Calling settings. Additional text displayed when Wi-Fi Calling is off. Default empty. [CHAR LIMIT=NONE] -->
     <string name="wifi_calling_off_explanation_2">\n\nYou can\u2019t make emergency calls through Wi-Fi calling. If you try to make an emergency call, your device will automatically use the mobile network. Emergency calls can only be made in areas with mobile network coverage.</string>
+    <!-- Do not translate. Wireless networks, item title to go into the WFC settings [CHAR LIMIT=30] -->
+    <string name="wifi_calling_settings_title">"Wi-Fi calling"</string>
 </resources>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index d715383..79f56cf 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s сака да пристапи кон вашите пораки. Дозволи пристап на %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Побаран е пристап до SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> сака да пристапи до вашата SIM-картичка. Доколку дозволите пристап до SIM-картичката, ќе се исклучи поврзувањето со податоци на уредот сѐ додека трае поврзувањето. Дозволете пристап до <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Другите уреди го гледаат како „<xliff:g id="DEVICE_NAME">^1</xliff:g>“"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Ваши уреди"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Спарување нов уред"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Датум и време"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Не е дозволена нагорна, надолна или повторлива секвенца на цифри"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"Во ред"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Откажи"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Исчисти"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Откажи"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Следно"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Подесувањето е завршено."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Ресетирај?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Мрежното ресетирање не е достапно за овој корисник"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Мрежните поставки се ресетирани"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Избриши ги сите податоци (фабричко ресетирање)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Ова ќе ги избрише сите податоци од "<b>"внатрешна меморија"</b>"на вашиот таблет, заедно со:\n\n"<li>"вашата сметка на Google"</li>\n<li>"податоци и подесувања на систем и апликации"</li>\n<li>"преземени апликации"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Ова ќе ги избрише сите податоци од "<b>"внатрешната меморија"</b>" на телефонот, заедно со:\n\n"<li>"вашата сметка на Google"</li>\n<li>"податоци и подесувања на систем и апликации"</li>\n<li>"преземени апликации"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Моментално сте најавени на следниве сметки:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Без звук"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Испушти звук"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Испушти звук и прикажи го на екранот"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Мало"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Средно"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Висока"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Предупредување за интернет"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Ограничување на интернет"</string>
     <string name="data_limit" msgid="1885406964934590552">"Ограничување за интернет"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> потроши <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Конфигурирај"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Други апликации вклучени во употребата"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index b47b4b4..b062c39 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -2886,6 +2886,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"ശബ്‌ദമില്ല"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"ശബ്ദമുണ്ടാക്കുക"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"ശബ്ദമുണ്ടാക്കുക, സ്ക്രീനിൽ കാണിക്കുക"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"കുറഞ്ഞത്"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"ഇടത്തരം"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"ഉയർന്ന പ്രാധാന്യം"</string>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index dbd878a..85858ae 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s таны зурвасуудад хандалт хийх хүсэлтэй байна. %2$s-д хандалт хийхийг зөвшөөрөх үү?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"СИМ хандалтын хүсэлт"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> нь таны СИМ картанд хандах хүсэлтэй байна. СИМ картанд хандалтыг нээж өгснөөр холболтын хугацааны туршид төхөөрөмжийн дата холболтыг идэвхгүй болгоно. <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>-д хандалтыг нээх"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Бусад төхөөрөмжид “<xliff:g id="DEVICE_NAME">^1</xliff:g>”-р харагдана"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Таны төхөөрөмж"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Шинэ төхөөрөмж холбох"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Огноо &amp; цаг"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Цифр өсөх, буурах, давхцахыг зөвшөөрдөггүй"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Цуцлах"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Устгах"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Цуцлах"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Дараах"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Тохируулга дууслаа."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Дахин тохируулах уу?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Энэ хэрэглэгчид сүлжээний тохиргоо хийх боломжгүй байна"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Сүлжээний тохиргоог дахин тохируулсан байна"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Бүх өгөгдлийг устгах (үйлдвэрийн тохиргоонд шинэчлэх)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Энэ таны таблетын "<b>"дотоод сангаас"</b>"таны \n\n"<li>"Google акаунт"</li>\n<li>"Системийн болон апп өгөгдөл болон тохиргоо"</li>\n<li>"Татаж авсан апп-уудыг"</li>" оруулан бүх өгөгдлийг устгах болно"</string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Энэ таны утасны "<b>"дотоод сангаас"</b>"таны \n\n"<li>"Google акаунт"</li>\n<li>"Системийн болон апп өгөгдөл болон тохиргоо"</li>\n<li>"Татаж авсан апп-уудыг"</li>" оруулан бүх өгөгдлийг устгах болно"</string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Та одоогоор дараах акаунтуудаар нэвтэрсэн байна:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Дуугүй"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Дуу гаргах"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Дуу гаргаж, дэлгэцэд гэнэт гаргах"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Бага"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Дунд"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Их"</string>
@@ -3413,8 +3412,7 @@
     <string name="data_warning" msgid="209133958008062117">"Дата хэрэглээний сануулга"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Дата хязгаар тогтоох"</string>
     <string name="data_limit" msgid="1885406964934590552">"Дата хязгаар"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_2">%2$s</xliff:g>-д <xliff:g id="ID_1">%1$s</xliff:g>-г ашигласан"</string>
     <string name="configure" msgid="1029654422228677273">"Тохируулах"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Бусад апп-г хэрэглээнд оруулсан"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 4d40970..8a3c6de 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s ला आपल्या संदेशामध्ये प्रवेश करण्याची आवश्यकता आहे. %2$s ला प्रवेश करण्याची अनुमती द्यायची?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"सिम प्रवेश विनंती"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> आपल्या सिम कार्डवर प्रवेश करू इच्छित आहे. सिम कार्डवर प्रवेश मंजूर केल्यामुळे कनेक्शनच्या कालावधीसाठी आपल्या डिव्हाइसवरील डेटा कनेक्टिव्हिटी अक्षम होईल. <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> वर प्रवेश द्या"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"इतर डिव्‍हाइसना \'<xliff:g id="DEVICE_NAME">^1</xliff:g>\' म्‍हणून दिसत आहे"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"तुमचे डिव्हाइस"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"नवीन डिव्हाइस जोडा"</string>
     <string name="date_and_time" msgid="9062980487860757694">"तारीख आणि वेळ"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"अंकांच्या चढत्या, उतरत्या किंवा पुनरावृत्त क्रमाला अनुमती नाही"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"ठीक"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"रद्द करा"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"साफ करा"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"रद्द करा"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"पुढील"</string>
     <string name="lock_setup" msgid="3355847066343753943">"सेटअप पूर्ण झाले आहे"</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"रीसेट करायचे?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"या वापरकर्त्यासाठी नेटवर्क रीसेट उपलब्ध नाही"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"नेटवर्क सेटिंग्ज रीसेट केल्या गेल्या आहेत"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"सर्व डेटा मिटवा (फॅक्टरी रीसेट)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"हे आपल्या टॅब्लेटच्या "<b>"अंतर्गत संचयना"</b>" वरील सर्व डेटा मिटवेल,                                                                     यासह:\n\n"<li>"आपले Google खाते"</li>\n<li>"सिस्टम आणि अॅप डेटा आणि सेटिंग्ज"</li>\n<li>"डाउनलोड केलेले अॅप्स"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"हे आपल्या फोनच्या "<b>"अंतर्गत संचयन"</b>" वरील सर्व डेटा मिटवेल, यासह:\n\n"<li>"आपले Google खाते"</li>\n<li>"सिस्टम आणि अॅप डेटा सेटिंग्ज"</li>\n<li>"डाउनलोड केलेले अॅप्स"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"आपण खालील खात्यांवर सध्या साइन इन केले आहे:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"कोणताही ध्वनी नाही"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"ध्वनी करा"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"ध्वनी करा आणि स्क्रीनवर पॉप करा"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"कमी"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"मध्‍यम"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"जास्त"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"डेटा चेतावणी"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"डेटा मर्यादा सेट करा"</string>
     <string name="data_limit" msgid="1885406964934590552">"डेटा मर्यादा"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> ने <xliff:g id="ID_2">%2$s</xliff:g> वापरले"</string>
     <string name="configure" msgid="1029654422228677273">"कॉन्फिगर करा"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"वापरामध्ये समाविष्‍ट केलेले अन्य अॅप्स"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index a6ff86b..c4033d6 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s ingin mengakses mesej anda. Berikan akses kepada %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Permintaan akses SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> mahu mengakses kad SIM anda. Pemberian akses kepada kad SIM akan melumpuhkan sambungan data pada peranti anda untuk tempoh sambungan itu. Berikan akses kepada <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Kelihatan kepada peranti lain sebagai “<xliff:g id="DEVICE_NAME">^1</xliff:g>”"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Peranti anda"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Gandingkan peranti baharu"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Tarikh &amp; masa"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Angka menaik, menurun atau jujukan berulang tidak dibenarkan"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Batal"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Kosongkan"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Batal"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Seterusnya"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Persediaan selesai."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Tetapkan semula?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Tetapan semula rangkaian tidak tersedia untuk pengguna ini"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Tetapan rangkaian telah ditetapkan semula"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Padamkan semua data (tetapan semula kilang)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Ini akan memadamkan semua data dari "<b>"storan dalaman"</b>" tablet anda, termasuk:\n\n"<li>"Akaun Google anda"</li>\n<li>"Data dan tetapan sistem dan aplikasi"</li>\n<li>"Aplikasi yang dimuat turun"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Ini akan memadamkan semua data daripada "<b>"storan dalaman"</b>" telefon anda, termasuk:\n\n"<li>"Akaun Google anda"</li>\n<li>"Data dan tetapan sistem dan aplikasi"</li>\n<li>"Aplikasi yang dimuat turun"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Anda melog masuk ke dalam akaun berikut buat masa ini:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Tiada bunyi"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Berbunyi"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Berbunyi dan paparkan pada skrin"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Rendah"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Sederhana"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Tinggi"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Amaran data"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Tetapkan had data"</string>
     <string name="data_limit" msgid="1885406964934590552">"Had data"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> digunakan <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Konfigurasikan"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Apl lain yang termasuk dalam penggunaan"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index f61caab..2ed322a 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s သည် သင်၏ စာများကို ရယူအသုံးပြုလိုသည်။ %2$s ကို အသုံးပြုခွင့် ပေးမည်လား?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIM ကဒ် သုံးခွင့် တောင်းဆိုမှု"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> သည် သင့် SIM ကဒ်အား ဝင်ရောက်သုံးလို၏။ SIM ကဒ်အား ဝင်ရောက်သုံးခွင့်ပြုပါက ချိတ်ဆက်နေစဉ်ကာလအတွင်း သင့် စက်ကိရိယာ၏ ဒေတာချိတ်ဆက်မှုအား ပိတ်ထားလိမ့်မည်။ <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> အား ဝင်ရောက်သုံးခွင့်ပြုရန်"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"အခြားစက်ပစ္စည်းများက \'<xliff:g id="DEVICE_NAME">^1</xliff:g>\' အဖြစ် မြင်ရပါမည်"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"သင်၏ စက်ပစ္စည်းများ"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"စက်ပစ္စည်းအသစ်ကို တွဲချိတ်ရန်"</string>
     <string name="date_and_time" msgid="9062980487860757694">"ရက်စွဲနှင့် အချိန်"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"အစဉ်လိုက်ဖြစ်နေသော ဂဏန်း အငယ်မှအကြီး၊ အကြီးမှအငယ် သို့မဟုတ် ထပ်နေသည့် နံပါတ်စဉ်များကို ခွင့်မပြုပါ"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"အိုကေ"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"မလုပ်တော့"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"ရှင်းထုတ်ရန်"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"မလုပ်တော့"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"ရှေ့သို့"</string>
     <string name="lock_setup" msgid="3355847066343753943">"အစီအမံ ပြီးပါပြီ"</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"ပြန်လည်စတင်ရန် ပြုလုပ်မလား?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"ဤအသုံးပြုသူအတွက် ကွန်ရက်ပြန်လည်သတ်မှတ်မှု မရရှိနိုင်ပါ"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"ကွန်ရက်ချိန်ညှိချက်များ ပြန်လည်သတ်မှတ်ပြီးပါပြီ"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"ဒေတာအားလုံးကို ဖျက်ရန် (စက်ရုံထုတ်ဆက်တင်အတိုင်း ပြင်ဆင်သတ်မှတ်ရန်)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"ဤသည်မှာ သင့်တက်ဘလက်ထဲရှိ"<b></b>"သင့်ဂူးဂဲလ်အကောင့်\n\n"<li>"စနစ်နှင့် အက်ပ်ဒေတာနှင့် ဆက်တင်များ"</li>\n<li>"ဒေါင်းလုပ်ပြုလုပ်ထားသော အက်ပ်"</li>"iအပါအဝင်\n"<li>"စက်အတွင်းသိမ်းဆည်းထားခြင်း"</li>"များကို ဖျက်ပါလိမ့်မည်"</string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"ဤသည်မှာ သင့်ဖုန်းထဲရှိ\n"<li>"သင့်ဂူးဂဲလ်အကောင့်"</li>\n<li>"စနစ်နှင့် အက်ပ်ဒေတာနှင့် အဆင်အပြင်များ"</li>\n<li>"ဒေါင်းလုပ်ပြုလုပ်ထားသော အက်ပ်"</li>"iအပါအဝင်\n"<b>"စက်အတွင်းသိမ်းဆည်းထားခြင်း"</b>"များကို ဖျက်ပါလိမ့်မည်"</string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"သင်သည် လက်ရှိဤအကောင့်များကို ဆိုင်းအင်လုပ်ထားပါသည်\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"အသံမပါ"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"အသံဖွင့်ပါ"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"အသံဖွင့်၍ မျက်နှာပြင်ပေါ်တွင် ပြပါ"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"သိပ်အရေးမကြီး"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"အတော်အသင့်"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"အရေးကြီး"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"ဒေတာသတိပေးချက်"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"ဒေတာအကန့်အသတ် သတ်မှတ်ရန်"</string>
     <string name="data_limit" msgid="1885406964934590552">"ဒေတာအကန့်အသတ်"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> သည် <xliff:g id="ID_2">%2$s</xliff:g> ကို သုံးထားသည်"</string>
     <string name="configure" msgid="1029654422228677273">"ပြင်ဆင်သတ်မှတ်ရန်"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"အသုံးပြုမှုတွင် ပါဝင်သည့် အခြားအက်ပ်များ"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 0bdb9b4..d007206 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s ønsker adgang til meldingene dine. Vil du gi %2$s tilgang?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Forespørsel om tilgang til SIM-kort"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> vil ha tilgang til SIM-kortet ditt. Hvis du gir tilgang til SIM-kortet, slås datatilkoblingen på enheten av så lenge tillatelsen varer. Gi tilgang til <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Synlig som «<xliff:g id="DEVICE_NAME">^1</xliff:g>» for andre enheter"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Enhetene dine"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Koble til en ny enhet"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Dato og klokkeslett"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"En sekvens av stigende, synkende eller like sifre er ikke tillatt"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Avbryt"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Fjern"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Avbryt"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Neste"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Konfigurasjonen er fullført."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Vil du tilbakestille?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Tilbakestilling av nettverket er ikke tilgjengelig for denne brukeren"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Nettverksinnstillingene er tilbakestilt"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Slett alle data (tilbakestilling til fabrikkstandard)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Dette sletter alle data fra nettbrettets "<b>"interne lagringsplass"</b>", inkludert følgende:\n\n"<li>"Google-kontoen din"</li>\n<li>"Data og innstillinger for system og apper"</li>\n<li>"Nedlastede apper"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Dette sletter alle data fra telefonens "<b>"interne lagringsplass"</b>", inkludert følgende:\n\n"<li>"Google-kontoen din"</li>\n<li>"Data og innstillinger for system og apper"</li>\n<li>"Nedlastede apper"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Du er for øyeblikket pålogget følgende kontoer:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Ingen lyd"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Lag lyd"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Lag lyd og vis i forgrunnen"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Lav"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Middels"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Høy"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Advarsel for dataforbruk"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Angi en datagrense"</string>
     <string name="data_limit" msgid="1885406964934590552">"Datagrense"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> brukte <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Konfigurer"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Andre apper som er inkludert i bruken"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 732e536..79ad3fa 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s तपाईँको सन्देशमा पहुँच चाहन्छ। %2$s मा पहुँच दिने हो?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIM पहुँच अनुरोध"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> ले तपाईँको SIM कार्ड पहुँच गर्न चाहन्छ। यन्त्रमा SIM कार्ड पहुँच प्रदान गर्दा जडान अवधिको समयमा तपाईँको डेटा जडान निष्क्रिय हुनेछ। <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> लाई पहुँच प्रदान गर्नुहोस्"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"अन्य यन्त्रहरूमा <xliff:g id="DEVICE_NAME">^1</xliff:g> को रूपमा देखिन्छ"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"तपाईंका यन्त्रहरू"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"नयाँ यन्त्रलाई जोडा बनाउनुहोस्"</string>
     <string name="date_and_time" msgid="9062980487860757694">"मिति र समय"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"बढ्दो, घट्दो वा दोहोरिएका अङ्कहरूको अनुक्रमलाई निषेध गरिएको छ"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"ठीक छ"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"रद्द गर्नुहोस्"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"खाली गर्नुहोस्"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"रद्द गर्नुहोस्"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"अर्को"</string>
     <string name="lock_setup" msgid="3355847066343753943">"सेटअप पूरा भयो।"</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"रिसेट गर्ने हो?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"नेटवर्क रिसेट यो प्रयोगकर्ताको लागि उपलब्ध छैन"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"सञ्जाल सेटिङ्हरू रिसेट गरियो"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"सबै डेटा मेटाउनुहोस् (फ्याक्ट्री रिसेट गर्नुहोस्)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"यस कार्यले तपाईँको सम्पूर्ण डेटा मेटाउँछ ट्याब्लेटको "<b>" आन्तरिक भण्डारणबाट "</b>" : जसमा, \n \n "<li>" तपाईँको Google खाता "</li>" \n "<li>" प्रणाली र अनुप्रयोग डेटा र सेटिङहरू"</li>" \n "<li>" डाउनलोड गरिएका अनुप्रयोगहरू "</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"यसले सबै डेटा तपाईंको "<b>"आन्तरिक भण्डारणबाट मेटाउँदछ"</b>", समावेश गर्दछ:\n\n"<li>"तपाईंको Google खाता"</li>\n<li>"प्रणाली र अनुप्रयोग डेटा र सेटिङहरू"</li>\n<li>"डाउनलोड गरिएका अनुप्रयोगहरू"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n" \nतपाईँले अहिले निम्न खाताहरूमा साइन इन गर्नुभयो:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"आवाज ननिकाल्ने"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"आवाज निकाल्ने"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"आवाज निकाल्ने र स्क्रिनमा पपअप देखाउने"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"कम"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"सामान्य"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"उच्च"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"डेटा चेतावनी"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"डेटाको सीमा सेट गर्नुहोस्"</string>
     <string name="data_limit" msgid="1885406964934590552">"डेटाको सीमा"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_2">%2$s</xliff:g> सम्म <xliff:g id="ID_1">%1$s</xliff:g> प्रयोग गरियो"</string>
     <string name="configure" msgid="1029654422228677273">"कन्फिगर गर्नुहोस्"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"प्रयोगमा समावेश गरिएका अन्य अनुप्रयोगहरू"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 17326b5..d93d217 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s wil toegang tot je berichten. Toegang geven aan %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Toegangsverzoek voor simkaart"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> wil toegang tot je simkaart. Als je toegang tot de simkaart verleent, wordt de gegevensverbinding op je apparaat uitgeschakeld voor de duur van de verbinding. Toegang verlenen aan <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Zichtbaar als <xliff:g id="DEVICE_NAME">^1</xliff:g> voor andere apparaten"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Je apparaten"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Nieuw apparaat koppelen"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Datum en tijd"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Een oplopende, aflopende of herhaalde reeks cijfers is niet toegestaan"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Annuleren"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Wissen"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Annuleren"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Volgende"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Het instellen is voltooid."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Resetten?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Netwerk herstellen is niet beschikbaar voor deze gebruiker"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Netwerkinstellingen zijn gereset"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Alle gegevens wissen (fabrieksinstellingen terugzetten)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Hiermee worden alle gegevens in de "<b>"interne opslag"</b>" van je telefoon gewist, waaronder:\n\n"<li>"Je Google-account"</li>\n<li>"Gegevens en instellingen van het systeem en de apps"</li>\n<li>"Gedownloade apps"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Hiermee worden alle gegevens in de "<b>"interne opslag"</b>" van je telefoon gewist, waaronder:\n\n"<li>"Je Google-account"</li>\n<li>"Gegevens en instellingen van het systeem en de apps"</li>\n<li>"Gedownloade apps"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Je bent momenteel aangemeld bij de volgende accounts:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Geen geluid"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Geluid laten horen"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Geluid laten horen en op het scherm weergeven"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Laag"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Gemiddeld"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Hoog"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Datawaarschuwing"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Datalimiet instellen"</string>
     <string name="data_limit" msgid="1885406964934590552">"Datalimiet"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> gebruikt in de periode <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Configureren"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Andere apps opgenomen in gebruik"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 6b01956..884db9b 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s ਤੁਹਾਡੇ ਸੁਨੇਹਿਆਂ ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰਨਾ ਚਾਹੁੰਦਾ ਹੈ। ਕੀ %2$s ਤੱਕ ਪਹੁੰਚ ਪ੍ਰਾਪਤ ਕਰਨੀ ਹੈ?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"ਸਿਮ ਐਕਸੈਸ ਬੇਨਤੀ"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> ਤੁਹਾਡੇ ਸਿਮ ਕਾਰਡ ਦੀ ਐਕਸੈਸ ਕਰਨਾ ਚਾਹੁੰਦਾ/ਚਾਹੁੰਦੀ ਹੈ। ਸਿਮ ਕਾਰਡ ਦੀ ਐਕਸੈਸ ਦੇਣਾ ਕਨੈਕਸ਼ਨ ਦੀ ਸਮਾਂ ਮਿਆਦ ਦੇ ਲਈ ਤੁਹਾਡੀ ਡੀਵਾਈਸ \'ਤੇ ਕਨੈਕਟਿਵਿਟੀ ਨੂੰ ਅਸਮਰਥਿਤ ਕਰ ਦੇਵੇਗਾ। <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> ਨੂੰ ਐਕਸੈਸ ਦਿਓ"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"ਹੋਰਾਂ ਡੀਵਾਈਸਾਂ ਲਈ <xliff:g id="DEVICE_NAME">^1</xliff:g> ਵਜੋਂ ਦਿਖਣਯੋਗ"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"ਤੁਹਾਡੀਆਂ ਡੀਵਾਈਸਾਂ"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"ਨਵੀਂ ਡੀਵਾਈਸ ਜੋੜਾਬੱਧ ਕਰੋ"</string>
     <string name="date_and_time" msgid="9062980487860757694">"ਤਾਰੀਖ ਅਤੇ ਸਮਾਂ"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"ਅੰਕਾਂ ਦਾ ਵਧਦਾ ਕ੍ਰਮ, ਘਟਦਾ ਕ੍ਰਮ, ਜਾਂ ਦੁਹਰਾਈ ਗਈ ਲੜੀ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਹੈ"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"ਠੀਕ"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"ਰੱਦ ਕਰੋ"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"ਕਲੀਅਰ ਕਰੋ"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"ਰੱਦ ਕਰੋ"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"ਅੱਗੇ"</string>
     <string name="lock_setup" msgid="3355847066343753943">"ਸੈਟਅਪ ਪੂਰਾ ਹੈ।"</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"ਕੀ ਰੀਸੈੱਟ ਕਰਨਾ ਹੈ?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"ਇਸ ਉਪਭੋਗਤਾ ਲਈ ਨੈੱਟਵਰਕ ਰੀਸੈੱਟ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"ਨੈੱਟਵਰਕ ਸੈਟਿੰਗਾਂ ਰੀਸੈੱਟ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"ਸਾਰਾ ਡੈਟਾ ਮਿਟਾਓ (ਫੈਕਟਰੀ ਰੀਸੈੱਟ)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"ਇਹ ਤੁਹਾਡੀ ਟੈਬਲੇਟ ਦੀ "<b>"ਅੰਦਰੂਨੀ ਸਟੋਰੇਜ"</b>"ਦਾ ਸਾਰਾ ਡੈਟਾ ਮਿਟਾ ਦੇਵੇਗਾ, ਜਿਸ ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ:\n\n"<li>"ਤੁਹਾਡਾ Google ਖਾਤਾ"</li>\n<li>"ਸਿਸਟਮ ਅਤੇ ਐਪ ਡੈਟਾ ਅਤੇ ਸੈਟਿੰਗਾਂ"</li>\n<li>"ਡਾਊਨਲੋਡ ਕੀਤੇ ਐਪਸ"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"ਇਹ ਤੁਹਾਡੇ ਫੋਨ ਦੀ "<b>"ਅੰਦਰੂਨੀ ਸਟੋਰੇਜ"</b>" ਦਾ ਸਾਰਾ ਡੈਟਾ ਮਿਟਾ ਦੇਵੇਗਾ, ਜਿਸ ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ:\n\n"<li>"ਤੁਹਾਡਾ Google ਖਾਤਾ"</li>\n<li>"ਸਿਸਟਮ ਅਤੇ ਐਪ ਡੈਟਾ ਅਤੇ ਸੈਟਿੰਗਾਂ"</li>\n<li>"ਡਾਊਨਲੋਡ ਕੀਤੇ ਐਪਸ"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"ਤੁਸੀਂ ਇਸ ਵੇਲੇ ਇਹਨਾਂ ਖਾਤਿਆਂ ਤੇ ਸਾਈਨ ਇਨ ਕਰ ਰਹੇ ਹੋ:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"ਕੋਈ ਧੁਨੀ ਨਹੀਂ"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"ਧੁਨੀ ਵਜਾਓ"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"ਧੁਨੀ ਵਜਾਓ ਅਤੇ ਸਕ੍ਰੀਨ \'ਤੇ ਵਿਖਾਓ"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"ਘੱਟ"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"ਔਸਤ"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"ਉੱਚ"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"ਡੈਟਾ ਚੇਤਾਵਨੀ"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"ਡੈਟਾ ਸੀਮਾ ਸੈੱਟ ਕਰੋ"</string>
     <string name="data_limit" msgid="1885406964934590552">"ਡੈਟਾ ਸੀਮਾ"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_2">%2$s</xliff:g> ਤੱਕ <xliff:g id="ID_1">%1$s</xliff:g> ਜਗ੍ਹਾ ਵਰਤੀ ਗਈ"</string>
     <string name="configure" msgid="1029654422228677273">"ਸੰਰੂਪਣ ਕਰੋ"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"ਵਰਤੋਂ ਵਿੱਚ ਹੋਰ ਐਪਾਂ ਸ਼ਾਮਲ ਹਨ"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 9690818..1d8d34d 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -168,8 +168,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s chce uzyskać dostęp do Twoich wiadomości. Zezwolić na dostęp?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Prośba o dostęp do karty SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> chce uzyskać dostęp do Twojej karty SIM. Jeśli na to zezwolisz, na czas tego połączenia na urządzeniu zostanie wyłączone połączenie transmisji danych. Przyznaj dostęp do urządzenia <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Widoczne dla innych urządzeń jako „<xliff:g id="DEVICE_NAME">^1</xliff:g>”"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Twoje urządzenia"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Sparuj nowe urządzenie"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Data i czas"</string>
@@ -607,8 +606,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Ciąg cyfr rosnących, malejących lub powtarzających się jest niedozwolony"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Anuluj"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"OK"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Anuluj"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Dalej"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Konfiguracja została ukończona."</string>
@@ -1367,8 +1365,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Zresetować?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Resetowanie sieci nie jest dostępne dla tego użytkownika"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Ustawienia sieciowe zostały zresetowane"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Wykasuj wszystkie dane (przywróć dane fabryczne)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Zostaną usunięte wszystkie dane z "<b>"wewnętrznej pamięci"</b>" tabletu, w tym:\n\n"<li>"Dane konta Google"</li>\n<li>"Dane i ustawienia systemu oraz aplikacji"</li>\n<li>"Pobrane aplikacje"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Zostaną usunięte wszystkie dane z "<b>"wewnętrznej pamięci"</b>" telefonu, w tym:\n\n"<li>"Dane konta Google"</li>\n<li>"Dane i ustawienia systemu oraz aplikacji"</li>\n<li>"Pobrane aplikacje"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Zalogowano się na konta:\n"</string>
@@ -2942,6 +2939,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Brak dźwięku"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Sygnalizacja dźwiękiem"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Sygnalizacja dźwiękiem i wyświetlenie komunikatu"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Niska"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Średnia"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Wysoka"</string>
@@ -3503,8 +3502,7 @@
     <string name="data_warning" msgid="209133958008062117">"Próg ostrzegawczy"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Ustaw limit transmisji danych"</string>
     <string name="data_limit" msgid="1885406964934590552">"Limit danych"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> w okresie <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Skonfiguruj"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Inne aplikacje korzystające z transmisji danych"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index a72a24f..3d28743 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s deseja acessar suas mensagens. Conceder acesso a %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Solicitação de acesso ao cartão SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"O <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> deseja acessar seu cartão SIM. A concessão de acesso ao cartão SIM desativará a conectividade de dados no seu dispositivo durante a conexão. Conceda acesso ao <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Visível como \"<xliff:g id="DEVICE_NAME">^1</xliff:g>\" para outros dispositivos"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Seus dispositivos"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Parear novo dispositivo"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Data e hora"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Não é permitido usar uma sequência de dígitos em ordem crescente, decrescente ou repetidos"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Cancelar"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Limpar"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Cancelar"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Avançar"</string>
     <string name="lock_setup" msgid="3355847066343753943">"A configuração foi concluída."</string>
@@ -944,7 +942,7 @@
     <string name="wifi_calling_off_explanation" msgid="2597566001655908391">"Quando a chamada por Wi-Fi está ativada, seu smartphone pode enviar chamadas por redes Wi-Fi ou pela rede da sua operadora, dependendo da sua preferência e de qual sinal está mais forte. Antes de ativar esse recurso, verifique as taxas e outros detalhes com sua operadora."</string>
     <string name="wifi_calling_off_explanation_2" msgid="2329334487851497223"></string>
     <string name="emergency_address_title" msgid="3571902448699714454">"Atualizar endereço de emergência"</string>
-    <string name="emergency_address_summary" msgid="3266760199681945746">"Endereço usado pelos serviços de emergência como sua localização se você fizer uma chamada de emergência usando o Wi‑Fi"</string>
+    <string name="emergency_address_summary" msgid="3266760199681945746">"Endereço usado como sua localização pelos serviços de emergência se você fizer uma chamada de emergência usando o Wi‑Fi"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"Tela"</string>
     <string name="sound_settings" msgid="5534671337768745343">"Som"</string>
     <string name="all_volume_title" msgid="4296957391257836961">"Volumes"</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Redefinir?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"A redefinição da rede não está disponível para esse usuário"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"As configurações de rede foram redefinidas"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Limpar todos os dados (redefinição para a configuração original)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Essa ação apagará todos os dados do "<b>"armazenamento interno"</b>" do seu tablet, incluindo:\n\n"<li>"Sua Conta do Google"</li>\n<li>"Configurações e dados do sistema e dos apps"</li>\n<li>"Apps transferidos"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Essa ação apagará todos os dados do "<b>"armazenamento interno"</b>" de seu smartphone, incluindo:\n\n"<li>"Sua Conta do Google"</li>\n<li>"Configurações e dados do sistema e dos apps"</li>\n<li>"Apps transferidos"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"No momento você está conectado às seguintes contas:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Sem som"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Emitir som"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Emitir som e exibir na tela"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Baixa"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Média"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Alta"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Aviso de dados"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Definir limite de dados"</string>
     <string name="data_limit" msgid="1885406964934590552">"Limite de dados"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> usado(s) entre <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Configurar"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Outros apps inclusos no uso"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index b6bb5b6..7e12038 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s pretende aceder às suas mensagens. Conceder acesso a %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Pedido de acesso ao SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> pretende aceder ao seu cartão SIM. Ao conceder acesso ao cartão SIM, desativa a conetividade de dados no seu dispositivo durante a ligação. Fornecer acesso a <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Visível como \"<xliff:g id="DEVICE_NAME">^1</xliff:g>\" para outros dispositivos"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Os seus dispositivos"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Sincronizar o novo dispositivo"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Data e hora"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Não é permitida uma sequência de dígitos ascendente, descendente ou repetida"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Cancelar"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Limpar"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Cancelar"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Seguinte"</string>
     <string name="lock_setup" msgid="3355847066343753943">"A configuração está concluída."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Pretende repor?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"A reposição de rede não está disponível para este utilizador"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"As definições de rede foram repostas"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Apagar todos os dados (reposição de dados de fábrica)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Serão apagados todos os dados do "<b>"armazenamento interno"</b>" do tablet, incluindo:\n\n"<li>"A conta Google"</li>\n<li>"Dados e definições do sistema e da aplicação"</li>\n<li>"Aplicações transferidas"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Serão apagados todos os dados do "<b>"armazenamento interno"</b>" do telemóvel, incluindo:\n\n"<li>"A conta Google"</li>\n<li>"Dados e definições do sistema e da aplicação"</li>\n<li>"Aplicações transferidas"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Actualmente, tem sessão iniciada nas seguintes contas:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Sem som"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Emitir som"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Emitir som e aparecer no ecrã"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Baixa"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Média"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Alta"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Aviso de dados"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Definir limite de dados"</string>
     <string name="data_limit" msgid="1885406964934590552">"Limite de dados"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> utilizado(s) entre <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Configurar"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Outras aplicações incluídas na utilização"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index a72a24f..3d28743 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s deseja acessar suas mensagens. Conceder acesso a %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Solicitação de acesso ao cartão SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"O <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> deseja acessar seu cartão SIM. A concessão de acesso ao cartão SIM desativará a conectividade de dados no seu dispositivo durante a conexão. Conceda acesso ao <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Visível como \"<xliff:g id="DEVICE_NAME">^1</xliff:g>\" para outros dispositivos"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Seus dispositivos"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Parear novo dispositivo"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Data e hora"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Não é permitido usar uma sequência de dígitos em ordem crescente, decrescente ou repetidos"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Cancelar"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Limpar"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Cancelar"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Avançar"</string>
     <string name="lock_setup" msgid="3355847066343753943">"A configuração foi concluída."</string>
@@ -944,7 +942,7 @@
     <string name="wifi_calling_off_explanation" msgid="2597566001655908391">"Quando a chamada por Wi-Fi está ativada, seu smartphone pode enviar chamadas por redes Wi-Fi ou pela rede da sua operadora, dependendo da sua preferência e de qual sinal está mais forte. Antes de ativar esse recurso, verifique as taxas e outros detalhes com sua operadora."</string>
     <string name="wifi_calling_off_explanation_2" msgid="2329334487851497223"></string>
     <string name="emergency_address_title" msgid="3571902448699714454">"Atualizar endereço de emergência"</string>
-    <string name="emergency_address_summary" msgid="3266760199681945746">"Endereço usado pelos serviços de emergência como sua localização se você fizer uma chamada de emergência usando o Wi‑Fi"</string>
+    <string name="emergency_address_summary" msgid="3266760199681945746">"Endereço usado como sua localização pelos serviços de emergência se você fizer uma chamada de emergência usando o Wi‑Fi"</string>
     <string name="display_settings_title" msgid="1708697328627382561">"Tela"</string>
     <string name="sound_settings" msgid="5534671337768745343">"Som"</string>
     <string name="all_volume_title" msgid="4296957391257836961">"Volumes"</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Redefinir?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"A redefinição da rede não está disponível para esse usuário"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"As configurações de rede foram redefinidas"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Limpar todos os dados (redefinição para a configuração original)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Essa ação apagará todos os dados do "<b>"armazenamento interno"</b>" do seu tablet, incluindo:\n\n"<li>"Sua Conta do Google"</li>\n<li>"Configurações e dados do sistema e dos apps"</li>\n<li>"Apps transferidos"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Essa ação apagará todos os dados do "<b>"armazenamento interno"</b>" de seu smartphone, incluindo:\n\n"<li>"Sua Conta do Google"</li>\n<li>"Configurações e dados do sistema e dos apps"</li>\n<li>"Apps transferidos"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"No momento você está conectado às seguintes contas:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Sem som"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Emitir som"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Emitir som e exibir na tela"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Baixa"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Média"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Alta"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Aviso de dados"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Definir limite de dados"</string>
     <string name="data_limit" msgid="1885406964934590552">"Limite de dados"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> usado(s) entre <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Configurar"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Outros apps inclusos no uso"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 35ada60..e4ccf47 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -167,8 +167,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s dorește să acceseze mesajele dvs. Oferiți acces pentru %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Solicitare de acces la SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> dorește să acceseze cardul SIM. Dacă acordați accesul la cardul SIM, conexiunea de date de pe dispozitiv va fi dezactivată pe durata conectării. Acordați accesul pentru <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Vizibil ca „<xliff:g id="DEVICE_NAME">^1</xliff:g>” pentru alte dispozitive"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Dispozitivele dvs."</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Asociați un nou dispozitiv"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Data și ora"</string>
@@ -598,8 +597,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Șirurile de cifre ascendente, descendente sau repetate nu sunt permise"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Anulați"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Ștergeți"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Anulați"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Înainte"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Configurarea este completă."</string>
@@ -1354,8 +1352,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Resetați?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Resetarea rețelei nu este disponibilă pentru acest utilizator"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Setările pentru rețea au fost reinițializate"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Ștergeți toate datele (reveniți la setările din fabrică)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Această acțiune va șterge toate datele din "<b>"stocarea internă"</b>" a tabletei dvs., inclusiv:\n\n"<li>"Contul dvs. Google;"</li>\n<li>"datele și setările sistemului și ale aplicațiilor;"</li>\n<li>"aplicațiile descărcate;"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Această acțiune va șterge toate datele din "<b>"stocarea internă"</b>" a telefonului dvs., inclusiv:\n\n"<li>"Contul dvs. Google;"</li>\n<li>"datele și setările sistemului și ale aplicațiilor;"</li>\n<li>"aplicațiile descărcate;"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"În prezent sunteți conectat(ă) la următoarele conturi:\n"</string>
@@ -2913,6 +2910,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Fără sunet"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Se emite un sunet"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Se emite un sunet și se evidențiază pe ecran"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Scăzută"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Medie"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Ridicată"</string>
@@ -3458,8 +3457,7 @@
     <string name="data_warning" msgid="209133958008062117">"Avertisment pentru date"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Setați limita de date"</string>
     <string name="data_limit" msgid="1885406964934590552">"Limită de date"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"S-au folosit <xliff:g id="ID_1">%1$s</xliff:g> pe <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Configurați"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Alte aplicații incluse în utilizare"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 1df5fd5..11d2ed4 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -168,8 +168,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s хочет получить доступ к вашим сообщениям. Предоставить доступ %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Запрос на доступ к SIM-карте"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"Устройство \"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>\" запрашивает доступ к вашей SIM-карте. Если вы его предоставите, будет установлено соединение, на время которого будут отключены все сервисы передачи данных. Открыть доступ устройству \"<xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>\""</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Название в списке устройств: <xliff:g id="DEVICE_NAME">^1</xliff:g>"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Ваши устройства"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Подключение нового устройства"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Дата и время"</string>
@@ -607,8 +606,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Нельзя использовать последовательности из идущих подряд или повторяющихся цифр"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"ОК"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Отмена"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Сбросить"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Отмена"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Далее"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Блокировка настроена."</string>
@@ -1367,8 +1365,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Сбросить настройки?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Этот пользователь не может сбрасывать настройки сети"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Сетевые настройки сброшены"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Удалить все данные (сбросить настройки)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Будут удалены все данные из "<b>"внутренней памяти"</b>" устройства, в том числе:\n\n"<li>"Ваш аккаунт Google"</li>\n<li>"Настройки/данные системы и приложений"</li>\n<li>"Загруженные приложения"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Будут удалены все данные из "<b>"внутренней памяти"</b>" устройства, в том числе:\n\n"<li>"Ваш аккаунт Google"</li>\n<li>"Настройки/данные системы и приложений"</li>\n<li>"Загруженные приложения"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Аккаунты на этом устройстве:\n"</string>
@@ -2940,6 +2937,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Без звука"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Звук"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Звук и всплывающее окно"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Низкий"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Средний"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Высокий"</string>
@@ -3501,8 +3500,7 @@
     <string name="data_warning" msgid="209133958008062117">"Предупреждение"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Установить лимит трафика"</string>
     <string name="data_limit" msgid="1885406964934590552">"Лимит трафика"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"Использовано <xliff:g id="ID_1">%1$s</xliff:g> (<xliff:g id="ID_2">%2$s</xliff:g>)"</string>
     <string name="configure" msgid="1029654422228677273">"Настроить"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Другие приложения"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index be898a9..362007b 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s හට ඔබගේ පණිවිඩ වෙත ප්‍රවේශ විමට අවශ්‍යයි. %2$s හට ප්‍රවේශය දෙන්නද?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIM කාඩ්පත් ප්‍රවේශය ඉල්ලීම"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> හට ඔබේ SIM කාඩ්පත වෙත පිවිසීමට අවශ්‍යයි. SIM කාඩ්පතට ප්‍රවේශය ලබා දිම ඔබේ උපාංගයට සබැඳුම් කාල සීමාව සඳහා දත්ත සබැඳුම් හැකියාව අබල කරනු ඇත. <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> වෙත ප්‍රවේශය ලබා දෙන්න"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"වෙනත් උපාංගවලට <xliff:g id="DEVICE_NAME">^1</xliff:g> ලෙස දෘශ්‍යමානයි"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"ඔබගේ උපාංග"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"නව උපාංගය යුගල කරන්න"</string>
     <string name="date_and_time" msgid="9062980487860757694">"දිනය සහ වේලාව"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"ආරෝහණ, අවරෝහණ හෝ ප්‍රනරාවර්ත අනුක්‍රමයේ අංක වෙත අවසර නැත"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"හරි"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"අවලංගු කරන්න"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"හිස් කරන්න"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"අවලංගු කරන්න"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"මීලඟ"</string>
     <string name="lock_setup" msgid="3355847066343753943">"සැකසීම අවසන්."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"යළි පිහිටුවන්නද?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"මෙම පරිශීලකයා වෙත ජාලය යළි පිහිටුවීමේ හැකියාව නැත"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"ජාල සැකසීම් යළි පිහිටුවන ලදි"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"සියලු දත්ත මකන්න (කර්මාන්තශාලා යළි සැකසීම)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"ඔබගේ ටැබ්ලටයේ "<b>"අභ්‍යන්තර ආචනය"</b>", සියලු දත්ත මකයි:\n\n"<li>"ඔබගේ Google ගිණුම"</li>\n<li>"පද්ධති සහ යෙදුම් දත්ත සහ සැකසීම්"</li>\n<li>"බාගත යෙදුම්"</li>" අන්තර්ගතය."</string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"මෙය ඔබගේ දුරකථනයේ "<b>"අභ්‍යන්තර ගබඩාවේ"</b>" සියලු දත්ත මකයි:\n\n"<li>"ඔබගේ Google ගිණුම"</li>\n<li>"පද්ධති සහ යෙදුම් දත්ත සහ සැකසීම්"</li>\n<li>"බාගත යෙදුම්"</li>" අන්තර්ගතය."</string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"ඔබ දැනට පහත ගිණුම් වෙත පුරනය වී සිටියි:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"ශබ්ද නැත"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"ශබ්ද කරන්න"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"ශබ්ද කර තිරය මත උත්පතනය කරන්න"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"පහළ"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"මධ්‍යම"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"ඉහළ"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"දත්ත අනතුරු ඇඟවීම"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"දත්ත සීමාව සකසන්න"</string>
     <string name="data_limit" msgid="1885406964934590552">"දත්ත සීමාව"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> <xliff:g id="ID_2">%2$s</xliff:g> භාවිත කළ"</string>
     <string name="configure" msgid="1029654422228677273">"වින්‍යාස කිරීම"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"භාවිතය තුළ ඇතුළත් වෙනත් යෙදුම්"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 6ad8a11..62b8ee9 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -168,8 +168,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"Zariadenie %1$s chce získať prístup k vašim správam. Chcete zariadeniu %2$s tento prístup umožniť?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Žiadosť o prístup k SIM karte"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"Zariadenie <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> chce pristupovať k vašej SIM karte. Udelenie prístupu k SIM karte zakáže na vašom zariadení dátové pripojenie po dobu jeho trvania. Udeliť prístup zariadeniu <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Viditeľné pre ostatné zariadenia ako <xliff:g id="DEVICE_NAME">^1</xliff:g>"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Vaše zariadenia"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Párovanie nového zariadenia"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Dátum a čas"</string>
@@ -607,8 +606,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Vzostupná, zostupná alebo opakovaná sekvencia čísiel nie je povolená"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Zrušiť"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Vymazať"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Zrušiť"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Ďalej"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Nastavenie je dokončené."</string>
@@ -1367,8 +1365,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Resetovať?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Tento používateľ nemôže resetovať nastavenia siete"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Sieťové nastavenia boli obnovené"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Vymazať všetky dáta (obnovenie výrobných nastavení)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Táto operácia vymaže všetky dáta v "<b>"internom úložisku"</b>" tabletu, vrátane:\n\n"<li>"účtu Google"</li>\n<li>"dát a nastavení systému a aplikácií"</li>\n<li>"stiahnutých aplikácií"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Táto operácia vymaže všetky dáta v "<b>"internom úložisku"</b>" telefónu, vrátane:\n\n"<li>"účtu Google"</li>\n<li>"dát a nastavení systému a aplikácií"</li>\n<li>"stiahnutých aplikácií"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Aktuálne ste prihlásení do nasledujúcich účtov:\n"</string>
@@ -2940,6 +2937,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Bez zvuku"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Vydať zvukový signál"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Vydať zvukový signál a vyskočiť na obrazovku"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Nízka"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Stredná"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Vysoká"</string>
@@ -3501,8 +3500,7 @@
     <string name="data_warning" msgid="209133958008062117">"Dátové upozornenie"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Nastaviť dátový limit"</string>
     <string name="data_limit" msgid="1885406964934590552">"Dátový limit"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> využité v rozsahu <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Konfigurovať"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Iné aplikácie zahrnuté v prehľade spotreby dát"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index deba8d6..2d47ee0 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -168,8 +168,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s želi dostopati do vaših sporočil. Želite omogočiti dostop za %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Zahteva za dostop do kartice SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> želi dostopati do vaše kartice SIM. Z omogočanjem dostopa do kartice SIM bodo v napravi za čas trajanja povezave onemogočene podatkovne povezave. Omogočite dostop za <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Drugim napravam vidno kot »<xliff:g id="DEVICE_NAME">^1</xliff:g>«"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Vaše naprave"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Seznanitev nove naprave"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Datum in ura"</string>
@@ -607,8 +606,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Naraščajoč, padajoč ali ponavljajoč se niz števk je prepovedan."</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"V redu"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Prekliči"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Izbriši"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Prekliči"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Naprej"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Namestitev je končana."</string>
@@ -1367,8 +1365,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Želite ponastaviti?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Ponastavitev omrežnih nastavitev ni na voljo za tega uporabnika"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Omrežne nastavitve so ponastavljene"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Izbriši vse podatke (ponastavitev na tovarniške nastavitve)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"S tem boste iz "<b>"notranjega pomnilnika"</b>" tabličnega računalnika izbrisali vse podatke:\n\n"<li>"Google Račun"</li>\n<li>"Podatke in nastavitve sistema in aplikacij"</li>\n<li>"Prenesene aplikacije"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"S tem boste iz "<b>"notranjega pomnilnika"</b>" telefona izbrisali vse podatke:\n\n"<li>"Google Račun"</li>\n<li>"Podatke in nastavitve sistema in aplikacij"</li>\n<li>"Prenesene aplikacije"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Trenutno ste prijavljeni v te račune:\n"</string>
@@ -1567,7 +1564,7 @@
     <string name="install_applications" msgid="4872012136210802181">"Neznani viri"</string>
     <string name="install_applications_title" msgid="4987712352256508946">"Dovoli vse vire aplikacij"</string>
     <string name="recent_app_category_title" msgid="6673071268966003928">"Nedavno odprte aplikacije"</string>
-    <string name="see_all_apps_title" msgid="1317153498074308438">"Prikaži vse (<xliff:g id="COUNT">%1$d</xliff:g>) aplikacije"</string>
+    <string name="see_all_apps_title" msgid="1317153498074308438">"Prikaži vse aplikacije (<xliff:g id="COUNT">%1$d</xliff:g>)"</string>
     <string name="recent_app_summary" msgid="3366446669844932300">"pred <xliff:g id="TIME">^1</xliff:g>"</string>
     <string name="install_all_warning" product="tablet" msgid="8310489909586138165">"Neznane aplikacije lažje napadejo tablični računalnik in osebne podatke v njem. Če namestite aplikacije iz tega vira, se strinjate, da ste sami odgovorni za morebitno škodo, nastalo v tabličnem računalniku, ali izgubo podatkov, ki je lahko posledica uporabe teh aplikacij."</string>
     <string name="install_all_warning" product="default" msgid="1952257127370115988">"Neznane aplikacije lažje napadejo telefon in osebne podatke v njem. Če namestite aplikacije iz tega vira, se strinjate, da ste sami odgovorni za morebitno škodo, nastalo v telefonu, ali izgubo podatkov, ki je lahko posledica uporabe teh aplikacij."</string>
@@ -2940,6 +2937,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Brez zvoka"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Predvajaj zvok"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Predvajaj zvok in prikaži na zaslonu"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Nizka pomembnost"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Srednja pomembnost"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Visoka pomembnost"</string>
@@ -3197,7 +3196,7 @@
     <string name="advanced_apps" msgid="4812975097124803873">"Dodatno"</string>
     <string name="configure_apps" msgid="6685680790825882528">"Konfiguriranje aplikacij"</string>
     <string name="unknown_app" msgid="5275921288718717656">"Neznana aplikacija"</string>
-    <string name="app_permissions" msgid="4148222031991883874">"Dovoljenja za aplik."</string>
+    <string name="app_permissions" msgid="4148222031991883874">"Dovoljenja za aplikacije"</string>
     <string name="app_permissions_summary" msgid="5163974162150406324">"Aplikacije uporabljajo: <xliff:g id="APPS">%1$s</xliff:g>"</string>
     <string name="tap_to_wake" msgid="7211944147196888807">"Dot. za prekl. iz stan. pripr."</string>
     <string name="tap_to_wake_summary" msgid="4341387904987585616">"Za preklop naprave iz stanja pripravljenosti se dvakrat dotaknite kjer koli na zaslonu"</string>
@@ -3501,8 +3500,7 @@
     <string name="data_warning" msgid="209133958008062117">"Opozorilo za prenos podatkov"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Nastavitev omej. prenosa pod."</string>
     <string name="data_limit" msgid="1885406964934590552">"Omejitev prenosa podatkov"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> uporabljeno v obdobju <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Konfiguriranje"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Druge aplikacije, vključene v prikaz porabe"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index b83d0ed..138fa3e 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s kërkon të ketë qasje te mesazhet e tua. Të lejohet qasja për %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Kërkesa për qasje në kartën SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"Pajisja <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> dëshiron të ketë qasje në kartën tënde SIM. Dhënia e të drejtës për qasje në kartën SIM do të çaktivizojë lidhjen e të dhënave në pajisjen tënde gjatë kohëzgjatjes së lidhjes. Jepi qasje pajisjes <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"E dukshme si \"<xliff:g id="DEVICE_NAME">^1</xliff:g>\" për pajisjet e tjera"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Pajisjet e tua"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Çifto pajisjen e re"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Data dhe ora"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Nuk lejohet një sekuencë shifrash në rritje, në zbritje ose me përsëritje"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"Në rregull"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Anulo"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Pastro"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Anulo"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Përpara"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Konfigurimi përfundoi."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Të rivendosen?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Rivendosja e rrjetit nuk është e disponueshme për këtë përdorues"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Cilësimet e rrjetit janë rivendosur"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Spastro të gjitha të dhënat (rivendosja e fabrikës)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Kjo do t\'i fshijë të gjitha të dhënat nga "<b>"hapësira e brendshme për ruajtje"</b>" e tabletit, përfshirë:\n\n"<li>"Llogarinë e Google"</li>\n<li>"Të dhënat e sistemit dhe aplikacioneve si dhe cilësimet"</li>\n<li>"Aplikacionet e shkarkuara"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Kjo do t\'i fshijë të gjitha të dhënat nga "<b>"hapësira e brendshme për ruajtje"</b>" e telefonit, përfshirë:\n\n"<li>"Llogarinë e Google"</li>\n<li>"Të dhënat e sistemit dhe aplikacioneve si dhe cilësimet"</li>\n<li>"Aplikacionet e shkarkuara"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Je i identifikuar aktualisht në llogaritë e mëposhtme:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Nuk ka tingull"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Bëj tingull"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Bëj një tingull dhe shfaq në ekran"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"E ulët"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Mesatare"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"E lartë"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Paralajmërimi i të dhënave"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Cakto kufirin e të dhënave"</string>
     <string name="data_limit" msgid="1885406964934590552">"Kufiri i të dhënave"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> të përdorura në <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Konfiguro"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Aplikacionet e tjera të përfshira në përdorim"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index fb07721..6ec0176 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -167,8 +167,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s жели да приступи порукама. Желите ли да одобрите приступ за %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Захтев за приступ SIM картици"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> жели да приступа SIM картици. Одобравање приступа SIM картици ће онемогућити везу за пренос података на уређају док траје повезивање. Дајте приступ уређају <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Другим уређајима видљив као „<xliff:g id="DEVICE_NAME">^1</xliff:g>“"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Уређаји"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Упарите нови уређај"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Датум и време"</string>
@@ -598,8 +597,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Растући, опадајући или поновљени низ цифара није дозвољен"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"Потврди"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Откажи"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Обриши"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Откажи"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Следеће"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Подешавање је довршено."</string>
@@ -1354,8 +1352,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Желите да ресетујете?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Ресетовање мреже није доступно за овог корисника"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Подешавања мреже су ресетована"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Избриши све податке (ресетовање на фабричка подешавања)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Овим бришете све податке из "<b>"интерне меморије"</b>" таблета, укључујући:\n\n"<li>"Google налог"</li>\n<li>"Податке и подешавања система и апликација"</li>\n<li>"Преузете апликације"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Овим бришете све податке из "<b>"интерне меморије"</b>" телефона, укључујући:\n\n"<li>"Google налог"</li>\n<li>"Податке и подешавања система и апликација"</li>\n<li>"Преузете апликације"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Тренутно сте пријављени на следеће налоге:\n"</string>
@@ -2913,6 +2910,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Без звука"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Емитује се звучни сигнал"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Емитује се звучни сигнал и приказује се на екрану"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Низак"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Средњи"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Висок"</string>
@@ -3458,8 +3457,7 @@
     <string name="data_warning" msgid="209133958008062117">"Упозорење за потрошњу података"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Подеси ограничење за податке"</string>
     <string name="data_limit" msgid="1885406964934590552">"Ограничење за потрошњу података"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"Искористили сте <xliff:g id="ID_1">%1$s</xliff:g> у периоду <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Конфигуришите"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Друге апликације укључене у употребу"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 33a1995..d9612ea 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s vill ha åtkomst till dina meddelanden. Vill du ge %2$s åtkomst?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Begäran om åtkomst till SIM-kort"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> vill ha åtkomst till ditt SIM-kort. Om du ger den åtkomst till SIM-kortet inaktiveras dataanslutningen på enheten under tiden som anslutningen är upprättad. Ge <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> åtkomst"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Synlig för andra enheter som <xliff:g id="DEVICE_NAME">^1</xliff:g>"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Dina enheter"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Koppla en ny enhet"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Datum och tid"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"En stigande, fallande eller upprepad siffersekvens är inte tillåten"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Avbryt"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Rensa"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Avbryt"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Nästa"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Installationen är klar."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Vill du återställa?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Den här användaren kan inte återställa nätverket"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Nätverksinställningarna har återställts"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Rensa all data (återställ standardinställningar)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Detta raderar all data från enhetens "<b>"interna lagringsutrymme"</b>", bland annat:\n\n"<li>"ditt Google-konto"</li>\n<li>"system- och appdata och inställningar"</li>\n<li>"hämtade appar"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Detta raderar all data från enhetens "<b>"interna lagringsutrymme"</b>", bland annat:\n\n"<li>"ditt Google-konto"</li>\n<li>"system- och appdata och inställningar"</li>\n<li>"hämtade appar"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Du är inloggad på följande konton:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Inget ljud."</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Spela upp ljud"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Spela upp ljud och visa på skärmen"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Låg"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Medelhög"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Hög"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Datavarning"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Ange datagräns"</string>
     <string name="data_limit" msgid="1885406964934590552">"Datagräns"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> användes <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Konfigurera"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Andra appar som är inkluderade i användningen"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index e5fe031..3da20fc 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s inataka kufikia ujumbe wako. Ruhusu ufikiaji kwa %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Ombi la idhini ya kufikia SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> inataka idhini ya kufikia kadi yako ya SIM. Ukiipa idhini ya kufikia kadi ya SIM, itazima muunganisho wa data kwenye kifaa chako katika kipindi ambacho imeunganishwa. Ipe <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> idhini ya ufikiaji"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Inaonekana kama \'<xliff:g id="DEVICE_NAME">^1</xliff:g>\' kwenye vifaa vingine"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Vifaa vyako"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Oanisha kifaa kipya"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Tarehe na saa"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Haturuhusi mpangilio wa kupanda, kushuka au kujirudia kwa tarakimu"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"Sawa"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Ghairi"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Futa"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Ghairi"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Ifuatayo"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Usanidi umekamilika."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Iwekwe upya?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Kuweka upya mtandao hakupatikani kwa mtumiaji huyu"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Mipangilio ya mtandao imewekwa upya"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Futa data yote (rejesha mipangilio ya kiwandani)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Hii itafuta data yote kutoka hifadhi yako iliyo "<b>"ndani ya kompyuta kibao"</b>", pamoja na:\n \n"<li>"Akaunti yako ya Google"</li>\n<li>"Data na mipangilio ya mfumo na programu"</li>\n<li>"Programu zilizopakuliwa"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Hii itafuta data yote kutoka hifadhi yako iliyo "<b>"ndani ya simu"</b>", pamoja na:\n \n"<li>"Akaunti yako ya Google"</li>\n<li>"Data na mipangilio ya mfumo na programu"</li>\n<li>"Programu zilizopakuliwa"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Kwa sasa umeingia kwenye akaunti zifuatazo:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Hakuna sauti"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Toa sauti"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Toa sauti na ibukizi kwenye skrini"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Chini"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Wastani"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Juu"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Onyo kuhusu data"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Weka kikomo cha data"</string>
     <string name="data_limit" msgid="1885406964934590552">"Kikomo cha data"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"Imetumia <xliff:g id="ID_1">%1$s</xliff:g> kuanzia <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Weka mipangilio"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Programu zingine zilizojumuishwa katika matumizi"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index b43d6c4..14e0566 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"உங்கள் செய்திகளை %1$s அணுக விரும்புகிறது. %2$s க்கு அணுகலை வழங்கவா?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIM அணுகல் கோரிக்கை"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> உங்கள் சிம் கார்டை அணுக விரும்புகிறது. சிம் கார்டிற்கு அணுகல் வழங்குவது இணைப்பின் போது, உங்கள் சாதனத்தின் தரவு இணைப்பை முடக்கும். <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>க்கு அணுகல் வழங்கவும்"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"பிற சாதனங்களில் “<xliff:g id="DEVICE_NAME">^1</xliff:g>” எனத் தெரியும்"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"உங்கள் சாதனங்கள்"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"புதிய சாதனத்தை இணை"</string>
     <string name="date_and_time" msgid="9062980487860757694">"தேதி &amp; நேரம்"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"இலக்கங்கள் ஏறுவரிசையில், இறங்குவரிசையில் அல்லது ஒரே இலக்கத்தைப் பயன்படுத்துவது அனுமதிக்கப்படவில்லை"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"சரி"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"ரத்துசெய்"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"அழி"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"ரத்துசெய்"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"அடுத்து"</string>
     <string name="lock_setup" msgid="3355847066343753943">"அமைக்கப்பட்டது."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"மீட்டமைக்கவா?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"நெட்வொர்க் அமைப்புகளை மீட்டமைக்க, இந்தப் பயனருக்கு அனுமதியில்லை"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"நெட்வொர்க் அமைப்புகள் மீட்டமைக்கப்பட்டன"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"எல்லாத் தரவையும் அழி (ஆரம்பநிலை மீட்டமைவு)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"இது, உங்கள் டேப்லெடின் "<b>"அகச் சேமிப்பிடத்தில்"</b>" உள்ள எல்லா தரவையும் அழித்துவிடும், இவற்றில் உள்ளடங்குவன:\n\n"<li>"உங்கள் Google கணக்கு"</li>\n<li>"அமைப்பு மற்றும் பயன்பாட்டுத் தரவு, மற்றும் அமைப்புகள்"</li>\n<li>"பதிவிறக்கப்பட்ட பயன்பாடுகள்"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"இது, உங்கள் மொபைலின் "<b>"அகச் சேமிப்பிடத்தில்"</b>" உள்ள பின்வரும் எல்லா தரவையும் அழித்துவிடும்:\n\n"<li>"உங்கள் Google கணக்கு"</li>\n<li>"கணினி, பயன்பாட்டுத் தரவு மற்றும் அமைப்புகள்"</li>\n<li>"பதிவிறக்கிய பயன்பாடுகள்"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"தற்போது, பின்வரும் கணக்குகளில் உள்நுழைந்துள்ளீர்கள்:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"ஒலியெழுப்பாது"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"ஒலியெழுப்பும்"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"ஒலியெழுப்பி, திரையில் காட்டும்"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"குறைவான முக்கியத்துவம்"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"நடுத்தர முக்கியத்துவம்"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"அதிக முக்கியத்துவம்"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"தரவு எச்சரிக்கை"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"தரவு வரம்பை அமை"</string>
     <string name="data_limit" msgid="1885406964934590552">"தரவு வரம்பு"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> பயன்படுத்தியது: <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"உள்ளமை"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"தரவு உபயோகத்தில் உள்ளடங்கும் பிற பயன்பாடுகள்"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 23817de..f789743 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s మీ సందేశాలను ప్రాప్యత చేయాలనుకుంటోంది. %2$sకు ప్రాప్యత అందించాలా?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIM ప్రాప్యత అభ్యర్థన"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> మీ SIM కార్డ్‌ను ప్రాప్యత చేయాలనుకుంటోంది. SIM కార్డ్‌కి ప్రాప్యత మంజూరు చేయడం వలన మీ పరికరంలో కనెక్షన్ కాలంలో డేటా కనెక్టివిటీ నిలిపివేయబడుతుంది. <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>కి ప్రాప్యత మంజూరు చేయండి"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"ఇతర పరికరాలకు “<xliff:g id="DEVICE_NAME">^1</xliff:g>” వలె కనిపిస్తుంది"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"మీ పరికరాలు"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"కొత్త పరికరాన్ని జత చేయండి"</string>
     <string name="date_and_time" msgid="9062980487860757694">"తేదీ &amp; సమయం"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"అంకెలను ఆరోహణ, అవరోహణ క్రమంలో లేదా ఒకే అంకెను వరుసగా పునరావృతంగా ఉపయోగించకూడదు"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"సరే"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"రద్దు చేయి"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"తీసివేయండి"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"రద్దు చేయి"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"తదుపరి"</string>
     <string name="lock_setup" msgid="3355847066343753943">"సెటప్ పూర్తయింది."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"రీసెట్ చేయాలా?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"ఈ వినియోగదారు కోసం నెట్‌వర్క్ రీసెట్ అందుబాటులో లేదు"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"నెట్‌వర్క్ సెట్టింగ్‌లు రీసెట్ చేయబడ్డాయి"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"మొత్తం డేటాను తొలగించండి (ఫ్యాక్టరీ రీసెట్)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"ఇందువలన మీ టాబ్లెట్ యొక్క "<b>"అంతర్గత నిల్వ"</b>" నుండి వీటితో సహా, మొత్తం డేటా ఎరేజ్ చేయబడుతుంది:\n\n"<li>"మీ Google ఖాతా"</li>\n<li>"సిస్టమ్ మరియు అనువర్తన డేటా మరియు సెట్టింగ్‌లు"</li>\n<li>"డౌన్‌లోడ్ చేయబడిన అనువర్తనాలు"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"ఇందువలన మీ ఫోన్ "<b>"అంతర్గత నిల్వ"</b>" నుండి వీటితో సహా మొత్తం డేటా ఎరేజ్ చేయబడుతుంది:\n\n"<li>"Google ఖాతా"</li>\n<li>"సిస్టమ్ మరియు అనువర్తన డేటా మరియు సెట్టింగ్‌లు"</li>\n<li>"డౌన్‌లోడ్ చేయబడిన అనువర్తనాలు"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"మీరు ప్రస్తుతం క్రింది ఖాతాలకు సైన్ ఇన్ చేసారు:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"ధ్వని చేయదు"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"శబ్దం చేయి"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"శబ్దం చేసి, స్క్రీన్‌పై చూపు"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"తక్కువ"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"మధ్యస్థం"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"అధికం"</string>
@@ -3417,8 +3416,7 @@
     <string name="data_warning" msgid="209133958008062117">"డేటా హెచ్చరిక"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"డేటా పరిమితిని సెట్ చేయి"</string>
     <string name="data_limit" msgid="1885406964934590552">"డేటా పరిమితి"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> <xliff:g id="ID_2">%2$s</xliff:g> కాలంలో ఉపయోగించబడింది"</string>
     <string name="configure" msgid="1029654422228677273">"కాన్ఫిగర్ చేయి"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"వినియోగంలో చేర్చబడిన ఇతర అనువర్తనాలు"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 9becb05..fb01cc1 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s ต้องการเข้าถึงข้อความของคุณ ให้สิทธิ์เข้าถึงแก่ %2$s ไหม"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"ส่งคำขอการเข้าถึงซิม"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> ต้องการเข้าถึงซิมการ์ด การให้สิทธิ์เข้าถึงซิมการ์ดจะปิดการเชื่อมต่อข้อมูลบนอุปกรณ์ในระหว่างที่มีการเชื่อมต่อ โปรดให้สิทธิ์เข้าถึงแก่ <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"อุปกรณ์อื่นๆ จะเห็นเป็นชื่อ “<xliff:g id="DEVICE_NAME">^1</xliff:g>”"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"อุปกรณ์ของคุณ"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"จับคู่อุปกรณ์ใหม่"</string>
     <string name="date_and_time" msgid="9062980487860757694">"วันที่และเวลา"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"ไม่อนุญาตให้เรียงจากน้อยไปมาก จากมากไปน้อย หรือเรียงลำดับตัวเลขที่ซ้ำกัน"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"ตกลง"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"ยกเลิก"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"ล้าง"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"ยกเลิก"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"ถัดไป"</string>
     <string name="lock_setup" msgid="3355847066343753943">"การตั้งค่าเสร็จสมบูรณ์"</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"รีเซ็ตไหม"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"การรีเซ็ตเครือข่ายไม่พร้อมใช้งานสำหรับผู้ใช้รายนี้"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"รีเซ็ตการตั้งค่าเครือข่ายแล้ว"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"ลบข้อมูลทั้งหมด (รีเซ็ตเป็นค่าเริ่มต้น)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"การดำเนินการนี้จะลบข้อมูลทั้งหมดออกจาก"<b>"ที่จัดเก็บข้อมูลภายใน"</b>"ของแท็บเล็ตของคุณ ซึ่งประกอบด้วย\n\n"<li>"บัญชี Google ของคุณ"</li>\n<li>"ข้อมูลและการตั้งค่าของระบบและแอปพลิเคชัน"</li>\n<li>"แอปพลิเคชันที่ดาวน์โหลด"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"การดำเนินการนี้จะลบข้อมูลทั้งหมดออกจาก"<b>"ที่จัดเก็บข้อมูลภายใน"</b>"ของโทรศัพท์ของคุณ ซึ่งประกอบด้วย\n\n"<li>"บัญชี Google ของคุณ"</li>\n<li>"ข้อมูลและการตั้งค่าของระบบและแอปพลิเคชัน"</li>\n<li>"แอปพลิเคชันที่ดาวน์โหลด"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"ขณะนี้คุณได้ลงชื่อเข้าใช้บัญชีต่อไปนี้แล้ว:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"ไม่มีเสียง"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"ส่งเสียง"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"ส่งเสียงและแสดงในหน้าจอ"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"ต่ำ"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"ปานกลาง"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"สูง"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"เตือนปริมาณอินเทอร์เน็ต"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"ตั้งค่าขีดจำกัดอินเทอร์เน็ต"</string>
     <string name="data_limit" msgid="1885406964934590552">"ขีดจำกัดอินเทอร์เน็ต"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"ใช้ไป <xliff:g id="ID_1">%1$s</xliff:g> ช่วงวันที่ <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"กำหนดค่า"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"แอปอื่นๆ ที่รวมอยู่ในการใช้งาน"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index fd040f4..e86564d 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"Gustong i-access ni %1$s ang iyong mga mensahe. Bigyan ng access si %2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Kahilingan sa pag-access sa SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"Gustong i-access ng <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> ang iyong SIM card. Idi-disable ng pagbibigay ng access sa SIM ang connectivity ng data sa iyong device habang nakakonekta. Bigyan ng access ang <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Nakikita bilang “<xliff:g id="DEVICE_NAME">^1</xliff:g>” sa iba pang device"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Ang iyong mga device"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Magpares ng bagong device"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Petsa at oras"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Hindi pinapayagan ang pataas, pababa, o paulit-ulit na pagkakasunod-sunod ng mga digit"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Kanselahin"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"I-clear"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Kanselahin"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Susunod"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Kumpleto na ang pag-setup."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"I-reset?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Hindi available ang pag-reset ng network para sa user na ito"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Na-reset na ang mga network setting"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Burahin ang lahat ng data (factory reset)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Buburahin nito ang lahat ng data mula sa "<b>"internal storage"</b>" ng iyong tablet, kabilang ang:\n\n"<li>"Iyong Google account"</li>\n<li>"System at data ng app at mga setting"</li>\n<li>"Na-download na apps"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Buburahin nito ang lahat ng data mula sa "<b>"internal storage"</b>" ng iyong telepono, kabilang ang:\n\n"<li>"Iyong Google account"</li>\n<li>"Data at mga setting ng system at app"</li>\n<li>"Na-download na mga app"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Kasalukuyan kang naka-sign in sa mga sumusunod na account:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Walang tunog"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Gumawa ng tunog"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Gumawa ng tunog at mag-pop up sa screen"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Mababa"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Katamtaman"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Mataas"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Babala sa paggamit ng data"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Itakda ang limitasyon ng data"</string>
     <string name="data_limit" msgid="1885406964934590552">"Limitasyon ng data"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"Gumamit ng <xliff:g id="ID_1">%1$s</xliff:g> noong <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"I-configure"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Iba pang mga app na kasama sa paggamit"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 885516f..409e656 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s, iletilerinize erişmek istiyor. %2$s için erişim izni veriyor musunuz?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIM\'e erişim isteği"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>, SIM kartınıza erişmek istiyor. SIM karta erişim vermek, bağlantı süresince cihazınızın veri bağlantısını devre dışı bırakır. <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> adlı cihaza bağlantı verin"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Diğer cihazlar tarafından \"<xliff:g id="DEVICE_NAME">^1</xliff:g>\" olarak görülür"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Cihazlarınız"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Yeni cihaz eşle"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Tarih ve saat"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Artan, azalan veya tekrar eden rakam dizisine izin verilmiyor"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"Tamam"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"İptal"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Temizle"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"İptal"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"İleri"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Kurulum tamamlandı."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Sıfırlansın mı?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Bu kullanıcı için ağ ayarlarına sıfırlama işlevi kullanılamıyor"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Ağ ayarları sıfırlandı"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Tüm verileri sil (fabrika ayarlarına sıfırla)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Bu işlem tablet bilgisayarınızın "<b>"dahili depolama alanından"</b>"şu verilerin tümünü siler:\n\n"<li>"Google hesabınız"</li>\n<li>"Sistem ve uygulama verileri ile ayarları"</li>\n<li>"İndirilen uygulamalar"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Bu işlem, telefonunuzun "<b>"dahili depolama alanından"</b>" şu verilerin tümünü siler:\n\n"<li>"Google hesabınız"</li>\n<li>"Sistem ve uygulama verileri ile ayarları"</li>\n<li>"İndirilen uygulamalar"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Şu anda aşağıdaki hesaplarda oturum açmış durumdasınız:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Sessiz"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Ses çıkar"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Ses çıkar ve ekranda göster"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Düşük"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Orta"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Yüksek"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Veri uyarısı"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Veri sınırı ayarla"</string>
     <string name="data_limit" msgid="1885406964934590552">"Veri sınırı"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_2">%2$s</xliff:g> arasında <xliff:g id="ID_1">%1$s</xliff:g> kullanıldı"</string>
     <string name="configure" msgid="1029654422228677273">"Yapılandır"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Kullanıma dahil olan diğer uygulamalar"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index d24851e..09c3735 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -168,8 +168,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s хоче отримати доступ до ваших повідомлень. Надати %2$s доступ?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Запит на доступ до SIM-карти"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"Пристрою <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> потрібен доступ до вашої SIM-карти. Коли він використовуватиме SIM-карту, ви не зможете передавати дані. Надати доступ пристрою <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Видно як \"<xliff:g id="DEVICE_NAME">^1</xliff:g>\" для інших пристроїв"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Ваші пристрої"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Підключити новий пристрій"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Дата й час"</string>
@@ -607,8 +606,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Цифри в порядку зростання чи спадання та повторювані цифри заборонені"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Скасувати"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Очистити"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Скасувати"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Далі"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Налаштування завершено."</string>
@@ -1367,8 +1365,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Скинути?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Цей користувач не може скидати налаштування мережі"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Налаштування мереж скинуто"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Стерти всі дані (відновити заводські налаштування)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Буде видалено всі дані з "<b>"внутрішньої пам’яті"</b>" вашого планшета, зокрема:\n\n"<li>"ваш обліковий запис Google"</li>\n<li>"дані й налаштування системи та додатків"</li>\n<li>"завантажені додатки"</li>"."</string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Буде видалено всі дані з "<b>"внутрішньої пам’яті"</b>" вашого телефона, зокрема:\n\n"<li>"Ваш обліковий запис Google"</li>\n<li>"Дані й налаштування системи та додатків"</li>\n<li>"Завантажені додатки"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Наразі ви ввійшли в такі облікові записи:\n"</string>
@@ -2940,6 +2937,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Без звуку"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Зі звуком"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Зі звуком і спливаючими вікнами"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Неважливе сповіщення"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Звичайне сповіщення"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Важливе сповіщення"</string>
@@ -3501,8 +3500,7 @@
     <string name="data_warning" msgid="209133958008062117">"Застереження про трафік"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Установити ліміт трафіку"</string>
     <string name="data_limit" msgid="1885406964934590552">"Ліміт трафіку"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> використано <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Налаштувати"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Інші додатки, які використовуються"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 9daf53f..7beb121 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"‏%1$s آپ کے پیغامات تک رسائی حاصل کرنا چاہتا ہے۔ ‎%2$s کو رسائی دیں؟"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"‏SIM تک رسائی کی درخواست"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"‏<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> آپ کے SIM کارڈ تک رسائی حاصل کرنا چاہتا ہے۔ SIM کارڈ تک رسائی دینے سے کنکشن کے دورانیہ تک کیلئے آپ کے آلہ پر ڈیٹا کنیکٹیوٹی غیر فعال ہو جائے گی۔ <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> تک رسائی دیں"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"دیگر آلات کیلئے بطور ’<xliff:g id="DEVICE_NAME">^1</xliff:g>‘ مرئی ہے"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"آپ کے آلات"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"نئے آلہ کا جوڑا بنائیں"</string>
     <string name="date_and_time" msgid="9062980487860757694">"تاریخ اور وقت"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"ہندسوں کی صعودی، نزولی یا مکرر ترتیب کی اجازت نہیں ہے"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"ٹھیک ہے"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"منسوخ کریں"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"صاف کریں"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"منسوخ کریں"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"اگلا"</string>
     <string name="lock_setup" msgid="3355847066343753943">"سیٹ اپ مکمل ہو گیا ہے۔"</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"دوبارہ ترتیب دیں؟"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"اس صارف کیلئے نیٹ ورک کو دوبارہ ترتیب دینا دستیاب نہیں ہے"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"نیٹ ورک کی ترتیبات کو دوبارہ ترتیب دیا گیا ہے"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"تمام ڈیٹا (فیکٹری ری سیٹ) حذف کریں"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"‏یہ آپ کے ٹیبلٹ کے "<b>"داخلی اسٹوریج"</b>" سے سبھی ڈیٹا کو حذف کر دے گا، بشمول:\n\n"<li>"آپ کا Google اکاؤنٹ"</li>\n<li>"سسٹم اور ایپ ڈیٹا اور ترتیبات"</li>\n<li>"ڈاؤن لوڈ کردہ ایپس"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"‏یہ آپ کے فون کے "<b>"داخلی اسٹوریج"</b>" سے سبھی ڈیٹا کو حذف کر دے گا، بشمول:\n\n"<li>"آپ کا Google اکاؤنٹ"</li>\n<li>"سسٹم اور ایپ ڈیٹا اور ترتیبات"</li>\n<li>"ڈاؤن لوڈ کردہ ایپس"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"آپ فی الحال مندرجہ ذیل اکاؤنٹس میں سائن ان ہیں:\n"</string>
@@ -1603,7 +1600,7 @@
     <string name="filter_apps_onsdcard" product="nosdcard" msgid="4843063154701023349">"‏USB اسٹوریج"</string>
     <string name="filter_apps_onsdcard" product="default" msgid="1477351142334784771">"‏SD کارڈ پر"</string>
     <string name="not_installed" msgid="2797554494953450291">"اس صارف کیلئے انسٹال نہیں ہے"</string>
-    <string name="installed" msgid="3070865169422600098">"انسٹال ہو گئی"</string>
+    <string name="installed" msgid="3070865169422600098">"انسٹال کردہ"</string>
     <string name="no_applications" msgid="7336588977497084921">"کوئی ایپس ہیں۔"</string>
     <string name="internal_storage" msgid="1584700623164275282">"داخلی اسٹوریج"</string>
     <string name="internal_storage_sentence" msgid="889098931914857143">"داخلی اسٹوریج"</string>
@@ -2884,6 +2881,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"کوئی آواز نہیں ہے"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"آواز نکالیں"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"آواز نکالیں اور اسکرین پر پاپ کریں"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"کم"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"متوسط"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"زیادہ"</string>
@@ -3413,8 +3412,7 @@
     <string name="data_warning" msgid="209133958008062117">"ڈیٹا انتباہ"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"ڈیٹا کی حد سیٹ کریں"</string>
     <string name="data_limit" msgid="1885406964934590552">"ڈیٹا کی حد"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_2">%2$s</xliff:g> کو <xliff:g id="ID_1">%1$s</xliff:g> استعمال ہوا"</string>
     <string name="configure" msgid="1029654422228677273">"کنفیگر کریں"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"استعمال میں شامل دیگر ایپس"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 888c873..4fd3f9b 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s xabarlaringizni ochmoqchi. %2$s‘ga ruxsat berilsinmi?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIM karta ma’lumotlariga kirish so‘rovi"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"“<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>” qurilmasi SIM karta ma’lumotlarini ko‘rmoqchi. SIM karta ma’lumotlarini ko‘rishga ruxsat bersangiz, qurilmangizdagi ulanishlar vaqtincha o‘chib qoladi. “<xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>” qurilmasiga ruxsat berish."</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Boshqa qurilmalarga “<xliff:g id="DEVICE_NAME">^1</xliff:g>” sifatida ko‘rinadi"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Qurilmalaringiz"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Yangi qurilmani ulash"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Sana va vaqt"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Oshib boruvchi, kamayib boruvchi yoki qaytarilgan ketma-ket raqamlarga ruxsat berilmaydi"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Bekor qilish"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Tozalash"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Bekor qilish"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Keyingisi"</string>
     <string name="lock_setup" msgid="3355847066343753943">"O‘rnatildi."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Asliga qaytarilsinmi?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Bu foydalanuvchi tarmoq sozlamalarini tiklay olmaydi"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Tarmoq sozlamalari qayta tiklandi"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Barcha ma’lumotlarni o‘chirish (zavod sozlamalarini tiklash)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Planshetning "<b>"ichki xotirasidagi"</b>" barcha ma’lumotlar o‘chib ketadi, jumladan:\n\n"<li>" Google hisobingiz"</li>\n<li>"Tizim va ilovalarning ma’lumotlari/sozlamalari"</li>\n<li>"Yuklab olingan ilovalar"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Telefonning "<b>"ichki xotirasidagi"</b>" barcha ma’lumotlar o‘chib ketadi, jumladan:\n\n"<li>" Google hisobingiz"</li>\n<li>"Tizim va ilovalarning ma’lumotlari/sozlamalari"</li>\n<li>"Yuklab olingan ilovalar"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Siz hozir tizimga quyidagi hisoblardan kirgansiz:\n"</string>
@@ -2898,6 +2895,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Ovozsiz"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Ovozli"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Ovoz va qalqib chiquvchi oyna"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Past"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"O‘rtacha"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Yuqori"</string>
@@ -3427,8 +3426,7 @@
     <string name="data_warning" msgid="209133958008062117">"Ogohlantirishlar"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Trafik cheklovini o‘rnatish"</string>
     <string name="data_limit" msgid="1885406964934590552">"Trafik cheklovini o‘rnatish"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> ishlatilgan (<xliff:g id="ID_2">%2$s</xliff:g>)"</string>
     <string name="configure" msgid="1029654422228677273">"Sozlash"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Foydalanilayotgan boshqa ilovalar"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index a93f924..66fb658 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s muốn truy cập tin nhắn của bạn. Bạn có muốn cấp quyền truy cập cho %2$s không?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Yêu cầu truy cập SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> muốn truy cập vào thẻ SIM của bạn. Cấp quyền truy cập vào thẻ SIM sẽ vô hiệu hóa khả năng kết nối dữ liệu trên thiết bị của bạn trong suốt thời gian kết nối. Cấp quyền truy cập vào <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Hiển thị là <xliff:g id="DEVICE_NAME">^1</xliff:g> với các thiết bị khác"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Thiết bị của bạn"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Ghép nối thiết bị mới"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Ngày và giờ"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Không cho phép thứ tự chữ số tăng dần, giảm dần hoặc lặp lại"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"OK"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Hủy"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Xóa"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Hủy"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Tiếp theo"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Đã hoàn tất thiết lập."</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Đặt lại?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Đặt lại mạng không khả dụng cho người dùng này"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Cài đặt mạng đã được đặt lại"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Xóa tất cả dữ liệu (khôi phục cài đặt gốc)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Tác vụ này sẽ xóa tất cả dữ liệu từ "<b>"bộ nhớ trong"</b>" của máy tính bảng, bao gồm:\n\n"<li>"Tài khoản Google của bạn"</li>\n<li>"Dữ liệu và cài đặt hệ thống và ứng dụng"</li>\n<li>"Ứng dụng đã tải xuống"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Tác vụ này sẽ xóa tất cả dữ liệu từ "<b>"bộ nhớ trong"</b>" của điện thoại, bao gồm:\n\n"<li>"Tài khoản Google của bạn"</li>\n<li>"Dữ liệu và cài đặt hệ thống và ứng dụng"</li>\n<li>"Ứng dụng đã tải xuống"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"Bạn hiện đã đăng nhập vào các tài khoản sau đây:\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Không có âm báo"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Phát âm báo"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Phát âm báo và hiển thị trên màn hình"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Thấp"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Trung bình"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Cao"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"Cảnh báo dữ liệu"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Đặt giới hạn dữ liệu"</string>
     <string name="data_limit" msgid="1885406964934590552">"Giới hạn dữ liệu"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> đã sử dụng <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Định cấu hình"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Những ứng dụng khác được bao gồm trong mức sử dụng"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 0272cb5..19ee34a 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"“%1$s”想要查看您的消息。要向“%2$s”授予权限吗？"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIM 访问权限请求"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>想要访问您的 SIM 卡。如果授权该设备访问 SIM 卡，您设备的数据连接功能在蓝牙连接期间将停用。将访问权限授予<xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"向其他设备显示为“<xliff:g id="DEVICE_NAME">^1</xliff:g>”"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"您的设备"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"与新设备配对"</string>
     <string name="date_and_time" msgid="9062980487860757694">"日期和时间"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"不允许使用以升序、降序或重复序列进行排列的一串数字"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"确定"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"取消"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"清除"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"取消"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"下一步"</string>
     <string name="lock_setup" msgid="3355847066343753943">"设置完毕。"</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"要重置网络设置吗？"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"此用户无权重置网络设置"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"网络设置已重置"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"清空所有数据（恢复出厂设置）"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"此操作会清除您平板电脑"<b>"内部存储设备"</b>"中的所有数据，包括：\n\n"<li>"您的Google帐号"</li>\n<li>"系统和应用的数据和设置"</li>\n<li>"下载的应用"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"此操作会清除您手机"<b>"内部存储设备"</b>"中的所有数据，包括：\n\n"<li>"您的Google帐号"</li>\n<li>"系统和应用的数据和设置"</li>\n<li>"下载的应用"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"目前，您已登录以下帐号：\n"</string>
@@ -2886,6 +2883,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"不发出提示音"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"发出提示音"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"发出提示音并在屏幕上弹出通知"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"低"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"中"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"高"</string>
@@ -3415,8 +3414,7 @@
     <string name="data_warning" msgid="209133958008062117">"流量警告"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"设置流量上限"</string>
     <string name="data_limit" msgid="1885406964934590552">"流量上限"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_2">%2$s</xliff:g>：已使用 <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"配置"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"其他消耗流量的应用"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index ced16b5..2bf2cf2 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s 想存取您的訊息，要授予 %2$s 存取權嗎？"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIM 卡存取權要求"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> 要存取您的 SIM 卡。如果允許存取 SIM 卡，您裝置上的數據連線將於連線期間停用。允許 <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g> 存取"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"向其他裝置顯示為「<xliff:g id="DEVICE_NAME">^1</xliff:g>」"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"您的裝置"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"配對新裝置"</string>
     <string name="date_and_time" msgid="9062980487860757694">"日期和時間"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"不可使用依遞增或遞減順序排列或重複的連續數字"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"確定"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"取消"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"清除"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"取消"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"下一步"</string>
     <string name="lock_setup" msgid="3355847066343753943">"設定完成。"</string>
@@ -1342,8 +1340,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"重設？"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"這位使用者無法重設網絡"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"網絡設定已重設"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"清除所有資料 (回復原廠設定)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"這會清除您平板電腦"<b>"內部儲存裝置"</b>"中的所有資料，包括：\n\n"<li>"您的 Google 帳戶"</li>\n<li>"系統和應用程式資料及設定"</li>\n<li>"已下載的應用程式"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"這會清除您手機"<b>"內部儲存裝置"</b>"中的所有資料，包括：\n\n"<li>"您的 Google 帳戶"</li>\n<li>"系統和應用程式資料及設定"</li>\n<li>"已下載的應用程式"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"您目前已登入下列帳戶：\n"</string>
@@ -2889,6 +2886,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"不發出音效"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"發出音效"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"發出音效並在螢幕上彈出通知"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"低"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"中"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"高"</string>
@@ -3418,8 +3417,7 @@
     <string name="data_warning" msgid="209133958008062117">"數據用量警告"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"設定數據上限"</string>
     <string name="data_limit" msgid="1885406964934590552">"數據上限"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g>期間已使用 <xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"設定"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"其他使用數據的應用程式"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 93b36e0..a5dfaf0 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"%1$s 要求存取你的訊息。要將存取權授予 %2$s 嗎？"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"SIM 存取權請求"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"「<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>」想要存取你的 SIM 卡。如果授權該裝置存取 SIM 卡，你裝置的數據連線功能在藍牙連線期間將暫時停用。將存取權授予「<xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>」"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"向其他裝置顯示為「<xliff:g id="DEVICE_NAME">^1</xliff:g>」"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"你的裝置"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"配對新裝置"</string>
     <string name="date_and_time" msgid="9062980487860757694">"日期和時間"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"不允許使用依遞增或遞減順序排列或是重複的一串數字"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"確定"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"取消"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"清除"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"取消"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"下一步"</string>
     <string name="lock_setup" msgid="3355847066343753943">"設定完成。"</string>
@@ -1341,8 +1339,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"你要重設嗎？"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"這個使用者無法重設網路設定"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"已重設網路設定"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"清除所有資料 (恢復原廠設定)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"這會清除你平板電腦"<b>"內部儲存裝置"</b>"中的所有資料，包括：\n\n"<li>"你的 Google 帳戶"</li>\n<li>"系統和應用程式資料及設定"</li>\n<li>"已下載的應用程式"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"這會清除你手機"<b>"內部儲存裝置"</b>"中的所有資料，包括：\n\n"<li>"你的 Google 帳戶"</li>\n<li>"系統和應用程式資料及設定"</li>\n<li>"已下載的應用程式"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n\n"你目前已登入下列帳戶：\n"</string>
@@ -2890,6 +2887,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"不發出音效"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"發出音效"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"發出音效並在畫面上彈出通知"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"低"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"中"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"高"</string>
@@ -3419,8 +3418,7 @@
     <string name="data_warning" msgid="209133958008062117">"數據用量警告"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"設定數據用量上限"</string>
     <string name="data_limit" msgid="1885406964934590552">"數據用量上限"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_2">%2$s</xliff:g>期間已使用 <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"設定"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"計入數據用量的其他應用程式"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index f6b39bb..36b39bd 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -166,8 +166,7 @@
     <string name="bluetooth_map_acceptance_dialog_text" msgid="8712508202081143737">"I-%1$s ifuna ukufinyelela kumilayezo yakho. Nikeza ukufinyelela ku-%2$s?"</string>
     <string name="bluetooth_sap_request" msgid="2669762224045354417">"Isicelo sokufinyelela ku-SIM"</string>
     <string name="bluetooth_sap_acceptance_dialog_text" msgid="4414253873553608690">"I-<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> ifuna ukufinyelela kukhadi lakho le-SIM. Ukunikeza ukufinyelela kukhadi le-SIM kuzokhubaza ukuxhumeka kwedatha kudivayisi yakho ngesikhathi sokuxhumeka. Nikeza ukufinyelela ku-<xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>"</string>
-    <!-- no translation found for bluetooth_device_name_summary (522235742194965734) -->
-    <skip />
+    <string name="bluetooth_device_name_summary" msgid="522235742194965734">"Kubonakala njenge-\"<xliff:g id="DEVICE_NAME">^1</xliff:g>\" kwamanye amadivayisi"</string>
     <string name="bluetooth_paired_device_title" msgid="8638994696317952019">"Amadivayisi akho"</string>
     <string name="bluetooth_pairing_page_title" msgid="7712127387361962608">"Bhanqa idivayisi entsha"</string>
     <string name="date_and_time" msgid="9062980487860757694">"Idethi nesikhathi"</string>
@@ -589,8 +588,7 @@
     <string name="lockpassword_pin_no_sequential_digits" msgid="680765285206990584">"Ukwenyuka, ukwehla, noma uchungechunge olwehlayo lamadijithi alivunyewe"</string>
     <string name="lockpassword_ok_label" msgid="313822574062553672">"KULUNGILE"</string>
     <string name="lockpassword_cancel_label" msgid="8818529276331121899">"Khansela"</string>
-    <!-- no translation found for lockpassword_clear_label (5724429464960458155) -->
-    <skip />
+    <string name="lockpassword_clear_label" msgid="5724429464960458155">"Sula"</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="6431583477570493261">"Khansela"</string>
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"Okulandelayo"</string>
     <string name="lock_setup" msgid="3355847066343753943">"Ukusetha kuphelile."</string>
@@ -1342,8 +1340,7 @@
     <string name="reset_network_confirm_title" msgid="1759888886976962773">"Setha kabusha?"</string>
     <string name="network_reset_not_available" msgid="7188610385577164676">"Ukusetha kabusha inethiwekhi akutholakali kulo msebenzisi"</string>
     <string name="reset_network_complete_toast" msgid="787829973559541880">"Izilungiselelo zenethiwekhi zisethwe kabusha"</string>
-    <!-- no translation found for master_clear_title (3531267871084279512) -->
-    <skip />
+    <string name="master_clear_title" msgid="3531267871084279512">"Sula yonke idatha (ukusethwa kabusha kwasekuqaleni)"</string>
     <string name="master_clear_desc" product="tablet" msgid="9146059417023157222">"Lokhu kuzosusa yonke idatha "<b>"ekwistoreji sangaphakathi kuthebhulethi yakho"</b>", ehlanganisa:\n\n"<li>"I-akhawunti yakho ye-Google"</li>\n<li>"Uhlelo lokusebenza kanye nezilungiselelo"</li>\n<li>"Izinhlelo zokusebenza ezilayishiwe"</li></string>
     <string name="master_clear_desc" product="default" msgid="4800386183314202571">"Lokhu kuzosusa yonke idatha "<b>"ekwisitoreji sangaphakathi sefoni yakho"</b>", ehlanganisa:\n\n"<li>"I-akhawunti yakho ye-Google"</li>\n<li>"Uhlelo lokusebenza kanye nezilungiselelo"</li>\n<li>"Izinhlelo zokusebenza ezilayishiwe"</li></string>
     <string name="master_clear_accounts" product="default" msgid="6412857499147999073">\n"Okwamanje ungene ngemvume kuma-akhawunti alandelayo:\n\n"</string>
@@ -2887,6 +2884,8 @@
     <string name="notification_importance_low" msgid="8881468429453766553">"Awukho umsindo"</string>
     <string name="notification_importance_default" msgid="5958338024601957516">"Yenza umsindo"</string>
     <string name="notification_importance_high" msgid="2082429479238228527">"Yenza umsindo ne-pop kusikrini"</string>
+    <!-- no translation found for notification_importance_high_silent (2667033773703765252) -->
+    <skip />
     <string name="notification_importance_min_title" msgid="6974673091137544803">"Okuphansi"</string>
     <string name="notification_importance_low_title" msgid="8131254047772814309">"Okumaphakathi"</string>
     <string name="notification_importance_default_title" msgid="9120383978536089489">"Okuphezulu"</string>
@@ -3416,8 +3415,7 @@
     <string name="data_warning" msgid="209133958008062117">"Isexwayiso sedatha"</string>
     <string name="set_data_limit" msgid="2901526323210516923">"Setha umkhawulo wedatha"</string>
     <string name="data_limit" msgid="1885406964934590552">"Umkhawulo wedatha"</string>
-    <!-- no translation found for data_usage_template (2923744765873163859) -->
-    <skip />
+    <string name="data_usage_template" msgid="2923744765873163859">"<xliff:g id="ID_1">%1$s</xliff:g> esetsenzisiwe ngomhla ka-<xliff:g id="ID_2">%2$s</xliff:g>"</string>
     <string name="configure" msgid="1029654422228677273">"Lungiselela"</string>
     <string name="data_usage_other_apps" msgid="3272872663517382050">"Ezinye izinhlelo zokusebenza ezifakwe ekusetshenzisweni"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="2635267833484232703">
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 6eae5d1..d2404bc 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -834,6 +834,12 @@
     <string name="security_settings_fingerprint_enroll_introduction_cancel_setup">Skip</string>
     <!-- Button text to continue to the next screen from the introduction (this string variant is used while in setup wizard) [CHAR LIMIT=22] -->
     <string name="security_settings_fingerprint_enroll_introduction_continue_setup">Next</string>
+    <!-- Title of dialog shown when the user tries to skip setting up fingerprint after adding lock screen during initial setup. [CHAR LIMIT=30] -->
+    <string name="setup_fingerprint_enroll_skip_title">Skip fingerprint?</string>
+    <!-- Body text of dialog shown when the user tries to skip setting up fingerprint after adding lock screen during initial setup [CHAR LIMIT=NONE] -->
+    <string name="setup_fingerprint_enroll_skip_after_adding_lock_text">Fingerprint setup only takes a minute or two. If you skip this, you can add your fingerprint later in settings.</string>
+    <!-- Title of dialog shown when the user tries to skip setting up a screen lock, warning them of potential consequences of not doing so [CHAR LIMIT=30]-->
+    <string name="lock_screen_intro_skip_title">Skip screen lock?</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning them of potential consequences of not doing so, including loss of factory reset protection. (tablet) [CHAR LIMIT=NONE] -->
     <string name="lock_screen_intro_skip_dialog_text_frp" product="tablet">Device protection features won\u2019t be turned on. You won\u2019t be able to prevent others from using this tablet if it\u2019s lost, stolen or reset.</string>
     <!-- Dialog text shown when the user tries to skip setting up a screen lock, warning them of potential consequences of not doing so, including loss of factory reset protection. (device) [CHAR LIMIT=NONE] -->
@@ -1375,7 +1381,7 @@
     <!-- Label for ChoosePassword/PIN OK button -->
     <string name="lockpassword_cancel_label">Cancel</string>
 
-    <!-- Label for ChoosePassword/PIN OK button -->
+    <!-- Label for ChoosePassword/PIN Clear button that clears all text entered by the user so far. -->
     <string name="lockpassword_clear_label">Clear</string>
 
     <!-- Label for LockPatternTutorial Cancel button -->
@@ -1953,6 +1959,8 @@
     <string name="wifi_failed_connect_message">Failed to connect to network</string>
     <!-- Button label to delete a Wi-Fi network -->
     <string name="wifi_forget">Forget</string>
+    <!-- Button label to modify a Wi-Fi network -->
+    <string name="wifi_modify">Modify</string>
     <!-- Failured notification for forget -->
     <string name="wifi_failed_forget_message">Failed to forget network</string>
     <!-- Button label to save a Wi-Fi network configuration -->
@@ -3498,6 +3506,20 @@
          continue. [CHAR LIMIT=100] -->
     <string name="lockpassword_strong_auth_required_work_password">For added security, enter your work password</string>
 
+    <!-- An explanation text that the pattern needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_your_pattern_details_frp">Your phone was reset to factory settings. To use this phone, enter your previous pattern.</string>
+    <!-- An explanation text that the pin needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_your_pin_details_frp">Your phone was reset to factory settings. To use this phone, enter your previous PIN.</string>
+    <!-- An explanation text that the password needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_your_password_details_frp">Your phone was reset to factory settings. To use this phone, enter your previous password.</string>
+
+    <!-- Header shown when pattern needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_your_pattern_header_frp">Verify pattern</string>
+    <!-- Header shown when the pin needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_your_pin_header_frp">Verify PIN</string>
+    <!-- Header shown when the password needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
+    <string name="lockpassword_confirm_your_password_header_frp">Verify password</string>
+
     <!-- Security & location settings screen, change security method screen instruction if user
          enters incorrect PIN [CHAR LIMIT=30] -->
     <string name="lockpassword_invalid_pin">Wrong PIN</string>
@@ -6833,6 +6855,10 @@
     <!-- [CHAR LIMIT=100] Notification Importance: high importance level description -->
     <string name="notification_importance_high">Make sound and pop on screen</string>
 
+    <!-- [CHAR LIMIT=100] Notification Importance: high importance level description,
+     when the user has picked high importance but disabled sound for it -->
+    <string name="notification_importance_high_silent">Pop on screen</string>
+
     <!-- Importance title strings for the Importance page. Also the first part of the importance
      summary on the channel page-->
 
@@ -9003,7 +9029,13 @@
     <string name="new_device_suggestion_title">What\'s new and exciting?</string>
 
     <!-- Summary label for new device suggestion, which is displayed in Settings homepage [CHAR LIMIT=100] -->
-    <string name="new_device_suggestion_summary">Check out the top 5 features</string>
+    <string name="new_device_suggestion_summary" product="default">Take a tour of your new phone</string>
+
+    <!-- Summary label for new device suggestion, which is displayed in Settings homepage [CHAR LIMIT=100] -->
+    <string name="new_device_suggestion_summary" product="tablet">Take a tour of your new tablet</string>
+
+    <!-- Summary label for new device suggestion, which is displayed in Settings homepage [CHAR LIMIT=100] -->
+    <string name="new_device_suggestion_summary" product="device">Take a tour of your new device</string>
 
     <!-- The divider symbol between different parts of the notification header including spaces. not translatable [CHAR LIMIT=3] -->
     <string name="notification_header_divider_symbol_with_spaces" translatable="false">" • "</string>
diff --git a/res/xml/available_virtual_keyboard.xml b/res/xml/available_virtual_keyboard.xml
new file mode 100644
index 0000000..9a0b3c6
--- /dev/null
+++ b/res/xml/available_virtual_keyboard.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2017 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:key="available_virtual_keyboard_page"
+    android:title="@string/add_virtual_keyboard">
+
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/configure_notification_settings.xml b/res/xml/configure_notification_settings.xml
index 1d36c48..21904e6 100644
--- a/res/xml/configure_notification_settings.xml
+++ b/res/xml/configure_notification_settings.xml
@@ -22,16 +22,11 @@
         android:key="dashboard_tile_placeholder"
         android:order="1"/>
 
-    <PreferenceCategory
-        android:key="lock_screen_notifications_profile_header"
-        android:title="@string/profile_section_header">
-
-        <com.android.settings.notification.RestrictedDropDownPreference
-            android:key="lock_screen_notifications_profile"
-            android:title="@string/lock_screen_notifications_title"
-            android:summary="@string/summary_placeholder"/>
-
-    </PreferenceCategory>
+    <!-- When device is locked -->
+    <com.android.settings.notification.RestrictedDropDownPreference
+        android:key="lock_screen_notifications"
+        android:title="@string/lock_screen_notifications_title"
+        android:summary="@string/summary_placeholder"/>
 
     <!-- Notification badging -->
     <SwitchPreference
@@ -43,12 +38,6 @@
         android:key="notification_pulse"
         android:title="@string/notification_pulse_title"/>
 
-    <!-- When device is locked -->
-    <com.android.settings.notification.RestrictedDropDownPreference
-        android:key="lock_screen_notifications"
-        android:title="@string/lock_screen_notifications_title"
-        android:summary="@string/summary_placeholder"/>
-
     <!-- Default notification ringtone -->
     <com.android.settings.DefaultRingtonePreference
         android:key="notification_default_ringtone"
@@ -62,4 +51,14 @@
         android:title="@string/fingerprint_swipe_for_notifications_title"
         android:fragment="com.android.settings.gestures.SwipeToNotificationSettings" />
 
+    <PreferenceCategory
+        android:key="lock_screen_notifications_profile_header"
+        android:title="@string/profile_section_header">
+
+        <com.android.settings.notification.RestrictedDropDownPreference
+            android:key="lock_screen_notifications_profile"
+            android:title="@string/lock_screen_notifications_title"
+            android:summary="@string/summary_placeholder"/>
+
+    </PreferenceCategory>
 </PreferenceScreen>
diff --git a/res/xml/connected_devices.xml b/res/xml/connected_devices.xml
index abbeda6..1099672 100644
--- a/res/xml/connected_devices.xml
+++ b/res/xml/connected_devices.xml
@@ -41,7 +41,8 @@
     <Preference
         android:key="sms_mirroring"
         android:title="@string/sms_mirroring_pref"
-        android:icon="@drawable/ic_compare_arrows_24dp"
+        android:icon="@drawable/ic_sms_mirroring_24dp"
+        android:summary="@string/summary_placeholder"
         android:order="-3"/>
 
     <Preference
diff --git a/src/com/android/settings/MasterClear.java b/src/com/android/settings/MasterClear.java
index 96ce17e..2c97018 100644
--- a/src/com/android/settings/MasterClear.java
+++ b/src/com/android/settings/MasterClear.java
@@ -144,10 +144,10 @@
         public void onClick(View view) {
             final Context context = view.getContext();
             if (Utils.isDemoUser(context)) {
-                final String packageName = Utils.getDemoModePackageName(context);
-                if (!TextUtils.isEmpty(packageName)) {
+                final ComponentName componentName = Utils.getDeviceOwnerComponent(context);
+                if (componentName != null) {
                     final Intent requestFactoryReset = new Intent()
-                            .setPackage(packageName)
+                            .setPackage(componentName.getPackageName())
                             .setAction(Intent.ACTION_FACTORY_RESET);
                     context.startActivity(requestFactoryReset);
                 }
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index f120b7f..609120d 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -59,7 +59,6 @@
 import com.android.settings.dashboard.DashboardSummary;
 import com.android.settings.development.DevelopmentSettings;
 import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.search.DynamicIndexableContentMonitor;
 import com.android.settings.search.SearchActivity;
 import com.android.settings.wfd.WifiDisplaySettings;
 import com.android.settings.widget.SwitchBar;
@@ -76,8 +75,6 @@
 
     private static final String LOG_TAG = "Settings";
 
-    public static final int LOADER_ID_INDEXABLE_CONTENT_MONITOR = 1;
-
     // Constants for state save/restore
     private static final String SAVE_KEY_CATEGORIES = ":settings:categories";
     @VisibleForTesting
@@ -183,8 +180,6 @@
         }
     };
 
-    private DynamicIndexableContentMonitor mDynamicIndexableContentMonitor;
-
     private SwitchBar mSwitchBar;
 
     private Button mNextButton;
@@ -535,10 +530,6 @@
                 mDevelopmentPreferencesListener);
 
         registerReceiver(mBatteryInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
-        if (mDynamicIndexableContentMonitor == null) {
-            mDynamicIndexableContentMonitor = new DynamicIndexableContentMonitor();
-        }
-        mDynamicIndexableContentMonitor.register(this, LOADER_ID_INDEXABLE_CONTENT_MONITOR);
 
         updateTilesList();
     }
@@ -550,9 +541,6 @@
                 mDevelopmentPreferencesListener);
         mDevelopmentPreferencesListener = null;
         unregisterReceiver(mBatteryInfoReceiver);
-        if (mDynamicIndexableContentMonitor != null) {
-            mDynamicIndexableContentMonitor.unregister(this, LOADER_ID_INDEXABLE_CONTENT_MONITOR);
-        }
     }
 
     @Override
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index cfddf56..2a57577 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -1249,8 +1249,10 @@
         return UserManager.isDeviceInDemoMode(context) && getUserManager(context).isDemoUser();
     }
 
-    public static String getDemoModePackageName(Context context) {
-        return context.getString(com.android.internal.R.string.config_demoModePackage);
+    public static ComponentName getDeviceOwnerComponent(Context context) {
+        final DevicePolicyManager dpm = (DevicePolicyManager) context.getSystemService(
+                Context.DEVICE_POLICY_SERVICE);
+        return dpm.getDeviceOwnerComponentOnAnyUser();
     }
 
     /**
diff --git a/src/com/android/settings/applications/assist/ManageAssist.java b/src/com/android/settings/applications/assist/ManageAssist.java
index eb14ea1..4126aaf 100644
--- a/src/com/android/settings/applications/assist/ManageAssist.java
+++ b/src/com/android/settings/applications/assist/ManageAssist.java
@@ -22,7 +22,7 @@
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.gestures.AssistGesturePreferenceController;
+import com.android.settings.gestures.AssistGestureSettingsPreferenceController;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.search.Indexable;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -73,8 +73,8 @@
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
         controllers.add(new DefaultAssistPreferenceController(context, "default_assist",
                 true /* showSetting */));
-        controllers.add(new AssistGesturePreferenceController(context, lifecycle, KEY_ASSIST,
-                true /* assistOnly */));
+        controllers.add(new AssistGestureSettingsPreferenceController(context, lifecycle,
+                KEY_ASSIST, true /* assistOnly */));
         controllers.add(new AssistContextPreferenceController(context, lifecycle));
         controllers.add(new AssistScreenshotPreferenceController(context, lifecycle));
         controllers.add(new AssistFlashScreenPreferenceController(context, lifecycle));
diff --git a/src/com/android/settings/bluetooth/AlwaysDiscoverable.java b/src/com/android/settings/bluetooth/AlwaysDiscoverable.java
new file mode 100644
index 0000000..5d7cbd5
--- /dev/null
+++ b/src/com/android/settings/bluetooth/AlwaysDiscoverable.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.bluetooth;
+
+import android.bluetooth.BluetoothAdapter;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.Handler;
+import android.support.annotation.VisibleForTesting;
+import android.util.Log;
+
+import com.android.settingslib.bluetooth.LocalBluetoothAdapter;
+
+import java.util.Timer;
+import java.util.TimerTask;
+
+/** Helper class, intended to be used by an Activity, to keep the local Bluetooth adapter in
+ *  discoverable mode indefinitely. By default setting the scan mode to
+ *  BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE will time out after some time, but some
+ *  Bluetooth settings pages would like to keep the device discoverable as long as the page is
+ *  visible. */
+public class AlwaysDiscoverable extends BroadcastReceiver {
+    private static final String TAG = "AlwaysDiscoverable";
+
+    private Context mContext;
+    private LocalBluetoothAdapter mLocalAdapter;
+    private IntentFilter mIntentFilter;
+
+    @VisibleForTesting
+    boolean mStarted;
+
+    public AlwaysDiscoverable(Context context, LocalBluetoothAdapter localAdapter) {
+        mContext = context;
+        mLocalAdapter = localAdapter;
+        mIntentFilter = new IntentFilter();
+        mIntentFilter.addAction(BluetoothAdapter.ACTION_SCAN_MODE_CHANGED);
+    }
+
+    /** After calling start(), consumers should make a matching call to stop() when they no longer
+     * wish to enforce discoverable mode. */
+    public void start() {
+        if (mStarted) {
+            return;
+        }
+        mContext.registerReceiver(this, mIntentFilter);
+        mStarted = true;
+        if (mLocalAdapter.getScanMode() != BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE) {
+            mLocalAdapter.setScanMode(BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE);
+        }
+    }
+
+    public void stop() {
+        if (!mStarted) {
+            return;
+        }
+        mContext.unregisterReceiver(this);
+        mStarted = false;
+        mLocalAdapter.setScanMode(BluetoothAdapter.SCAN_MODE_CONNECTABLE);
+    }
+
+    @Override
+    public void onReceive(Context context, Intent intent) {
+        String action = intent.getAction();
+        if (action != BluetoothAdapter.ACTION_SCAN_MODE_CHANGED) {
+            return;
+        }
+        if (mLocalAdapter.getScanMode() != BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE) {
+            mLocalAdapter.setScanMode(BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE);
+        }
+    }
+}
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingDetail.java b/src/com/android/settings/bluetooth/BluetoothPairingDetail.java
index 5cc1060..60011f9 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingDetail.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingDetail.java
@@ -53,6 +53,8 @@
     BluetoothProgressCategory mAvailableDevicesCategory;
     @VisibleForTesting
     FooterPreference mFooterPreference;
+    @VisibleForTesting
+    AlwaysDiscoverable mAlwaysDiscoverable;
 
     private boolean mInitialScanStarted;
 
@@ -64,6 +66,7 @@
     public void onActivityCreated(Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
         mInitialScanStarted = false;
+        mAlwaysDiscoverable = new AlwaysDiscoverable(getContext(), mLocalAdapter);
     }
 
     @Override
@@ -79,7 +82,7 @@
         super.onStop();
 
         // Make the device only visible to connected devices.
-        mLocalAdapter.setScanMode(BluetoothAdapter.SCAN_MODE_CONNECTABLE);
+        mAlwaysDiscoverable.stop();
         disableScanning();
     }
 
@@ -132,9 +135,7 @@
                         R.string.bluetooth_preference_found_devices,
                         BluetoothDeviceFilter.UNBONDED_DEVICE_FILTER, mInitialScanStarted);
                 updateFooterPreference(mFooterPreference);
-                // mLocalAdapter.setScanMode is internally synchronized so it is okay for multiple
-                // threads to execute.
-                mLocalAdapter.setScanMode(BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE);
+                mAlwaysDiscoverable.start();
                 enableScanning();
                 break;
 
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingPreferenceController.java b/src/com/android/settings/bluetooth/BluetoothPairingPreferenceController.java
index 5141b5c..8ac64e8 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingPreferenceController.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingPreferenceController.java
@@ -76,7 +76,7 @@
     public Preference createBluetoothPairingPreference(int order) {
         mPreference = new Preference(mFragment.getPreferenceScreen().getContext());
         mPreference.setKey(KEY_PAIRING);
-        mPreference.setIcon(R.drawable.ic_add);
+        mPreference.setIcon(R.drawable.ic_menu_add);
         mPreference.setOrder(order);
         mPreference.setTitle(R.string.bluetooth_pairing_pref_title);
 
diff --git a/src/com/android/settings/bluetooth/BluetoothSettings.java b/src/com/android/settings/bluetooth/BluetoothSettings.java
index adfb721..bd86c4b 100644
--- a/src/com/android/settings/bluetooth/BluetoothSettings.java
+++ b/src/com/android/settings/bluetooth/BluetoothSettings.java
@@ -80,6 +80,7 @@
     FooterPreference mFooterPreference;
     private Preference mPairingPreference;
     private BluetoothEnabler mBluetoothEnabler;
+    private AlwaysDiscoverable mAlwaysDiscoverable;
 
     private SwitchBar mSwitchBar;
 
@@ -111,6 +112,9 @@
                 mMetricsFeatureProvider, Utils.getLocalBtManager(activity),
                 MetricsEvent.ACTION_BLUETOOTH_TOGGLE);
         mBluetoothEnabler.setupSwitchController();
+        if (mLocalAdapter != null) {
+            mAlwaysDiscoverable = new AlwaysDiscoverable(getContext(), mLocalAdapter);
+        }
     }
 
     @Override
@@ -157,7 +161,9 @@
         }
 
         // Make the device only visible to connected devices.
-        mLocalAdapter.setScanMode(BluetoothAdapter.SCAN_MODE_CONNECTABLE);
+        if (mAlwaysDiscoverable != null) {
+            mAlwaysDiscoverable.stop();
+        }
 
         if (isUiRestricted()) {
             return;
@@ -188,7 +194,9 @@
                 mPairedDevicesCategory.addPreference(mPairingPreference);
                 updateFooterPreference(mFooterPreference);
 
-                mLocalAdapter.setScanMode(BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE);
+                if (mAlwaysDiscoverable != null) {
+                    mAlwaysDiscoverable.start();
+                }
                 return; // not break
 
             case BluetoothAdapter.STATE_TURNING_OFF:
diff --git a/src/com/android/settings/core/instrumentation/SharedPreferencesLogger.java b/src/com/android/settings/core/instrumentation/SharedPreferencesLogger.java
index b4e6158..dee40c0 100644
--- a/src/com/android/settings/core/instrumentation/SharedPreferencesLogger.java
+++ b/src/com/android/settings/core/instrumentation/SharedPreferencesLogger.java
@@ -120,19 +120,29 @@
 
         final Pair<Integer, Object> valueData;
         if (value instanceof Long) {
-            valueData = Pair.create(MetricsEvent.FIELD_SETTINGS_PREFERENCE_CHANGE_LONG_VALUE,
-                    value);
+            final Long longVal = (Long) value;
+            final int intVal;
+            if (longVal > Integer.MAX_VALUE) {
+                intVal = Integer.MAX_VALUE;
+            } else if (longVal < Integer.MIN_VALUE) {
+                intVal = Integer.MIN_VALUE;
+            } else {
+                intVal = longVal.intValue();
+            }
+            valueData = Pair.create(MetricsEvent.FIELD_SETTINGS_PREFERENCE_CHANGE_INT_VALUE,
+                    intVal);
         } else if (value instanceof Integer) {
-            valueData = Pair.create(MetricsEvent.FIELD_SETTINGS_PREFERENCE_CHANGE_LONG_VALUE,
-                    ((Integer) value).longValue());
+            valueData = Pair.create(MetricsEvent.FIELD_SETTINGS_PREFERENCE_CHANGE_INT_VALUE,
+                    value);
         } else if (value instanceof Boolean) {
-            valueData = Pair.create(MetricsEvent.FIELD_SETTINGS_PREFERENCE_CHANGE_LONG_VALUE,
-                    (Boolean) value ? 1L : 0L);
+            valueData = Pair.create(MetricsEvent.FIELD_SETTINGS_PREFERENCE_CHANGE_INT_VALUE,
+                    (Boolean) value ? 1 : 0);
         } else if (value instanceof Float) {
             valueData = Pair.create(MetricsEvent.FIELD_SETTINGS_PREFERENCE_CHANGE_FLOAT_VALUE,
                     value);
         } else if (value instanceof String) {
-            valueData = Pair.create(MetricsEvent.FIELD_SETTINGS_PREFERENCE_CHANGE_VALUE, value);
+            Log.d(LOG_TAG, "Tried to log string preference " + prefKey + " = " + value);
+            valueData = null;
         } else {
             Log.w(LOG_TAG, "Tried to log unloggable object" + value);
             valueData = null;
diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
index e4f58d7..f8b5a8b 100644
--- a/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
+++ b/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImpl.java
@@ -25,7 +25,6 @@
 import android.provider.Settings.Secure;
 import android.support.annotation.NonNull;
 import android.support.annotation.VisibleForTesting;
-import android.text.format.DateUtils;
 import android.util.Log;
 
 import com.android.internal.logging.nano.MetricsProto;
@@ -55,12 +54,6 @@
 
     private static final String SHARED_PREF_FILENAME = "suggestions";
 
-    // Suggestion category name and expiration threshold for first impression type. Needs to keep
-    // in sync with suggestion_ordering.xml
-    private static final String CATEGORY_FIRST_IMPRESSION =
-            "com.android.settings.suggested.category.FIRST_IMPRESSION";
-    private static final long FIRST_IMPRESSION_EXPIRE_DAY_IN_MILLIS = 14 * DateUtils.DAY_IN_MILLIS;
-
     private final SuggestionRanker mSuggestionRanker;
     private final MetricsFeatureProvider mMetricsFeatureProvider;
 
@@ -141,12 +134,7 @@
                 context, MetricsProto.MetricsEvent.ACTION_SETTINGS_DISMISS_SUGGESTION,
                 getSuggestionIdentifier(context, suggestion));
 
-        boolean isSmartSuggestionEnabled = isSmartSuggestionEnabled(context);
-        if (isSmartSuggestionEnabled) {
-            // Disable smart suggestion if we are still showing first impression suggestions.
-            isSmartSuggestionEnabled = !isShowingFirstImpressionSuggestion(context);
-        }
-        if (!parser.dismissSuggestion(suggestion, isSmartSuggestionEnabled)) {
+        if (!parser.dismissSuggestion(suggestion)) {
             return;
         }
         context.getPackageManager().setComponentEnabledSetting(
@@ -155,19 +143,6 @@
                 PackageManager.DONT_KILL_APP);
     }
 
-    private boolean isShowingFirstImpressionSuggestion(Context context) {
-        final String keySetupTime = CATEGORY_FIRST_IMPRESSION + SuggestionParser.SETUP_TIME;
-        final long currentTime = System.currentTimeMillis();
-        final SharedPreferences sharedPrefs = getSharedPrefs(context);
-        if (!sharedPrefs.contains(keySetupTime)) {
-            return true;
-        }
-        final long setupTime = sharedPrefs.getLong(keySetupTime, 0);
-        final long elapsedTime = currentTime - setupTime;
-        Log.d(TAG, "Day " + elapsedTime / DateUtils.DAY_IN_MILLIS + " for first impression");
-        return elapsedTime <= FIRST_IMPRESSION_EXPIRE_DAY_IN_MILLIS;
-    }
-
     @Override
     public String getSuggestionIdentifier(Context context, Tile suggestion) {
         if (suggestion.intent == null || suggestion.intent.getComponent() == null
diff --git a/src/com/android/settings/datausage/AppDataUsage.java b/src/com/android/settings/datausage/AppDataUsage.java
index 67e83ee..36d9d0f 100644
--- a/src/com/android/settings/datausage/AppDataUsage.java
+++ b/src/com/android/settings/datausage/AppDataUsage.java
@@ -32,6 +32,7 @@
 import android.os.Bundle;
 import android.os.RemoteException;
 import android.os.UserHandle;
+import android.support.annotation.VisibleForTesting;
 import android.support.v14.preference.SwitchPreference;
 import android.support.v7.preference.Preference;
 import android.support.v7.preference.PreferenceCategory;
@@ -41,6 +42,7 @@
 import android.util.Log;
 import android.view.View;
 import android.widget.AdapterView;
+
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.applications.AppInfoBase;
@@ -234,6 +236,7 @@
     public boolean onPreferenceChange(Preference preference, Object newValue) {
         if (preference == mRestrictBackground) {
             mDataSaverBackend.setIsBlacklisted(mAppItem.key, mPackageName, !(Boolean) newValue);
+            updatePrefs();
             return true;
         } else if (preference == mUnrestrictedData) {
             mDataSaverBackend.setIsWhitelisted(mAppItem.key, mPackageName, (Boolean) newValue);
@@ -253,7 +256,8 @@
         return super.onPreferenceTreeClick(preference);
     }
 
-    private void updatePrefs() {
+    @VisibleForTesting
+    void updatePrefs() {
         updatePrefs(getAppRestrictBackground(), getUnrestrictData());
     }
 
diff --git a/src/com/android/settings/datausage/DataSaverBackend.java b/src/com/android/settings/datausage/DataSaverBackend.java
index 7c291c6..f37a3c3 100644
--- a/src/com/android/settings/datausage/DataSaverBackend.java
+++ b/src/com/android/settings/datausage/DataSaverBackend.java
@@ -18,6 +18,7 @@
 import android.net.INetworkPolicyListener;
 import android.net.NetworkPolicyManager;
 import android.os.Handler;
+import android.os.Looper;
 import android.os.RemoteException;
 import android.util.SparseIntArray;
 
@@ -38,7 +39,7 @@
     private final Context mContext;
     private final MetricsFeatureProvider mMetricsFeatureProvider;
 
-    private final Handler mHandler = new Handler();
+    private final Handler mHandler = new Handler(Looper.getMainLooper());
     private final NetworkPolicyManager mPolicyManager;
     private final ArrayList<Listener> mListeners = new ArrayList<>();
     private SparseIntArray mUidPolicies = new SparseIntArray();
@@ -194,12 +195,7 @@
 
         @Override
         public void onUidPoliciesChanged(final int uid, final int uidPolicies) {
-            mHandler.post(new Runnable() {
-                @Override
-                public void run() {
-                    handleUidPoliciesChanged(uid, uidPolicies);
-                }
-            });
+            mHandler.post(() -> handleUidPoliciesChanged(uid, uidPolicies));
         }
 
         @Override
@@ -208,12 +204,7 @@
 
         @Override
         public void onRestrictBackgroundChanged(final boolean isDataSaving) throws RemoteException {
-            mHandler.post(new Runnable() {
-                @Override
-                public void run() {
-                    handleRestrictBackgroundChanged(isDataSaving);
-                }
-            });
+            mHandler.post(() -> handleRestrictBackgroundChanged(isDataSaving));
         }
     };
 
diff --git a/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java b/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java
index fffa243..280098d 100644
--- a/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java
+++ b/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java
@@ -37,7 +37,7 @@
     private final int ON = 1;
     private final int OFF = 0;
 
-    private static final String KEY_ALWAYS_ON = "ambient_display_always_on";
+    public static final String KEY_ALWAYS_ON = "ambient_display_always_on";
     private static final int MY_USER = UserHandle.myUserId();
 
     private final AmbientDisplayConfiguration mConfig;
@@ -61,7 +61,11 @@
 
     @Override
     public void updateState(Preference preference) {
-        ((SwitchPreference) preference).setChecked(mConfig.alwaysOnEnabled(MY_USER));
+        ((SwitchPreference) preference).setChecked(isAlwaysOnEnabled(mConfig));
+    }
+
+    public static boolean isAlwaysOnEnabled(AmbientDisplayConfiguration config) {
+        return config.alwaysOnEnabled(MY_USER);
     }
 
     @Override
@@ -77,7 +81,15 @@
 
     @Override
     public boolean isAvailable() {
-        return mConfig.alwaysOnAvailableForUser(MY_USER);
+        return isAvailable(mConfig);
+    }
+
+    public static boolean isAvailable(AmbientDisplayConfiguration config) {
+        return config.alwaysOnAvailableForUser(MY_USER);
+    }
+
+    public static boolean accessibilityInversionEnabled(AmbientDisplayConfiguration config) {
+        return config.accessibilityInversionEnabled(MY_USER);
     }
 
     @Override
diff --git a/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java b/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java
index 1902a52..65be08a 100644
--- a/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java
+++ b/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java
@@ -139,14 +139,18 @@
     public void onClick(View v) {
         switch (v.getId()) {
             case R.id.skip_button:
-                setResult(RESULT_SKIP);
-                finish();
+                onSkipButtonClick();
                 break;
             default:
                 super.onClick(v);
         }
     }
 
+    protected void onSkipButtonClick() {
+        setResult(RESULT_SKIP);
+        finish();
+    }
+
     private void proceedToEnrolling(boolean cancelEnrollment) {
         if (mSidecar != null) {
             if (cancelEnrollment) {
diff --git a/src/com/android/settings/fingerprint/FingerprintSettings.java b/src/com/android/settings/fingerprint/FingerprintSettings.java
index 1d427fc..7ebf294 100644
--- a/src/com/android/settings/fingerprint/FingerprintSettings.java
+++ b/src/com/android/settings/fingerprint/FingerprintSettings.java
@@ -406,7 +406,7 @@
             Preference addPreference = new Preference(root.getContext());
             addPreference.setKey(KEY_FINGERPRINT_ADD);
             addPreference.setTitle(R.string.fingerprint_add_title);
-            addPreference.setIcon(R.drawable.ic_add_24dp);
+            addPreference.setIcon(R.drawable.ic_menu_add);
             root.addPreference(addPreference);
             addPreference.setOnPreferenceChangeListener(this);
             updateAddPreference();
diff --git a/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensor.java b/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensor.java
index f62b701..2137130 100644
--- a/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensor.java
+++ b/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensor.java
@@ -16,12 +16,21 @@
 
 package com.android.settings.fingerprint;
 
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.FragmentManager;
+import android.content.DialogInterface;
 import android.content.Intent;
+import android.os.Bundle;
 import android.os.UserHandle;
+import android.support.annotation.NonNull;
 
+import com.android.internal.logging.nano.MetricsProto;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.SetupWizardUtils;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 import com.android.settings.password.ChooseLockSettingsHelper;
 
 public class SetupFingerprintEnrollFindSensor extends FingerprintEnrollFindSensor {
@@ -43,7 +52,53 @@
     }
 
     @Override
+    protected void onSkipButtonClick() {
+        new SkipFingerprintDialog().show(getFragmentManager());
+    }
+
+    @Override
     public int getMetricsCategory() {
         return MetricsEvent.FINGERPRINT_FIND_SENSOR_SETUP;
     }
+
+    public static class SkipFingerprintDialog extends InstrumentedDialogFragment
+            implements DialogInterface.OnClickListener {
+        private static final String TAG_SKIP_DIALOG = "skip_dialog";
+
+        @Override
+        public int getMetricsCategory() {
+            return MetricsProto.MetricsEvent.DIALOG_FINGERPRINT_SKIP_SETUP;
+        }
+
+        @Override
+        public Dialog onCreateDialog(Bundle savedInstanceState) {
+            return onCreateDialogBuilder().create();
+        }
+
+        @NonNull
+        public AlertDialog.Builder onCreateDialogBuilder() {
+            return new AlertDialog.Builder(getContext())
+                    .setTitle(R.string.setup_fingerprint_enroll_skip_title)
+                    .setPositiveButton(R.string.skip_anyway_button_label, this)
+                    .setNegativeButton(R.string.go_back_button_label, this)
+                    .setMessage(R.string.setup_fingerprint_enroll_skip_after_adding_lock_text);
+        }
+
+        @Override
+        public void onClick(DialogInterface dialog, int button) {
+            switch (button) {
+                case DialogInterface.BUTTON_POSITIVE:
+                    Activity activity = getActivity();
+                    if (activity != null) {
+                        activity.setResult(RESULT_SKIP);
+                        activity.finish();
+                    }
+                    break;
+            }
+        }
+
+        public void show(FragmentManager manager) {
+            show(manager, TAG_SKIP_DIALOG);
+        }
+    }
 }
diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
index 4717109..3b83fa5 100644
--- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
@@ -31,6 +31,7 @@
 import android.support.v14.preference.PreferenceFragment;
 import android.support.v7.preference.Preference;
 import android.text.TextUtils;
+import android.util.Log;
 import android.view.View;
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
@@ -163,9 +164,15 @@
 
     public static void startBatteryDetailPage(SettingsActivity caller, PreferenceFragment fragment,
             String packageName) {
-        final Bundle args = new Bundle(2);
+        final Bundle args = new Bundle(3);
+        final PackageManager packageManager = caller.getPackageManager();
         args.putString(EXTRA_PACKAGE_NAME, packageName);
         args.putString(EXTRA_POWER_USAGE_PERCENT, Utils.formatPercentage(0));
+        try {
+            args.putInt(EXTRA_UID, packageManager.getPackageUid(packageName, 0 /* no flag */));
+        } catch (PackageManager.NameNotFoundException e) {
+            Log.e(TAG, "Cannot find package: " + packageName, e);
+        }
 
         caller.startPreferencePanelAsUser(fragment, AdvancedPowerUsageDetail.class.getName(), args,
                 R.string.battery_details_title, null, new UserHandle(UserHandle.myUserId()));
diff --git a/src/com/android/settings/gestures/AssistGestureSettings.java b/src/com/android/settings/gestures/AssistGestureSettings.java
index 3066baf..8878f47 100644
--- a/src/com/android/settings/gestures/AssistGestureSettings.java
+++ b/src/com/android/settings/gestures/AssistGestureSettings.java
@@ -35,8 +35,6 @@
 
     private static final String TAG = "AssistGesture";
 
-    private static final String KEY_ASSIST = "gesture_assist";
-
     @Override
     public int getMetricsCategory() {
         return MetricsProto.MetricsEvent.SETTINGS_ASSIST_GESTURE;
@@ -60,8 +58,6 @@
     private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
             Lifecycle lifecycle) {
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        controllers.add(new AssistGesturePreferenceController(context, lifecycle, KEY_ASSIST,
-                false /* assistOnly */));
         controllers.addAll(FeatureFactory.getFactory(context).getAssistGestureFeatureProvider()
                 .getControllers(context, lifecycle));
 
@@ -86,8 +82,8 @@
 
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
-                    return new AssistGesturePreferenceController(context, null /* lifecycle */,
-                            null /* key */, false /* assistOnly */)
+                    return new AssistGestureSettingsPreferenceController(context,
+                            null /* lifecycle */, null /* key */, false /* assistOnly */)
                             .isAvailable();
                 }
             };
diff --git a/src/com/android/settings/gestures/AssistGesturePreferenceController.java b/src/com/android/settings/gestures/AssistGestureSettingsPreferenceController.java
similarity index 72%
rename from src/com/android/settings/gestures/AssistGesturePreferenceController.java
rename to src/com/android/settings/gestures/AssistGestureSettingsPreferenceController.java
index b91f230..bf6ee8c 100644
--- a/src/com/android/settings/gestures/AssistGesturePreferenceController.java
+++ b/src/com/android/settings/gestures/AssistGestureSettingsPreferenceController.java
@@ -16,6 +16,9 @@
 
 package com.android.settings.gestures;
 
+import static android.provider.Settings.Secure.ASSIST_GESTURE_ENABLED;
+import static android.provider.Settings.Secure.ASSIST_GESTURE_SILENCE_ALERTS_ENABLED;
+
 import android.content.Context;
 import android.content.Intent;
 import android.provider.Settings;
@@ -32,19 +35,17 @@
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.core.lifecycle.events.OnResume;
 
-import static android.provider.Settings.Secure.ASSIST_GESTURE_ENABLED;
-
-public class AssistGesturePreferenceController extends GesturePreferenceController
+public class AssistGestureSettingsPreferenceController extends GesturePreferenceController
         implements OnResume {
 
-    private final int ON = 1;
-    private final int OFF = 0;
-
     private static final String PREF_KEY_VIDEO = "gesture_assist_video";
+
+    private static final String SECURE_KEY_ASSIST = ASSIST_GESTURE_ENABLED;
+    private static final String SECURE_KEY_SILENCE = ASSIST_GESTURE_SILENCE_ALERTS_ENABLED;
+    private static final int ON = 1;
+    private static final int OFF = 0;
+
     private final String mAssistGesturePrefKey;
-
-    private final String SECURE_KEY = ASSIST_GESTURE_ENABLED;
-
     private final AssistGestureFeatureProvider mFeatureProvider;
     private boolean mWasAvailable;
 
@@ -54,8 +55,8 @@
     @VisibleForTesting
     boolean mAssistOnly;
 
-    public AssistGesturePreferenceController(Context context, Lifecycle lifecycle, String key,
-            boolean assistOnly) {
+    public AssistGestureSettingsPreferenceController(Context context, Lifecycle lifecycle,
+            String key, boolean assistOnly) {
         super(context, lifecycle);
         mFeatureProvider = FeatureFactory.getFactory(context).getAssistGestureFeatureProvider();
         mWasAvailable = isAvailable();
@@ -76,14 +77,6 @@
     public void displayPreference(PreferenceScreen screen) {
         mScreen = screen;
         mPreference = screen.findPreference(getPreferenceKey());
-        if (!mFeatureProvider.isSensorAvailable(mContext)) {
-            removePreference(mScreen, getPreferenceKey());
-            return;
-        }
-        if (!mFeatureProvider.isSupported(mContext)) {
-            mScreen.removePreference(mPreference);
-            return;
-        }
         // Call super last or AbstractPreferenceController might remove the preference from the
         // screen (if !isAvailable()) before we can save a reference to it.
         super.displayPreference(screen);
@@ -91,14 +84,6 @@
 
     @Override
     public void onResume() {
-        // This check must be done in case the user disables Assistant while still on the settings
-        // page. This check is slightly different than isAvailable() in some cases due to this
-        // setting being in multiple places that require different behavior
-        if (mScreen != null && !mFeatureProvider.isSupported(mContext)) {
-            mScreen.removePreference(mPreference);
-            mWasAvailable = false;
-            return;
-        }
         if (mWasAvailable != isAvailable()) {
             // Only update the preference visibility if the availability has changed -- otherwise
             // the preference may be incorrectly added to screens with collapsed sections.
@@ -112,7 +97,7 @@
             return;
         }
 
-        if (mFeatureProvider.isSupported(mContext)) {
+        if (isAvailable()) {
             if (mScreen.findPreference(getPreferenceKey()) == null) {
                 mScreen.addPreference(mPreference);
             }
@@ -121,15 +106,22 @@
         }
     }
 
+    private boolean isAssistGestureEnabled() {
+        return Settings.Secure.getInt(mContext.getContentResolver(),
+                SECURE_KEY_ASSIST, ON) != 0;
+    }
+
+    private boolean isSilenceGestureEnabled() {
+        return Settings.Secure.getInt(mContext.getContentResolver(),
+                SECURE_KEY_SILENCE, ON) != 0;
+    }
+
     @Override
     public void updateState(Preference preference) {
-        boolean isEnabled = isSwitchPrefEnabled() && mFeatureProvider.isSupported(mContext);
+        boolean isEnabled = isAssistGestureEnabled() && mFeatureProvider.isSupported(mContext);
 
         if (!mAssistOnly) {
-            boolean assistGestureSilenceEnabled = Settings.Secure.getInt(
-                    mContext.getContentResolver(),
-                    Settings.Secure.ASSIST_GESTURE_SILENCE_ALERTS_ENABLED, 1) != 0;
-            isEnabled = isEnabled || assistGestureSilenceEnabled;
+            isEnabled = isEnabled || isSilenceGestureEnabled();
         }
 
         if (preference != null) {
@@ -146,7 +138,8 @@
     @Override
     public boolean onPreferenceChange(Preference preference, Object newValue) {
         final boolean enabled = (boolean) newValue;
-        Settings.Secure.putInt(mContext.getContentResolver(), SECURE_KEY, enabled ? ON : OFF);
+        Settings.Secure.putInt(mContext.getContentResolver(), SECURE_KEY_ASSIST,
+                enabled ? ON : OFF);
         updateState(preference);
         return true;
     }
@@ -163,9 +156,8 @@
 
     @Override
     protected boolean isSwitchPrefEnabled() {
-        final int assistGestureEnabled = Settings.Secure.getInt(mContext.getContentResolver(),
-                SECURE_KEY, ON);
-        return assistGestureEnabled != 0;
+        // Does nothing
+        return true;
     }
 
     @Override
@@ -174,7 +166,7 @@
                 AssistGestureSettings.class.getName(), mAssistGesturePrefKey,
                 mContext.getString(R.string.display_settings));
 
-        return new InlineSwitchPayload(SECURE_KEY, ResultPayload.SettingsSource.SECURE,
+        return new InlineSwitchPayload(SECURE_KEY_ASSIST, ResultPayload.SettingsSource.SECURE,
                 ON /* onValue */, intent, isAvailable(), ON /* defaultValue */);
     }
 }
diff --git a/src/com/android/settings/gestures/GestureSettings.java b/src/com/android/settings/gestures/GestureSettings.java
index 805c4a1..4d38b09 100644
--- a/src/com/android/settings/gestures/GestureSettings.java
+++ b/src/com/android/settings/gestures/GestureSettings.java
@@ -75,8 +75,8 @@
             @NonNull Context context, @Nullable Lifecycle lifecycle,
             @NonNull AmbientDisplayConfiguration ambientDisplayConfiguration) {
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        controllers.add(new AssistGesturePreferenceController(context, lifecycle, KEY_ASSIST,
-                false /* assistOnly */));
+        controllers.add(new AssistGestureSettingsPreferenceController(context, lifecycle,
+                KEY_ASSIST, false /* assistOnly */));
         controllers.add(new SwipeToNotificationPreferenceController(context, lifecycle,
                 KEY_SWIPE_DOWN));
         controllers.add(new DoubleTwistPreferenceController(context, lifecycle, KEY_DOUBLE_TWIST));
diff --git a/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java b/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java
index 3b5dbba..6f334a5 100644
--- a/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java
+++ b/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java
@@ -17,29 +17,24 @@
 package com.android.settings.gestures;
 
 import android.content.Context;
-import android.content.Intent;
 import android.content.SharedPreferences;
 import android.provider.Settings;
 import android.support.v7.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.Utils;
-import com.android.settings.search.DatabaseIndexingUtils;
-import com.android.settings.search.InlineSwitchPayload;
-import com.android.settings.search.ResultPayload;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import static android.provider.Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED;
 
 public class SwipeToNotificationPreferenceController extends GesturePreferenceController {
 
-    private final int ON = 1;
-    private final int OFF = 0;
+    private static final int ON = 1;
+    private static final int OFF = 0;
 
     private static final String PREF_KEY_VIDEO = "gesture_swipe_down_fingerprint_video";
     private final String mSwipeDownFingerPrefKey;
 
-    private final String SECURE_KEY = SYSTEM_NAVIGATION_KEYS_ENABLED;
+    private static final String SECURE_KEY = SYSTEM_NAVIGATION_KEYS_ENABLED;
 
     public SwipeToNotificationPreferenceController(Context context, Lifecycle lifecycle,
             String key) {
@@ -70,28 +65,30 @@
 
     @Override
     public boolean isAvailable() {
-        return isGestureAvailable(mContext);
+        return SwipeToNotificationPreferenceController.isAvailable(mContext);
     }
 
     @Override
     public boolean onPreferenceChange(Preference preference, Object newValue) {
-        Settings.Secure.putInt(mContext.getContentResolver(), SECURE_KEY,
-                (boolean) newValue ? ON : OFF);
+        setSwipeToNotification(mContext, (boolean) newValue);
         return true;
     }
 
     @Override
     protected boolean isSwitchPrefEnabled() {
-        return Settings.Secure.getInt(mContext.getContentResolver(), SECURE_KEY, OFF) == ON;
+        return isSwipeToNotificationOn(mContext);
     }
 
-    @Override
-    public ResultPayload getResultPayload() {
-        final Intent intent = DatabaseIndexingUtils.buildSubsettingIntent(mContext,
-                SwipeToNotificationSettings.class.getName(), mSwipeDownFingerPrefKey,
-                mContext.getString(R.string.display_settings));
+    public static boolean isSwipeToNotificationOn(Context context) {
+        return Settings.Secure.getInt(context.getContentResolver(), SECURE_KEY, OFF) == ON;
+    }
 
-        return new InlineSwitchPayload(SECURE_KEY, ResultPayload.SettingsSource.SECURE,
-                ON /* onValue */, intent, isAvailable(), OFF /* defaultValue */);
+    public static boolean setSwipeToNotification(Context context, boolean isEnabled) {
+        return Settings.Secure.putInt(
+                context.getContentResolver(), SECURE_KEY, isEnabled ? ON : OFF);
+    }
+
+    public static boolean isAvailable(Context context) {
+        return isGestureAvailable(context);
     }
 }
diff --git a/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java b/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
index a7862ae..48b0b4a 100644
--- a/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
@@ -21,7 +21,6 @@
 import android.annotation.Nullable;
 import android.app.Activity;
 import android.app.admin.DevicePolicyManager;
-import android.content.ComponentName;
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
@@ -31,17 +30,15 @@
 import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
-import android.support.v7.preference.PreferenceScreen;
+import android.provider.SearchIndexableResource;
 import android.view.inputmethod.InputMethodInfo;
 import android.view.inputmethod.InputMethodManager;
-import android.view.inputmethod.InputMethodSubtype;
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.search.Indexable;
-import com.android.settings.search.SearchIndexableRaw;
 import com.android.settingslib.inputmethod.InputMethodAndSubtypeUtil;
 import com.android.settingslib.inputmethod.InputMethodPreference;
 import com.android.settingslib.inputmethod.InputMethodSettingValuesWrapper;
@@ -60,10 +57,9 @@
 
     @Override
     public void onCreatePreferences(Bundle bundle, String s) {
+        addPreferencesFromResource(R.xml.available_virtual_keyboard);
         Activity activity = getActivity();
-        PreferenceScreen screen = getPreferenceManager().createPreferenceScreen(activity);
-        screen.setTitle(activity.getString(R.string.available_virtual_keyboard_category));
-        setPreferenceScreen(screen);
+
         mInputMethodSettingValues = InputMethodSettingValuesWrapper.getInstance(activity);
         mImm = activity.getSystemService(InputMethodManager.class);
         mDpm = activity.getSystemService(DevicePolicyManager.class);
@@ -105,7 +101,7 @@
         }
         try {
             return packageManager.getDrawable(packageName, resId, applicationInfo);
-        } catch (Exception e){
+        } catch (Exception e) {
             return null;
         }
     }
@@ -172,48 +168,16 @@
         }
     }
 
-    private static List<InputMethodSubtype> getAllSubtypesOf(final InputMethodInfo imi) {
-        final int subtypeCount = imi.getSubtypeCount();
-        final List<InputMethodSubtype> allSubtypes = new ArrayList<>(subtypeCount);
-        for (int index = 0; index < subtypeCount; index++) {
-            allSubtypes.add(imi.getSubtypeAt(index));
-        }
-        return allSubtypes;
-    }
-
-    static List<SearchIndexableRaw> buildSearchIndexOfInputMethods(final Context context,
-            final List<InputMethodInfo> inputMethods, final String screenTitle) {
-        final List<SearchIndexableRaw> indexes = new ArrayList<>();
-        for (int i = 0; i < inputMethods.size(); i++) {
-            final InputMethodInfo imi = inputMethods.get(i);
-            final ServiceInfo serviceInfo = imi.getServiceInfo();
-            final SearchIndexableRaw index = new SearchIndexableRaw(context);
-            index.key = new ComponentName(serviceInfo.packageName, serviceInfo.name)
-                    .flattenToString();
-            index.title = imi.loadLabel(context.getPackageManager()).toString();
-            index.summaryOn = index.summaryOff = InputMethodAndSubtypeUtil
-                    .getSubtypeLocaleNameListAsSentence(getAllSubtypesOf(imi), context, imi);
-            index.screenTitle = screenTitle;
-            indexes.add(index);
-        }
-        return indexes;
-    }
-
-    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
-        @Override
-        public List<SearchIndexableRaw> getRawDataToIndex(Context context, boolean enabled) {
-            final InputMethodManager imm = context.getSystemService(InputMethodManager.class);
-            final List<InputMethodInfo> enabledInputMethods = imm.getEnabledInputMethodList();
-            final List<InputMethodInfo> disabledInputMethods = new ArrayList<>();
-            for (final InputMethodInfo imi : imm.getInputMethodList()) {
-                if (!enabledInputMethods.contains(imi)) {
-                    disabledInputMethods.add(imi);
+                @Override
+                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
+                        boolean enabled) {
+                    List<SearchIndexableResource> res = new ArrayList<>();
+                    SearchIndexableResource index = new SearchIndexableResource(context);
+                    index.xmlResId = R.xml.available_virtual_keyboard;
+                    res.add(index);
+                    return res;
                 }
-            }
-            final String screenTitle = context.getString(
-                    R.string.available_virtual_keyboard_category);
-            return buildSearchIndexOfInputMethods(context, disabledInputMethods, screenTitle);
-        }
-    };
+            };
 }
diff --git a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
index 42eff15..83d501d 100644
--- a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
@@ -31,6 +31,7 @@
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.UserHandle;
+import android.provider.SearchIndexableResource;
 import android.provider.Settings.Secure;
 import android.support.v14.preference.SwitchPreference;
 import android.support.v7.preference.Preference;
@@ -51,11 +52,11 @@
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.search.Indexable;
-import com.android.settings.search.SearchIndexableRaw;
 import com.android.settingslib.inputmethod.InputMethodAndSubtypeUtil;
 
 import java.text.Collator;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -288,6 +289,7 @@
         final PhysicalKeyboardFragment mPhysicalKeyboardFragment;
         @NonNull
         final List<HardKeyboardDeviceInfo> mHardKeyboards;
+
         public Callbacks(
                 @NonNull Context context,
                 @NonNull PhysicalKeyboardFragment physicalKeyboardFragment,
@@ -532,43 +534,14 @@
         }
     }
 
-    public static List<InputDevice> getPhysicalFullKeyboards() {
-        List<InputDevice> keyboards = null;
-        for (final int deviceId : InputDevice.getDeviceIds()) {
-            final InputDevice device = InputDevice.getDevice(deviceId);
-            if (device != null && !device.isVirtual() && device.isFullKeyboard()) {
-                if (keyboards == null) keyboards = new ArrayList<>();
-                keyboards.add(device);
-            }
-        }
-        return (keyboards == null) ? Collections.emptyList() : keyboards;
-    }
-
     public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
-        @Override
-        public List<SearchIndexableRaw> getRawDataToIndex(Context context, boolean enabled) {
-            final InputManager inputManager = (InputManager) context.getSystemService(
-                    Context.INPUT_SERVICE);
-            final String screenTitle = context.getString(R.string.physical_keyboard_title);
-            final List<SearchIndexableRaw> indexes = new ArrayList<>();
-            for (final InputDevice device : getPhysicalFullKeyboards()) {
-                final String keyboardLayoutDescriptor = inputManager
-                        .getCurrentKeyboardLayoutForInputDevice(device.getIdentifier());
-                final KeyboardLayout keyboardLayout = (keyboardLayoutDescriptor != null)
-                        ? inputManager.getKeyboardLayout(keyboardLayoutDescriptor) : null;
-                final String summary = (keyboardLayout != null)
-                        ? keyboardLayout.toString()
-                        : context.getString(R.string.keyboard_layout_default_label);
-                final SearchIndexableRaw index = new SearchIndexableRaw(context);
-                index.key = device.getName();
-                index.title = device.getName();
-                index.summaryOn = summary;
-                index.summaryOff = summary;
-                index.screenTitle = screenTitle;
-                indexes.add(index);
-            }
-            return indexes;
-        }
-    };
+                @Override
+                public List<SearchIndexableResource> getXmlResourcesToIndex(
+                        Context context, boolean enabled) {
+                    final SearchIndexableResource sir = new SearchIndexableResource(context);
+                    sir.xmlResId = R.xml.physical_keyboard_settings;
+                    return Arrays.asList(sir);
+                }
+            };
 }
diff --git a/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java b/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java
index 7b7c599..fbe9690 100644
--- a/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java
@@ -23,6 +23,7 @@
 import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
+import android.provider.SearchIndexableResource;
 import android.support.v7.preference.Preference;
 import android.view.inputmethod.InputMethodInfo;
 import android.view.inputmethod.InputMethodManager;
@@ -33,14 +34,12 @@
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.search.Indexable;
-import com.android.settings.search.SearchIndexableRaw;
 import com.android.settingslib.inputmethod.InputMethodAndSubtypeUtil;
 import com.android.settingslib.inputmethod.InputMethodPreference;
 
 import java.text.Collator;
 import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
+import java.util.Arrays;
 import java.util.List;
 
 public final class VirtualKeyboardFragment extends SettingsPreferenceFragment implements Indexable {
@@ -121,13 +120,19 @@
 
     public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
-        @Override
-        public List<SearchIndexableRaw> getRawDataToIndex(Context context, boolean enabled) {
-            final InputMethodManager imm = context.getSystemService(InputMethodManager.class);
-            final List<InputMethodInfo> enabledInputMethods = imm.getEnabledInputMethodList();
-            final String screenTitle = context.getString(R.string.virtual_keyboard_category);
-            return AvailableVirtualKeyboardFragment
-                    .buildSearchIndexOfInputMethods(context, enabledInputMethods, screenTitle);
-        }
-    };
+                @Override
+                public List<SearchIndexableResource> getXmlResourcesToIndex(
+                        Context context, boolean enabled) {
+                    final SearchIndexableResource sir = new SearchIndexableResource(context);
+                    sir.xmlResId = R.xml.virtual_keyboard_settings;
+                    return Arrays.asList(sir);
+                }
+
+                @Override
+                public List<String> getNonIndexableKeys(Context context) {
+                    final List<String> keys = super.getNonIndexableKeys(context);
+                    keys.add("add_virtual_keyboard_screen");
+                    return keys;
+                }
+            };
 }
diff --git a/src/com/android/settings/language/LanguageAndInputSettings.java b/src/com/android/settings/language/LanguageAndInputSettings.java
index fbcb02f..4affc6e 100644
--- a/src/com/android/settings/language/LanguageAndInputSettings.java
+++ b/src/com/android/settings/language/LanguageAndInputSettings.java
@@ -52,6 +52,7 @@
     private static final String TAG = "LangAndInputSettings";
 
     private static final String KEY_TEXT_TO_SPEECH = "tts_settings_summary";
+    private static final String KEY_PHYSICAL_KEYBOARD = "physical_keyboard_pref";
 
     @Override
     public int getMetricsCategory() {
@@ -174,6 +175,7 @@
                     List<String> keys = super.getNonIndexableKeys(context);
                     // Duplicates in summary and details pages.
                     keys.add(KEY_TEXT_TO_SPEECH);
+                    keys.add(KEY_PHYSICAL_KEYBOARD);
 
                     return keys;
                 }
diff --git a/src/com/android/settings/network/MobileNetworkPreferenceController.java b/src/com/android/settings/network/MobileNetworkPreferenceController.java
index d8b7745..6e2c2d5 100644
--- a/src/com/android/settings/network/MobileNetworkPreferenceController.java
+++ b/src/com/android/settings/network/MobileNetworkPreferenceController.java
@@ -33,7 +33,6 @@
 
 import static android.os.UserHandle.myUserId;
 import static android.os.UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS;
-import static com.android.settingslib.RestrictedLockUtils.hasBaseUserRestriction;
 
 public class MobileNetworkPreferenceController extends AbstractPreferenceController
         implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause {
@@ -42,22 +41,30 @@
 
     private final boolean mIsSecondaryUser;
     private final TelephonyManager mTelephonyManager;
+    private final UserManager mUserManager;
     private Preference mPreference;
     @VisibleForTesting
     PhoneStateListener mPhoneStateListener;
 
     public MobileNetworkPreferenceController(Context context) {
         super(context);
-        UserManager userManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
+        mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
         mTelephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
-        mIsSecondaryUser = !userManager.isAdminUser();
+        mIsSecondaryUser = !mUserManager.isAdminUser();
     }
 
     @Override
     public boolean isAvailable() {
-        return !mIsSecondaryUser
-                && !Utils.isWifiOnly(mContext)
-                && !hasBaseUserRestriction(mContext, DISALLOW_CONFIG_MOBILE_NETWORKS, myUserId());
+        return !isUserRestricted() && !Utils.isWifiOnly(mContext);
+    }
+
+    public boolean isUserRestricted() {
+        final RestrictedLockUtilsWrapper wrapper = new RestrictedLockUtilsWrapper();
+        return mIsSecondaryUser ||
+                wrapper.hasBaseUserRestriction(
+                        mContext,
+                        DISALLOW_CONFIG_MOBILE_NETWORKS,
+                        myUserId());
     }
 
     @Override
diff --git a/src/com/android/settings/network/RestrictedLockUtilsWrapper.java b/src/com/android/settings/network/RestrictedLockUtilsWrapper.java
new file mode 100644
index 0000000..de5b808
--- /dev/null
+++ b/src/com/android/settings/network/RestrictedLockUtilsWrapper.java
@@ -0,0 +1,15 @@
+package com.android.settings.network;
+
+import android.content.Context;
+import com.android.settingslib.RestrictedLockUtils;
+
+/**
+ * Wrapper class needed to be able to test classes which use RestrictedLockUtils methods.
+ * Unfortunately there is no way to deal with this until robolectric is updated due to the fact
+ * that it is a static method and it uses new API's.
+ */
+public class RestrictedLockUtilsWrapper {
+    public boolean hasBaseUserRestriction(Context context, String userRestriction, int userId) {
+        return RestrictedLockUtils.hasBaseUserRestriction(context, userRestriction, userId);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/network/TetherPreferenceController.java b/src/com/android/settings/network/TetherPreferenceController.java
index 5712907..1c9959e 100644
--- a/src/com/android/settings/network/TetherPreferenceController.java
+++ b/src/com/android/settings/network/TetherPreferenceController.java
@@ -88,8 +88,7 @@
     public TetherPreferenceController(Context context, Lifecycle lifecycle) {
         super(context);
         mBluetoothPan = new AtomicReference<>();
-        mAdminDisallowedTetherConfig = checkIfRestrictionEnforced(
-                mContext, DISALLOW_CONFIG_TETHERING, UserHandle.myUserId()) != null;
+        mAdminDisallowedTetherConfig = isTetherConfigDisallowed(context);
         mConnectivityManager =
                 (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
         mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
@@ -170,6 +169,11 @@
         }
     }
 
+    public static boolean isTetherConfigDisallowed(Context context) {
+        return checkIfRestrictionEnforced(
+                context, DISALLOW_CONFIG_TETHERING, UserHandle.myUserId()) != null;
+    }
+
     @VisibleForTesting
     void updateSummary() {
         if (mPreference == null) {
diff --git a/src/com/android/settings/nfc/NfcEnabler.java b/src/com/android/settings/nfc/NfcEnabler.java
index 5bda1ad..14ee779 100644
--- a/src/com/android/settings/nfc/NfcEnabler.java
+++ b/src/com/android/settings/nfc/NfcEnabler.java
@@ -98,6 +98,7 @@
         // Turn NFC on/off
 
         final boolean desiredState = (Boolean) value;
+        mSwitch.setChecked(desiredState);
         mSwitch.setEnabled(false);
 
         if (desiredState) {
diff --git a/src/com/android/settings/notification/ChannelNotificationSettings.java b/src/com/android/settings/notification/ChannelNotificationSettings.java
index fa6c8ee..2f95dd2 100644
--- a/src/com/android/settings/notification/ChannelNotificationSettings.java
+++ b/src/com/android/settings/notification/ChannelNotificationSettings.java
@@ -351,7 +351,9 @@
         if (mRingtone != null) {
             mRingtone.onActivityResult(requestCode, resultCode, data);
         }
-        mImportance.setSummary(getImportanceSummary(mChannel.getImportance()));
+        if (mChannel != null) {
+            mImportance.setSummary(getImportanceSummary(mChannel.getImportance()));
+        }
     }
 
     boolean canPulseLight() {
diff --git a/src/com/android/settings/notification/VolumeSeekBarPreference.java b/src/com/android/settings/notification/VolumeSeekBarPreference.java
index 1428116..89f1e27 100644
--- a/src/com/android/settings/notification/VolumeSeekBarPreference.java
+++ b/src/com/android/settings/notification/VolumeSeekBarPreference.java
@@ -21,6 +21,7 @@
 import android.media.AudioManager;
 import android.net.Uri;
 import android.preference.SeekBarVolumizer;
+import android.support.annotation.VisibleForTesting;
 import android.support.v7.preference.PreferenceViewHolder;
 import android.text.TextUtils;
 import android.util.AttributeSet;
@@ -51,30 +52,38 @@
     private int mIconResId;
     private int mMuteIconResId;
     private boolean mStopped;
+    @VisibleForTesting
+    AudioManager mAudioManager;
 
     public VolumeSeekBarPreference(Context context, AttributeSet attrs, int defStyleAttr,
             int defStyleRes) {
         super(context, attrs, defStyleAttr, defStyleRes);
         setLayoutResource(R.layout.preference_volume_slider);
+        mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
     }
 
     public VolumeSeekBarPreference(Context context, AttributeSet attrs, int defStyleAttr) {
         super(context, attrs, defStyleAttr);
         setLayoutResource(R.layout.preference_volume_slider);
+        mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
     }
 
     public VolumeSeekBarPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
         setLayoutResource(R.layout.preference_volume_slider);
+        mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
     }
 
     public VolumeSeekBarPreference(Context context) {
         super(context);
         setLayoutResource(R.layout.preference_volume_slider);
+        mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
     }
 
     public void setStream(int stream) {
         mStream = stream;
+        setMax(mAudioManager.getStreamMaxVolume(mStream));
+        setProgress(mAudioManager.getStreamVolume(mStream));
     }
 
     public void setCallback(Callback callback) {
diff --git a/src/com/android/settings/notification/ZenModeSettings.java b/src/com/android/settings/notification/ZenModeSettings.java
index 534892c..8cb700b 100644
--- a/src/com/android/settings/notification/ZenModeSettings.java
+++ b/src/com/android/settings/notification/ZenModeSettings.java
@@ -136,7 +136,7 @@
             }
         }
         final Preference p = new Preference(getPrefContext());
-        p.setIcon(R.drawable.ic_add);
+        p.setIcon(R.drawable.ic_menu_add);
         p.setTitle(R.string.zen_mode_add_rule);
         p.setPersistent(false);
         p.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java
index 2b2b38f..d2bd934 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialBaseActivity.java
@@ -68,7 +68,7 @@
             LinearLayout layout = (LinearLayout) findViewById(R.id.content_parent);
             layout.setFitsSystemWindows(false);
         }
-
+        getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
         mIsKeyguardLocked = savedState == null
                 ? getSystemService(KeyguardManager.class).isKeyguardLocked()
                 : savedState.getBoolean(STATE_IS_KEYGUARD_LOCKED, false);
diff --git a/src/com/android/settings/password/ConfirmLockPassword.java b/src/com/android/settings/password/ConfirmLockPassword.java
index 328646b..dcb7b66 100644
--- a/src/com/android/settings/password/ConfirmLockPassword.java
+++ b/src/com/android/settings/password/ConfirmLockPassword.java
@@ -197,11 +197,19 @@
         }
 
         private int getDefaultHeader() {
+            if (mFrp) {
+                return mIsAlpha ? R.string.lockpassword_confirm_your_password_header_frp
+                        : R.string.lockpassword_confirm_your_pin_header_frp;
+            }
             return mIsAlpha ? R.string.lockpassword_confirm_your_password_header
                     : R.string.lockpassword_confirm_your_pin_header;
         }
 
         private int getDefaultDetails() {
+            if (mFrp) {
+                return mIsAlpha ? R.string.lockpassword_confirm_your_password_details_frp
+                        : R.string.lockpassword_confirm_your_pin_details_frp;
+            }
             boolean isStrongAuthRequired = isStrongAuthRequired();
             boolean isProfile = UserManager.get(getActivity()).isManagedProfile(mEffectiveUserId);
             // Map boolean flags to an index by isStrongAuth << 2 + isProfile << 1 + isAlpha.
diff --git a/src/com/android/settings/password/ConfirmLockPattern.java b/src/com/android/settings/password/ConfirmLockPattern.java
index eb42784..60d5a01 100644
--- a/src/com/android/settings/password/ConfirmLockPattern.java
+++ b/src/com/android/settings/password/ConfirmLockPattern.java
@@ -243,6 +243,9 @@
         }
 
         private int getDefaultDetails() {
+            if (mFrp) {
+                return R.string.lockpassword_confirm_your_pattern_details_frp;
+            }
             final boolean isStrongAuthRequired = isStrongAuthRequired();
             if (UserManager.get(getActivity()).isManagedProfile(mEffectiveUserId)) {
                 return isStrongAuthRequired
@@ -296,7 +299,7 @@
                     if (mHeaderText != null) {
                         mHeaderTextView.setText(mHeaderText);
                     } else {
-                        mHeaderTextView.setText(R.string.lockpassword_confirm_your_pattern_header);
+                        mHeaderTextView.setText(getDefaultHeader());
                     }
                     if (mDetailsText != null) {
                         mDetailsTextView.setText(mDetailsText);
@@ -331,6 +334,11 @@
             mHeaderTextView.announceForAccessibility(mHeaderTextView.getText());
         }
 
+        private int getDefaultHeader() {
+            return mFrp ? R.string.lockpassword_confirm_your_pattern_header_frp
+                    : R.string.lockpassword_confirm_your_pattern_header;
+        }
+
         private Runnable mClearPatternRunnable = new Runnable() {
             public void run() {
                 mLockPatternView.clearPattern();
diff --git a/src/com/android/settings/password/SetupSkipDialog.java b/src/com/android/settings/password/SetupSkipDialog.java
index 36646b7..adc645e 100644
--- a/src/com/android/settings/password/SetupSkipDialog.java
+++ b/src/com/android/settings/password/SetupSkipDialog.java
@@ -61,6 +61,7 @@
         return new AlertDialog.Builder(getContext())
                 .setPositiveButton(R.string.skip_anyway_button_label, this)
                 .setNegativeButton(R.string.go_back_button_label, this)
+                .setTitle(R.string.lock_screen_intro_skip_title)
                 .setMessage(args.getBoolean(ARG_FRP_SUPPORTED) ?
                         R.string.lock_screen_intro_skip_dialog_text_frp :
                         R.string.lock_screen_intro_skip_dialog_text);
diff --git a/src/com/android/settings/search/DatabaseResultLoader.java b/src/com/android/settings/search/DatabaseResultLoader.java
index 73b383b..7815a45 100644
--- a/src/com/android/settings/search/DatabaseResultLoader.java
+++ b/src/com/android/settings/search/DatabaseResultLoader.java
@@ -17,6 +17,9 @@
 
 package com.android.settings.search;
 
+import static com.android.settings.search.IndexDatabaseHelper.IndexColumns;
+import static com.android.settings.search.IndexDatabaseHelper.Tables.TABLE_PREFS_INDEX;
+
 import android.content.Context;
 import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
@@ -28,9 +31,6 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import static com.android.settings.search.IndexDatabaseHelper.IndexColumns;
-import static com.android.settings.search.IndexDatabaseHelper.Tables.TABLE_PREFS_INDEX;
-
 /**
  * AsyncTask to retrieve Settings, First party app and any intent based results.
  */
@@ -191,10 +191,12 @@
      * @return A set of the matching results.
      */
     private Set<SearchResult> query(String whereClause, String[] selection, int baseRank) {
-        SQLiteDatabase database = IndexDatabaseHelper.getInstance(mContext).getReadableDatabase();
-        final Cursor resultCursor = database.query(TABLE_PREFS_INDEX, SELECT_COLUMNS, whereClause,
-                selection, null, null, null);
-        return mConverter.convertCursor(mSiteMapManager, resultCursor, baseRank);
+        final SQLiteDatabase database =
+                IndexDatabaseHelper.getInstance(mContext).getReadableDatabase();
+        try (Cursor resultCursor = database.query(TABLE_PREFS_INDEX, SELECT_COLUMNS, whereClause,
+                selection, null, null, null)) {
+            return mConverter.convertCursor(mSiteMapManager, resultCursor, baseRank);
+        }
     }
 
     /**
diff --git a/src/com/android/settings/search/DynamicIndexableContentMonitor.java b/src/com/android/settings/search/DynamicIndexableContentMonitor.java
deleted file mode 100644
index a0e3c02..0000000
--- a/src/com/android/settings/search/DynamicIndexableContentMonitor.java
+++ /dev/null
@@ -1,415 +0,0 @@
-/*
- * Copyright (C) 2014 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.search;
-
-import android.accessibilityservice.AccessibilityService;
-import android.app.Activity;
-import android.app.LoaderManager;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.Loader;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
-import android.content.pm.ServiceInfo;
-import android.database.ContentObserver;
-import android.hardware.input.InputManager;
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.print.PrintManager;
-import android.print.PrintServicesLoader;
-import android.printservice.PrintServiceInfo;
-import android.provider.Settings;
-import android.provider.UserDictionary;
-import android.support.annotation.Nullable;
-import android.support.annotation.VisibleForTesting;
-import android.util.Log;
-import android.view.inputmethod.InputMethod;
-import android.view.inputmethod.InputMethodInfo;
-import android.view.inputmethod.InputMethodManager;
-
-import com.android.internal.content.PackageMonitor;
-import com.android.settings.inputmethod.AvailableVirtualKeyboardFragment;
-import com.android.settings.inputmethod.PhysicalKeyboardFragment;
-import com.android.settings.inputmethod.VirtualKeyboardFragment;
-import com.android.settings.language.LanguageAndInputSettings;
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.print.PrintSettingsFragment;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public final class DynamicIndexableContentMonitor implements
-        LoaderManager.LoaderCallbacks<List<PrintServiceInfo>> {
-    // Shorten the class name because log TAG can be at most 23 chars.
-    private static final String TAG = "DynamicContentMonitor";
-
-    private static final long DELAY_PROCESS_PACKAGE_CHANGE = 2000;
-    // A PackageMonitor shared among Settings activities.
-    private static final PackageChangeMonitor PACKAGE_CHANGE_MONITOR = new PackageChangeMonitor();
-
-    // Null if not initialized.
-    @Nullable private DatabaseIndexingManager mIndexManager;
-    private Context mContext;
-    private boolean mHasFeaturePrinting;
-
-    @VisibleForTesting
-    static Intent getAccessibilityServiceIntent(String packageName) {
-        final Intent intent = new Intent(AccessibilityService.SERVICE_INTERFACE);
-        intent.setPackage(packageName);
-        return intent;
-    }
-
-    @VisibleForTesting
-    static Intent getIMEServiceIntent(String packageName) {
-        final Intent intent = new Intent(InputMethod.SERVICE_INTERFACE);
-        intent.setPackage(packageName);
-        return intent;
-    }
-
-    @VisibleForTesting
-    static void resetForTesting() {
-        InputDevicesMonitor.getInstance().resetForTesting();
-        InputMethodServicesMonitor.getInstance().resetForTesting();
-    }
-
-    /**
-     * This instance holds a set of content monitor singleton objects.
-     *
-     * This object is created every time a sub-settings that extends {@code SettingsActivity}
-     * is created.
-     */
-    public DynamicIndexableContentMonitor() {}
-
-    /**
-     * Creates and initializes a set of content monitor singleton objects if not yet exist.
-     * Also starts loading the list of print services.
-     * <code>mIndex</code> has non-null value after successfully initialized.
-     *
-     * @param activity used to get {@link LoaderManager}.
-     * @param loaderId id for loading print services.
-     */
-    public void register(Activity activity, int loaderId) {
-        final boolean isUserUnlocked = activity
-                .getSystemService(UserManager.class)
-                .isUserUnlocked();
-        register(activity, loaderId, FeatureFactory.getFactory(activity)
-                        .getSearchFeatureProvider().getIndexingManager(activity), isUserUnlocked);
-    }
-
-    /**
-     * For testing to inject {@link DatabaseIndexingManager} object.
-     * Also because currently Robolectric doesn't support API 24, we can not test code that calls
-     * {@link UserManager#isUserUnlocked()}.
-     */
-    @VisibleForTesting
-    void register(Activity activity, int loaderId, DatabaseIndexingManager indexManager,
-                  boolean isUserUnlocked) {
-        if (!isUserUnlocked) {
-            Log.w(TAG, "Skipping content monitoring because user is locked");
-            return;
-        }
-        final Context context = activity.getApplicationContext();
-        mContext = context;
-        mIndexManager = indexManager;
-
-        PACKAGE_CHANGE_MONITOR.registerMonitor(context);
-        mHasFeaturePrinting = context.getPackageManager()
-                .hasSystemFeature(PackageManager.FEATURE_PRINTING);
-        if (mHasFeaturePrinting) {
-            activity.getLoaderManager().initLoader(loaderId, null /* args */, this /* callbacks */);
-        }
-
-        // Watch for input device changes.
-        InputDevicesMonitor.getInstance().initialize(context, mIndexManager);
-
-        // Start tracking packages.
-        InputMethodServicesMonitor.getInstance().initialize(context, mIndexManager);
-    }
-
-    /**
-     * Aborts loading the list of print services.
-     * Note that a set of content monitor singletons keep alive while Settings app is running.
-     *
-     * @param activity user to get {@link LoaderManager}.
-     * @param loaderId id for loading print services.
-     */
-    public void unregister(Activity activity, int loaderId) {
-        if (mIndexManager == null) return;
-
-        PACKAGE_CHANGE_MONITOR.unregisterMonitor();
-        if (mHasFeaturePrinting) {
-            activity.getLoaderManager().destroyLoader(loaderId);
-        }
-    }
-
-    @Override
-    public Loader<List<PrintServiceInfo>> onCreateLoader(int id, Bundle args) {
-        return new PrintServicesLoader(
-                (PrintManager) mContext.getSystemService(Context.PRINT_SERVICE), mContext,
-                PrintManager.ALL_SERVICES);
-    }
-
-    @Override
-    public void onLoadFinished(Loader<List<PrintServiceInfo>> loader,
-            List<PrintServiceInfo> services) {
-        mIndexManager.updateFromClassNameResource(PrintSettingsFragment.class.getName(),
-                true /* includeInSearchResults */);
-    }
-
-    @Override
-    public void onLoaderReset(Loader<List<PrintServiceInfo>> loader) {
-        // nothing to do
-    }
-
-    // A singleton that monitors input devices changes and updates indexes of physical keyboards.
-    private static class InputDevicesMonitor implements InputManager.InputDeviceListener {
-
-        // Null if not initialized.
-        @Nullable private DatabaseIndexingManager mIndexManager;
-        private InputManager mInputManager;
-
-        private InputDevicesMonitor() {}
-
-        private static class SingletonHolder {
-            private static final InputDevicesMonitor INSTANCE = new InputDevicesMonitor();
-        }
-
-        static InputDevicesMonitor getInstance() {
-            return SingletonHolder.INSTANCE;
-        }
-
-        @VisibleForTesting
-        synchronized void resetForTesting() {
-            if (mIndexManager != null) {
-                mInputManager.unregisterInputDeviceListener(this /* listener */);
-            }
-            mIndexManager = null;
-        }
-
-        synchronized void initialize(Context context, DatabaseIndexingManager indexManager) {
-            if (mIndexManager != null) return;
-            mIndexManager = indexManager;
-            mInputManager = (InputManager) context.getSystemService(Context.INPUT_SERVICE);
-            buildIndex();
-
-            // Watch for input device changes.
-            mInputManager.registerInputDeviceListener(this /* listener */, null /* handler */);
-        }
-
-        private void buildIndex() {
-            mIndexManager.updateFromClassNameResource(PhysicalKeyboardFragment.class.getName(),
-                    true /* includeInSearchResults */);
-        }
-
-        @Override
-        public void onInputDeviceAdded(int deviceId) {
-            buildIndex();
-        }
-
-        @Override
-        public void onInputDeviceRemoved(int deviceId) {
-            buildIndex();
-        }
-
-        @Override
-        public void onInputDeviceChanged(int deviceId) {
-            buildIndex();
-        }
-    }
-
-    // A singleton that monitors package installing, uninstalling, enabling, and disabling.
-    // Then updates indexes of accessibility services and input methods.
-    private static class PackageChangeMonitor extends PackageMonitor {
-        private static final String TAG = PackageChangeMonitor.class.getSimpleName();
-
-        // Null if not initialized. Guarded by {@link #mLock}.
-        @Nullable private PackageManager mPackageManager;
-        private final Object mLock = new Object();
-
-        public void registerMonitor(Context context) {
-            synchronized (mLock) {
-                if (mPackageManager != null) {
-                    return;
-                }
-                mPackageManager = context.getPackageManager();
-
-                // Start tracking packages. Use background thread for monitoring. Note that no need
-                // to unregister this monitor. This should be alive while Settings app is running.
-                super.register(context, null /* thread */, UserHandle.CURRENT, false);
-            }
-        }
-
-        public void unregisterMonitor() {
-            synchronized (mLock) {
-                if (mPackageManager == null) {
-                    return;
-                }
-                super.unregister();
-                mPackageManager = null;
-            }
-        }
-
-        // Covers installed, appeared external storage with the package, upgraded.
-        @Override
-        public void onPackageAppeared(String packageName, int reason) {
-            postPackageAvailable(packageName);
-        }
-
-        // Covers uninstalled, removed external storage with the package.
-        @Override
-        public void onPackageDisappeared(String packageName, int reason) {
-            postPackageUnavailable(packageName);
-        }
-
-        // Covers enabled, disabled.
-        @Override
-        public void onPackageModified(String packageName) {
-            try {
-                final int state = mPackageManager.getApplicationEnabledSetting(packageName);
-                if (state == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT
-                        || state == PackageManager.COMPONENT_ENABLED_STATE_ENABLED) {
-                    postPackageAvailable(packageName);
-                } else {
-                    postPackageUnavailable(packageName);
-                }
-            } catch (IllegalArgumentException e) {
-                Log.e(TAG, "Package does not exist: " + packageName, e);
-            }
-        }
-
-        private void postPackageAvailable(final String packageName) {
-            getRegisteredHandler().postDelayed(() -> {
-                InputMethodServicesMonitor.getInstance().onPackageAvailable(packageName);
-            }, DELAY_PROCESS_PACKAGE_CHANGE);
-        }
-
-        private void postPackageUnavailable(final String packageName) {
-            getRegisteredHandler().postDelayed(() -> {
-                InputMethodServicesMonitor.getInstance().onPackageUnavailable(packageName);
-            }, DELAY_PROCESS_PACKAGE_CHANGE);
-        }
-    }
-
-    // A singleton that holds list of available input methods and updates search index.
-    // Also it monitors user dictionary changes and updates search index.
-    private static class InputMethodServicesMonitor extends ContentObserver {
-
-        private static final Uri ENABLED_INPUT_METHODS_CONTENT_URI =
-                Settings.Secure.getUriFor(Settings.Secure.ENABLED_INPUT_METHODS);
-
-        // Null if not initialized.
-        @Nullable private DatabaseIndexingManager mIndexManager;
-        private PackageManager mPackageManager;
-        private ContentResolver mContentResolver;
-        private final List<String> mInputMethodServices = new ArrayList<>();
-
-        private InputMethodServicesMonitor() {
-            // No need for handler because {@link #onChange(boolean,Uri)} is short and quick.
-            super(null /* handler */);
-        }
-
-        private static class SingletonHolder {
-            private static final InputMethodServicesMonitor INSTANCE =
-                    new InputMethodServicesMonitor();
-        }
-
-        static InputMethodServicesMonitor getInstance() {
-            return SingletonHolder.INSTANCE;
-        }
-
-        @VisibleForTesting
-        synchronized void resetForTesting() {
-            if (mIndexManager != null) {
-                mContentResolver.unregisterContentObserver(this /* observer */);
-            }
-            mIndexManager = null;
-        }
-
-        synchronized void initialize(Context context, DatabaseIndexingManager indexManager) {
-            final boolean hasFeatureIme = context.getPackageManager()
-                    .hasSystemFeature(PackageManager.FEATURE_INPUT_METHODS);
-            if (!hasFeatureIme) return;
-
-            if (mIndexManager != null) return;
-            mIndexManager = indexManager;
-            mPackageManager = context.getPackageManager();
-            mContentResolver = context.getContentResolver();
-            mInputMethodServices.clear();
-            // Build index of {@link UserDictionary}.
-            buildIndex(LanguageAndInputSettings.class);
-            // Build index of IMEs.
-            buildIndex(VirtualKeyboardFragment.class);
-            buildIndex(AvailableVirtualKeyboardFragment.class);
-
-            // Cache IME service packages to know when they go away.
-            final InputMethodManager inputMethodManager = (InputMethodManager) context
-                    .getSystemService(Context.INPUT_METHOD_SERVICE);
-            for (final InputMethodInfo inputMethod : inputMethodManager.getInputMethodList()) {
-                ServiceInfo serviceInfo = inputMethod.getServiceInfo();
-                if (serviceInfo != null) {
-                    mInputMethodServices.add(serviceInfo.packageName);
-                }
-            }
-
-            // TODO: Implements by JobScheduler with TriggerContentUri parameters.
-            // Watch for related content URIs.
-            mContentResolver.registerContentObserver(UserDictionary.Words.CONTENT_URI,
-                    true /* notifyForDescendants */, this /* observer */);
-            // Watch for changing enabled IMEs.
-            mContentResolver.registerContentObserver(ENABLED_INPUT_METHODS_CONTENT_URI,
-                    false /* notifyForDescendants */, this /* observer */);
-        }
-
-        private void buildIndex(Class<?> indexClass) {
-            mIndexManager.updateFromClassNameResource(indexClass.getName(),
-                    true /* includeInSearchResults */);
-        }
-
-        synchronized void onPackageAvailable(String packageName) {
-            if (mIndexManager == null) return;
-            if (mInputMethodServices.contains(packageName)) return;
-
-            final Intent intent = getIMEServiceIntent(packageName);
-            final List<ResolveInfo> services = mPackageManager
-                    .queryIntentServices(intent, 0 /* flags */);
-            if (services == null || services.isEmpty()) return;
-            mInputMethodServices.add(packageName);
-            buildIndex(VirtualKeyboardFragment.class);
-            buildIndex(AvailableVirtualKeyboardFragment.class);
-        }
-
-        synchronized void onPackageUnavailable(String packageName) {
-            if (mIndexManager == null) return;
-            if (!mInputMethodServices.remove(packageName)) return;
-            buildIndex(VirtualKeyboardFragment.class);
-            buildIndex(AvailableVirtualKeyboardFragment.class);
-        }
-
-        @Override
-        public void onChange(boolean selfChange, Uri uri) {
-            if (ENABLED_INPUT_METHODS_CONTENT_URI.equals(uri)) {
-                buildIndex(VirtualKeyboardFragment.class);
-                buildIndex(AvailableVirtualKeyboardFragment.class);
-            } else if (UserDictionary.Words.CONTENT_URI.equals(uri)) {
-                buildIndex(LanguageAndInputSettings.class);
-            }
-        }
-    }
-}
diff --git a/src/com/android/settings/search/InputDeviceResultLoader.java b/src/com/android/settings/search/InputDeviceResultLoader.java
new file mode 100644
index 0000000..61e1ad1
--- /dev/null
+++ b/src/com/android/settings/search/InputDeviceResultLoader.java
@@ -0,0 +1,200 @@
+/*
+ * 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.search;
+
+import static android.content.Context.INPUT_METHOD_SERVICE;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.ServiceInfo;
+import android.hardware.input.InputManager;
+import android.hardware.input.KeyboardLayout;
+import android.support.annotation.VisibleForTesting;
+import android.view.InputDevice;
+import android.view.inputmethod.InputMethodInfo;
+import android.view.inputmethod.InputMethodManager;
+import android.view.inputmethod.InputMethodSubtype;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.SiteMapManager;
+import com.android.settings.inputmethod.AvailableVirtualKeyboardFragment;
+import com.android.settings.inputmethod.PhysicalKeyboardFragment;
+import com.android.settings.utils.AsyncLoader;
+import com.android.settingslib.inputmethod.InputMethodAndSubtypeUtil;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+
+/**
+ * Search result for input devices (physical/virtual keyboard, game controllers, etc)
+ */
+public class InputDeviceResultLoader extends AsyncLoader<Set<? extends SearchResult>> {
+    private static final int NAME_NO_MATCH = -1;
+
+    @VisibleForTesting
+    static final String PHYSICAL_KEYBOARD_FRAGMENT = PhysicalKeyboardFragment.class.getName();
+    @VisibleForTesting
+    static final String VIRTUAL_KEYBOARD_FRAGMENT =
+            AvailableVirtualKeyboardFragment.class.getName();
+
+    private final SiteMapManager mSiteMapManager;
+    private final InputManager mInputManager;
+    private final InputMethodManager mImm;
+    private final PackageManager mPackageManager;
+    @VisibleForTesting
+    final String mQuery;
+
+    private List<String> mPhysicalKeyboardBreadcrumb;
+    private List<String> mVirtualKeyboardBreadcrumb;
+
+    public InputDeviceResultLoader(Context context, String query, SiteMapManager mapManager) {
+        super(context);
+        mQuery = query;
+        mSiteMapManager = mapManager;
+        mInputManager = (InputManager) context.getSystemService(Context.INPUT_SERVICE);
+        mImm = (InputMethodManager) context.getSystemService(INPUT_METHOD_SERVICE);
+        mPackageManager = context.getPackageManager();
+    }
+
+    @Override
+    protected void onDiscardResult(Set<? extends SearchResult> result) {
+    }
+
+    @Override
+    public Set<? extends SearchResult> loadInBackground() {
+        final Set<SearchResult> results = new HashSet<>();
+        results.addAll(buildPhysicalKeyboardSearchResults());
+        results.addAll(buildVirtualKeyboardSearchResults());
+        return results;
+    }
+
+    private Set<SearchResult> buildPhysicalKeyboardSearchResults() {
+        final Set<SearchResult> results = new HashSet<>();
+        final Context context = getContext();
+        final String screenTitle = context.getString(R.string.physical_keyboard_title);
+
+        for (final InputDevice device : getPhysicalFullKeyboards()) {
+            final String deviceName = device.getName();
+            final int wordDiff = InstalledAppResultLoader.getWordDifference(deviceName, mQuery);
+            if (wordDiff == NAME_NO_MATCH) {
+                continue;
+            }
+            final String keyboardLayoutDescriptor = mInputManager
+                    .getCurrentKeyboardLayoutForInputDevice(device.getIdentifier());
+            final KeyboardLayout keyboardLayout = (keyboardLayoutDescriptor != null)
+                    ? mInputManager.getKeyboardLayout(keyboardLayoutDescriptor) : null;
+            final String summary = (keyboardLayout != null)
+                    ? keyboardLayout.toString()
+                    : context.getString(R.string.keyboard_layout_default_label);
+            final String key = deviceName;
+
+            final Intent intent = DatabaseIndexingUtils.buildSubsettingIntent(context,
+                    PHYSICAL_KEYBOARD_FRAGMENT, key, screenTitle);
+            results.add(new SearchResult.Builder()
+                    .setTitle(deviceName)
+                    .setPayload(new ResultPayload(intent))
+                    .setStableId(Objects.hash(PHYSICAL_KEYBOARD_FRAGMENT, key))
+                    .setSummary(summary)
+                    .setRank(wordDiff)
+                    .addBreadcrumbs(getPhysicalKeyboardBreadCrumb())
+                    .build());
+        }
+        return results;
+    }
+
+    private Set<SearchResult> buildVirtualKeyboardSearchResults() {
+        final Set<SearchResult> results = new HashSet<>();
+        final Context context = getContext();
+        final String screenTitle = context.getString(R.string.add_virtual_keyboard);
+        final List<InputMethodInfo> inputMethods = mImm.getInputMethodList();
+        for (InputMethodInfo info : inputMethods) {
+            final String title = info.loadLabel(mPackageManager).toString();
+            final String summary = InputMethodAndSubtypeUtil
+                    .getSubtypeLocaleNameListAsSentence(getAllSubtypesOf(info), context, info);
+            int wordDiff = InstalledAppResultLoader.getWordDifference(title, mQuery);
+            if (wordDiff == NAME_NO_MATCH) {
+                wordDiff = InstalledAppResultLoader.getWordDifference(summary, mQuery);
+            }
+            if (wordDiff == NAME_NO_MATCH) {
+                continue;
+            }
+            final ServiceInfo serviceInfo = info.getServiceInfo();
+            final String key = new ComponentName(serviceInfo.packageName, serviceInfo.name)
+                    .flattenToString();
+            final Intent intent = DatabaseIndexingUtils.buildSubsettingIntent(context,
+                    VIRTUAL_KEYBOARD_FRAGMENT, key, screenTitle);
+            results.add(new SearchResult.Builder()
+                    .setTitle(title)
+                    .setSummary(summary)
+                    .setRank(wordDiff)
+                    .setStableId(Objects.hash(VIRTUAL_KEYBOARD_FRAGMENT, key))
+                    .addBreadcrumbs(getVirtualKeyboardBreadCrumb())
+                    .setPayload(new ResultPayload(intent))
+                    .build());
+        }
+        return results;
+    }
+
+    private List<String> getPhysicalKeyboardBreadCrumb() {
+        if (mPhysicalKeyboardBreadcrumb == null || mPhysicalKeyboardBreadcrumb.isEmpty()) {
+            final Context context = getContext();
+            mPhysicalKeyboardBreadcrumb = mSiteMapManager.buildBreadCrumb(
+                    context, PHYSICAL_KEYBOARD_FRAGMENT,
+                    context.getString(R.string.physical_keyboard_title));
+        }
+        return mPhysicalKeyboardBreadcrumb;
+    }
+
+
+    private List<String> getVirtualKeyboardBreadCrumb() {
+        if (mVirtualKeyboardBreadcrumb == null || mVirtualKeyboardBreadcrumb.isEmpty()) {
+            final Context context = getContext();
+            mVirtualKeyboardBreadcrumb = mSiteMapManager.buildBreadCrumb(
+                    context, VIRTUAL_KEYBOARD_FRAGMENT,
+                    context.getString(R.string.add_virtual_keyboard));
+        }
+        return mVirtualKeyboardBreadcrumb;
+    }
+
+    private List<InputDevice> getPhysicalFullKeyboards() {
+        final List<InputDevice> keyboards = new ArrayList<>();
+        final int[] deviceIds = InputDevice.getDeviceIds();
+        if (deviceIds != null) {
+            for (int deviceId : deviceIds) {
+                final InputDevice device = InputDevice.getDevice(deviceId);
+                if (device != null && !device.isVirtual() && device.isFullKeyboard()) {
+                    keyboards.add(device);
+                }
+            }
+        }
+        return keyboards;
+    }
+
+    private static List<InputMethodSubtype> getAllSubtypesOf(final InputMethodInfo imi) {
+        final int subtypeCount = imi.getSubtypeCount();
+        final List<InputMethodSubtype> allSubtypes = new ArrayList<>(subtypeCount);
+        for (int index = 0; index < subtypeCount; index++) {
+            allSubtypes.add(imi.getSubtypeAt(index));
+        }
+        return allSubtypes;
+    }
+}
diff --git a/src/com/android/settings/search/SavedQueryLoader.java b/src/com/android/settings/search/SavedQueryLoader.java
index 87457f5..e8efe85 100644
--- a/src/com/android/settings/search/SavedQueryLoader.java
+++ b/src/com/android/settings/search/SavedQueryLoader.java
@@ -34,7 +34,7 @@
 public class SavedQueryLoader extends AsyncLoader<List<? extends SearchResult>> {
 
     // Max number of proposed suggestions
-    @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
+    @VisibleForTesting
     static final int MAX_PROPOSED_SUGGESTIONS = 5;
 
     private final SQLiteDatabase mDatabase;
@@ -51,15 +51,17 @@
 
     @Override
     public List<? extends SearchResult> loadInBackground() {
-        Cursor cursor = mDatabase.query(IndexDatabaseHelper.Tables.TABLE_SAVED_QUERIES /* table */,
+        try (final Cursor cursor = mDatabase.query(
+                IndexDatabaseHelper.Tables.TABLE_SAVED_QUERIES /* table */,
                 new String[]{SavedQueriesColumns.QUERY} /* columns */,
                 null /* selection */,
                 null /* selectionArgs */,
                 null /* groupBy */,
                 null /* having */,
                 "rowId DESC" /* orderBy */,
-                String.valueOf(MAX_PROPOSED_SUGGESTIONS) /* limit */);
-        return convertCursorToResult(cursor);
+                String.valueOf(MAX_PROPOSED_SUGGESTIONS) /* limit */)) {
+            return convertCursorToResult(cursor);
+        }
     }
 
     private List<SearchResult> convertCursorToResult(Cursor cursor) {
diff --git a/src/com/android/settings/search/SearchFeatureProvider.java b/src/com/android/settings/search/SearchFeatureProvider.java
index 7e0e086..900cefc 100644
--- a/src/com/android/settings/search/SearchFeatureProvider.java
+++ b/src/com/android/settings/search/SearchFeatureProvider.java
@@ -49,6 +49,11 @@
             String query);
 
     /**
+     * Returns a new loader to search input devices.
+     */
+    InputDeviceResultLoader getInputDeviceResultLoader(Context context, String query);
+
+    /**
      * Returns a new loader to get all recently saved queries search terms.
      */
     SavedQueryLoader getSavedQueryLoader(Context context);
diff --git a/src/com/android/settings/search/SearchFeatureProviderImpl.java b/src/com/android/settings/search/SearchFeatureProviderImpl.java
index b90547e..400cf8f 100644
--- a/src/com/android/settings/search/SearchFeatureProviderImpl.java
+++ b/src/com/android/settings/search/SearchFeatureProviderImpl.java
@@ -62,6 +62,11 @@
     }
 
     @Override
+    public InputDeviceResultLoader getInputDeviceResultLoader(Context context, String query) {
+        return new InputDeviceResultLoader(context, cleanQuery(query), getSiteMapManager());
+    }
+
+    @Override
     public SavedQueryLoader getSavedQueryLoader(Context context) {
         return new SavedQueryLoader(context);
     }
diff --git a/src/com/android/settings/search/SearchFragment.java b/src/com/android/settings/search/SearchFragment.java
index fb89d6e..ccc4d61 100644
--- a/src/com/android/settings/search/SearchFragment.java
+++ b/src/com/android/settings/search/SearchFragment.java
@@ -84,8 +84,10 @@
     static final int LOADER_ID_INSTALLED_APPS = 2;
     @VisibleForTesting
     static final int LOADER_ID_ACCESSIBILITY_SERVICES = 3;
+    @VisibleForTesting
+    static final int LOADER_ID_INPUT_DEVICES = 4;
 
-    private static final int NUM_QUERY_LOADERS = 3;
+    private static final int NUM_QUERY_LOADERS = 4;
 
     @VisibleForTesting
     AtomicInteger mUnfinishedLoadersCount = new AtomicInteger(NUM_QUERY_LOADERS);
@@ -284,6 +286,7 @@
             loaderManager.destroyLoader(LOADER_ID_DATABASE);
             loaderManager.destroyLoader(LOADER_ID_INSTALLED_APPS);
             loaderManager.destroyLoader(LOADER_ID_ACCESSIBILITY_SERVICES);
+            loaderManager.destroyLoader(LOADER_ID_INPUT_DEVICES);
             mShowingSavedQuery = true;
             mSavedQueryController.loadSavedQueries();
             mSearchFeatureProvider.hideFeedbackButton();
@@ -314,6 +317,8 @@
                 return mSearchFeatureProvider.getInstalledAppSearchLoader(activity, mQuery);
             case LOADER_ID_ACCESSIBILITY_SERVICES:
                 return mSearchFeatureProvider.getAccessibilityServiceResultLoader(activity, mQuery);
+            case LOADER_ID_INPUT_DEVICES:
+                return mSearchFeatureProvider.getInputDeviceResultLoader(activity, mQuery);
             default:
                 return null;
         }
@@ -351,6 +356,8 @@
                     LOADER_ID_INSTALLED_APPS, null /* args */, this /* callback */);
             loaderManager.initLoader(
                     LOADER_ID_ACCESSIBILITY_SERVICES, null /* args */, this /* callback */);
+            loaderManager.initLoader(
+                    LOADER_ID_INPUT_DEVICES, null /* args */, this /* callback */);
         }
 
         requery();
@@ -392,6 +399,8 @@
         loaderManager.restartLoader(LOADER_ID_INSTALLED_APPS, null /* args */, this /* callback */);
         loaderManager.restartLoader(LOADER_ID_ACCESSIBILITY_SERVICES, null /* args */,
                 this /* callback */);
+        loaderManager.restartLoader(LOADER_ID_INPUT_DEVICES, null /* args */,
+                this /* callback */);
     }
 
     public String getQuery() {
diff --git a/src/com/android/settings/search/SearchResultsAdapter.java b/src/com/android/settings/search/SearchResultsAdapter.java
index 6c58a0d..7b886a4 100644
--- a/src/com/android/settings/search/SearchResultsAdapter.java
+++ b/src/com/android/settings/search/SearchResultsAdapter.java
@@ -57,7 +57,9 @@
     @VisibleForTesting
     static final String APP_RESULTS_LOADER_KEY = InstalledAppResultLoader.class.getName();
     @VisibleForTesting
-    static final String ACCESSIBLITY_LOADER_KEY = AccessibilityServiceResultLoader.class.getName();
+    static final String ACCESSIBILITY_LOADER_KEY = AccessibilityServiceResultLoader.class.getName();
+    @VisibleForTesting
+    static final String INPUT_DEVICE_LOADER_KEY = InputDeviceResultLoader.class.getName();
 
     @VisibleForTesting
     static final int MSG_RANKING_TIMED_OUT = 1;
@@ -265,17 +267,21 @@
         List<? extends SearchResult> installedAppResults =
                 getSortedLoadedResults(APP_RESULTS_LOADER_KEY);
         List<? extends SearchResult> accessibilityResults =
-                getSortedLoadedResults(ACCESSIBLITY_LOADER_KEY);
+                getSortedLoadedResults(ACCESSIBILITY_LOADER_KEY);
+        List<? extends SearchResult> inputDeviceResults =
+                getSortedLoadedResults(INPUT_DEVICE_LOADER_KEY);
 
         int dbSize = databaseResults.size();
         int appSize = installedAppResults.size();
         int a11ySize = accessibilityResults.size();
-
+        int inputDeviceSize = inputDeviceResults.size();
         int dbIndex = 0;
         int appIndex = 0;
         int a11yIndex = 0;
+        int inputDeviceIndex = 0;
         int rank = SearchResult.TOP_RANK;
 
+        // TODO: We need a helper method to do k-way merge.
         mStaticallyRankedSearchResults.clear();
         while (rank <= SearchResult.BOTTOM_RANK) {
             while ((dbIndex < dbSize) && (databaseResults.get(dbIndex).rank == rank)) {
@@ -287,6 +293,10 @@
             while ((a11yIndex < a11ySize) && (accessibilityResults.get(a11yIndex).rank == rank)) {
                 mStaticallyRankedSearchResults.add(accessibilityResults.get(a11yIndex++));
             }
+            while (inputDeviceIndex < inputDeviceSize
+                    && inputDeviceResults.get(inputDeviceIndex).rank == rank) {
+                mStaticallyRankedSearchResults.add(inputDeviceResults.get(inputDeviceIndex++));
+            }
             rank++;
         }
 
@@ -299,6 +309,9 @@
         while(a11yIndex < a11ySize) {
             mStaticallyRankedSearchResults.add(accessibilityResults.get(a11yIndex++));
         }
+        while (inputDeviceIndex < inputDeviceSize) {
+            mStaticallyRankedSearchResults.add(inputDeviceResults.get(inputDeviceIndex++));
+        }
     }
 
     private void updateSearchResults() {
@@ -332,12 +345,16 @@
         List<? extends SearchResult> installedAppResults =
                 getSortedLoadedResults(APP_RESULTS_LOADER_KEY);
         List<? extends SearchResult> accessibilityResults =
-                getSortedLoadedResults(ACCESSIBLITY_LOADER_KEY);
+                getSortedLoadedResults(ACCESSIBILITY_LOADER_KEY);
+        List<? extends SearchResult> inputDeviceResults =
+                getSortedLoadedResults(INPUT_DEVICE_LOADER_KEY);
         int dbSize = databaseResults.size();
         int appSize = installedAppResults.size();
         int a11ySize = accessibilityResults.size();
+        int inputDeviceSize = inputDeviceResults.size();
 
-        final List<SearchResult> asyncRankingResults = new ArrayList<>(dbSize + appSize + a11ySize);
+        final List<SearchResult> asyncRankingResults = new ArrayList<>(
+                dbSize + appSize + a11ySize + inputDeviceSize);
         TreeSet<SearchResult> dbResultsSortedByScores = new TreeSet<>(
                 new Comparator<SearchResult>() {
                     @Override
@@ -358,13 +375,13 @@
         // Other results are not ranked by async ranking and appended at the end of the list.
         asyncRankingResults.addAll(installedAppResults);
         asyncRankingResults.addAll(accessibilityResults);
+        asyncRankingResults.addAll(inputDeviceResults);
         return asyncRankingResults;
     }
 
     @VisibleForTesting
     Set<? extends SearchResult> getUnsortedLoadedResults(String loaderKey) {
-        return mResultsMap.containsKey(loaderKey) ?
-                mResultsMap.get(loaderKey) : new HashSet<SearchResult>();
+        return mResultsMap.containsKey(loaderKey) ? mResultsMap.get(loaderKey) : new HashSet<>();
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/widget/EntityHeaderController.java b/src/com/android/settings/widget/EntityHeaderController.java
index f2fca7c..70b040d 100644
--- a/src/com/android/settings/widget/EntityHeaderController.java
+++ b/src/com/android/settings/widget/EntityHeaderController.java
@@ -215,6 +215,7 @@
         final LayoutPreference pref = new LayoutPreference(uiContext, done(activity));
         // Makes sure it's the first preference onscreen.
         pref.setOrder(-1000);
+        pref.setSelectable(false);
         pref.setKey(PREF_KEY_APP_HEADER);
         return pref;
     }
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index 7cd1ab3..f0457e6 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -857,10 +857,11 @@
         }
 
         // Is the previous currently connected SSID different from the new one?
-        if (!((AccessPointPreference)
-                mConnectedAccessPointPreferenceCategory.getPreference(0))
-                        .getAccessPoint().getSsidStr().equals(
-                                connectedAp.getSsidStr())) {
+        AccessPointPreference preference = (AccessPointPreference)
+            (mConnectedAccessPointPreferenceCategory.getPreference(0));
+        // The AccessPoints need to be the same reference to ensure that updates are reflected
+        // in the UI.
+        if (preference.getAccessPoint() != connectedAp) {
             removeConnectedAccessPointPreference();
             addConnectedAccessPointPreference(connectedAp);
             return true;
diff --git a/tests/app/src/com/android/settings/password/ChooseLockGenericTest.java b/tests/app/src/com/android/settings/password/ChooseLockGenericTest.java
index e2bd6ee..40b69a4 100644
--- a/tests/app/src/com/android/settings/password/ChooseLockGenericTest.java
+++ b/tests/app/src/com/android/settings/password/ChooseLockGenericTest.java
@@ -18,9 +18,7 @@
 
 import static android.support.test.InstrumentationRegistry.getInstrumentation;
 import static android.support.test.InstrumentationRegistry.getTargetContext;
-
 import static com.google.common.truth.Truth.assertThat;
-
 import static org.junit.Assert.assertTrue;
 
 import android.app.Activity;
@@ -39,6 +37,7 @@
 import android.support.test.uiautomator.UiObject;
 import android.support.test.uiautomator.UiSelector;
 import android.text.format.DateUtils;
+import android.view.WindowManager;
 
 import com.android.internal.widget.LockPatternUtils;
 
@@ -93,7 +92,9 @@
             // WHEN ChooseLockGeneric is launched with no extras.
             mChooseLockGenericActivityRule.launchActivity(null /* No extras */);
             // THEN ConfirmLockPassword.InternalActivity is shown.
-            assertThat(getCurrentActivity())
+            final Activity activity = getCurrentActivity();
+            assertThat(isSecureWindow(activity)).isTrue();
+            assertThat(activity)
                     .isInstanceOf(ConfirmLockPassword.InternalActivity.class);
         } finally {
             finishAllAppTasks();
@@ -110,7 +111,9 @@
             // WHEN ChooseLockGeneric is launched with extras to by-pass lock password confirmation.
             mChooseLockGenericActivityRule.launchActivity(PHISHING_ATTACK_INTENT);
             // THEN ConfirmLockPassword.InternalActivity is still shown.
-            assertThat(getCurrentActivity())
+            final Activity activity = getCurrentActivity();
+            assertThat(isSecureWindow(activity)).isTrue();
+            assertThat(activity)
                     .isInstanceOf(ConfirmLockPassword.InternalActivity.class);
         } finally {
             finishAllAppTasks();
@@ -217,4 +220,9 @@
         mDevice.pressEnter();
         mDevice.waitForIdle();
     }
+
+    private boolean isSecureWindow(Activity activity) {
+        return (activity.getWindow().getAttributes().flags & WindowManager.LayoutParams.FLAG_SECURE)
+                != 0;
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/MasterClearTest.java b/tests/robotests/src/com/android/settings/MasterClearTest.java
index b501654..21b8e47 100644
--- a/tests/robotests/src/com/android/settings/MasterClearTest.java
+++ b/tests/robotests/src/com/android/settings/MasterClearTest.java
@@ -26,6 +26,7 @@
 
 import android.app.Activity;
 import android.app.Fragment;
+import android.content.ComponentName;
 import android.content.ContentResolver;
 import android.content.Intent;
 import android.os.Bundle;
@@ -37,7 +38,6 @@
 import android.widget.ScrollView;
 
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
-import com.android.settings.testutils.shadow.SettingsShadowResources;
 import com.android.settings.testutils.shadow.ShadowUtils;
 
 import org.junit.Before;
@@ -144,19 +144,19 @@
     }
 
     @Test
-    @Config(shadows = { ShadowUtils.class, SettingsShadowResources.class })
+    @Config(shadows = { ShadowUtils.class })
     public void testInitiateMasterClear_inDemoMode_sendsIntent() {
-        SettingsShadowResources.overrideResource(
-            com.android.internal.R.string.config_demoModePackage, "package");
-
         ShadowUtils.setIsDemoUser(true);
 
+        final ComponentName componentName = ComponentName.unflattenFromString(
+                "com.android.retaildemo/.DeviceAdminReceiver");
+        ShadowUtils.setDeviceOwnerComponent(componentName);
+
         mMasterClear.mInitiateListener.onClick(
                 mContentView.findViewById(R.id.initiate_master_clear));
         final Intent intent = mShadowActivity.getNextStartedActivity();
         assertThat(Intent.ACTION_FACTORY_RESET).isEqualTo(intent.getAction());
-        final String packageName = Utils.getDemoModePackageName(RuntimeEnvironment.application);
-        assertThat(packageName).isEqualTo(intent.getPackage());
+        assertThat(componentName.getPackageName()).isEqualTo(intent.getPackage());
     }
 
     private void initScrollView(int height, int scrollY, int childBottom) {
diff --git a/tests/robotests/src/com/android/settings/SetupChooseLockPatternTest.java b/tests/robotests/src/com/android/settings/SetupChooseLockPatternTest.java
index 78bc7d1..69a1351 100644
--- a/tests/robotests/src/com/android/settings/SetupChooseLockPatternTest.java
+++ b/tests/robotests/src/com/android/settings/SetupChooseLockPatternTest.java
@@ -30,7 +30,6 @@
 import com.android.settings.password.SetupChooseLockPattern;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
-import com.android.settings.testutils.shadow.ShadowDynamicIndexableContentMonitor;
 import com.android.settings.testutils.shadow.ShadowEventLogWriter;
 import com.android.settings.testutils.shadow.ShadowUtils;
 
@@ -49,7 +48,6 @@
         shadows = {
                 SettingsShadowResources.class,
                 SettingsShadowResources.SettingsShadowTheme.class,
-                ShadowDynamicIndexableContentMonitor.class,
                 ShadowEventLogWriter.class,
                 ShadowUtils.class
         })
diff --git a/tests/robotests/src/com/android/settings/applications/ManageApplicationsTest.java b/tests/robotests/src/com/android/settings/applications/ManageApplicationsTest.java
index 92aa675..8ed7284 100644
--- a/tests/robotests/src/com/android/settings/applications/ManageApplicationsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/ManageApplicationsTest.java
@@ -16,6 +16,17 @@
 
 package com.android.settings.applications;
 
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
 import android.app.Activity;
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
@@ -35,7 +46,6 @@
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
 import com.android.settings.testutils.shadow.SettingsShadowResources.SettingsShadowTheme;
-import com.android.settings.testutils.shadow.ShadowDynamicIndexableContentMonitor;
 import com.android.settings.testutils.shadow.ShadowEventLogWriter;
 import com.android.settings.widget.LoadingViewController;
 import com.android.settingslib.applications.ApplicationsState;
@@ -53,17 +63,6 @@
 
 import java.util.ArrayList;
 
-import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyInt;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
 /**
  * Tests for {@link ManageApplications}.
  */
@@ -74,7 +73,6 @@
         shadows = {
                 SettingsShadowResources.class,
                 SettingsShadowTheme.class,
-                ShadowDynamicIndexableContentMonitor.class,
                 ShadowEventLogWriter.class
         })
 public class ManageApplicationsTest {
diff --git a/tests/robotests/src/com/android/settings/bluetooth/AlwaysDiscoverableTest.java b/tests/robotests/src/com/android/settings/bluetooth/AlwaysDiscoverableTest.java
new file mode 100644
index 0000000..fd46b4b
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/bluetooth/AlwaysDiscoverableTest.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settings.bluetooth;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.bluetooth.BluetoothAdapter;
+import android.content.Context;
+import android.content.Intent;
+
+import com.android.settings.TestConfig;
+import com.android.settings.testutils.SettingsRobolectricTestRunner;
+import com.android.settingslib.bluetooth.LocalBluetoothAdapter;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class AlwaysDiscoverableTest {
+    @Mock
+    private LocalBluetoothAdapter mLocalAdapter;
+
+    @Mock
+    private Context mContext;
+
+    private AlwaysDiscoverable mAlwaysDiscoverable;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mAlwaysDiscoverable = new AlwaysDiscoverable(mContext, mLocalAdapter);
+    }
+
+    @Test
+    public void isStartedWithoutStart() {
+        assertThat(mAlwaysDiscoverable.mStarted).isFalse();
+    }
+
+    @Test
+    public void isStartedWithStart() {
+        mAlwaysDiscoverable.start();
+        assertThat(mAlwaysDiscoverable.mStarted).isTrue();
+    }
+
+    @Test
+    public void isStartedWithStartStop() {
+        mAlwaysDiscoverable.start();
+        mAlwaysDiscoverable.stop();
+        assertThat(mAlwaysDiscoverable.mStarted).isFalse();
+    }
+
+    @Test
+    public void stopWithoutStart() {
+        mAlwaysDiscoverable.stop();
+        // expect no crash
+        verify(mLocalAdapter, never()).setScanMode(anyInt());
+    }
+
+    @Test
+    public void startSetsModeAndRegistersReceiver() {
+        when(mLocalAdapter.getScanMode()).thenReturn(BluetoothAdapter.SCAN_MODE_NONE);
+        mAlwaysDiscoverable.start();
+        verify(mLocalAdapter).setScanMode(eq(BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE));
+        verify(mContext).registerReceiver(eq(mAlwaysDiscoverable), any());
+    }
+
+    @Test
+    public void stopUnregistersReceiver() {
+        mAlwaysDiscoverable.start();
+        mAlwaysDiscoverable.stop();
+        verify(mContext).unregisterReceiver(mAlwaysDiscoverable);
+    }
+
+    @Test
+    public void resetsToDiscoverableModeWhenScanModeChanges() {
+        mAlwaysDiscoverable.start();
+        verify(mLocalAdapter, times(1)).setScanMode(
+                BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE);
+
+        sendScanModeChangedIntent(BluetoothAdapter.SCAN_MODE_CONNECTABLE,
+                BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE);
+
+        verify(mLocalAdapter, times(2)).setScanMode(
+                BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE);
+    }
+
+    private void sendScanModeChangedIntent(int newMode, int previousMode) {
+        when(mLocalAdapter.getScanMode()).thenReturn(newMode);
+        Intent intent = new Intent(BluetoothAdapter.ACTION_SCAN_MODE_CHANGED);
+        intent.putExtra(BluetoothAdapter.EXTRA_SCAN_MODE, newMode);
+        intent.putExtra(BluetoothAdapter.EXTRA_PREVIOUS_SCAN_MODE, previousMode);
+        mAlwaysDiscoverable.onReceive(mContext, intent);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDetailTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDetailTest.java
index c4772e5..d1d4935 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDetailTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDetailTest.java
@@ -85,6 +85,7 @@
         mFragment.mLocalAdapter = mLocalAdapter;
         mFragment.mLocalManager = mLocalManager;
         mFragment.mDeviceListGroup = mPreferenceGroup;
+        mFragment.mAlwaysDiscoverable = new AlwaysDiscoverable(mContext, mLocalAdapter);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/core/instrumentation/SharedPreferenceLoggerTest.java b/tests/robotests/src/com/android/settings/core/instrumentation/SharedPreferenceLoggerTest.java
index ec644a6..bb41cf0 100644
--- a/tests/robotests/src/com/android/settings/core/instrumentation/SharedPreferenceLoggerTest.java
+++ b/tests/robotests/src/com/android/settings/core/instrumentation/SharedPreferenceLoggerTest.java
@@ -39,7 +39,7 @@
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent
         .FIELD_SETTINGS_PREFERENCE_CHANGE_FLOAT_VALUE;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent
-        .FIELD_SETTINGS_PREFERENCE_CHANGE_LONG_VALUE;
+        .FIELD_SETTINGS_PREFERENCE_CHANGE_INT_VALUE;
 import static com.android.internal.logging.nano.MetricsProto.MetricsEvent
         .FIELD_SETTINGS_PREFERENCE_CHANGE_NAME;
 import static org.mockito.Matchers.any;
@@ -88,7 +88,7 @@
 
         verify(mMetricsFeature, times(6)).action(any(Context.class), anyInt(),
                 argThat(mNamePairMatcher),
-                argThat(pairMatches(FIELD_SETTINGS_PREFERENCE_CHANGE_LONG_VALUE, Long.class)));
+                argThat(pairMatches(FIELD_SETTINGS_PREFERENCE_CHANGE_INT_VALUE, Integer.class)));
     }
 
     @Test
@@ -103,10 +103,10 @@
 
         verify(mMetricsFeature).action(any(Context.class), anyInt(),
                 argThat(mNamePairMatcher),
-                argThat(pairMatches(FIELD_SETTINGS_PREFERENCE_CHANGE_LONG_VALUE, true)));
+                argThat(pairMatches(FIELD_SETTINGS_PREFERENCE_CHANGE_INT_VALUE, true)));
         verify(mMetricsFeature, times(3)).action(any(Context.class), anyInt(),
                 argThat(mNamePairMatcher),
-                argThat(pairMatches(FIELD_SETTINGS_PREFERENCE_CHANGE_LONG_VALUE, false)));
+                argThat(pairMatches(FIELD_SETTINGS_PREFERENCE_CHANGE_INT_VALUE, false)));
     }
 
     @Test
@@ -120,7 +120,33 @@
 
         verify(mMetricsFeature, times(4)).action(any(Context.class), anyInt(),
                 argThat(mNamePairMatcher),
-                argThat(pairMatches(FIELD_SETTINGS_PREFERENCE_CHANGE_LONG_VALUE, Long.class)));
+                argThat(pairMatches(FIELD_SETTINGS_PREFERENCE_CHANGE_INT_VALUE, Integer.class)));
+    }
+
+    @Test
+    public void putLong_biggerThanIntMax_shouldLogIntMax() {
+        final SharedPreferences.Editor editor = mSharedPrefLogger.edit();
+        final long veryBigNumber = 500L + Integer.MAX_VALUE;
+        editor.putLong(TEST_KEY, 1);
+        editor.putLong(TEST_KEY, veryBigNumber);
+
+        verify(mMetricsFeature).action(any(Context.class), anyInt(),
+                argThat(mNamePairMatcher),
+                argThat(pairMatches(
+                        FIELD_SETTINGS_PREFERENCE_CHANGE_INT_VALUE, Integer.MAX_VALUE)));
+    }
+
+    @Test
+    public void putLong_smallerThanIntMin_shouldLogIntMin() {
+        final SharedPreferences.Editor editor = mSharedPrefLogger.edit();
+        final long veryNegativeNumber = -500L + Integer.MIN_VALUE;
+        editor.putLong(TEST_KEY, 1);
+        editor.putLong(TEST_KEY, veryNegativeNumber);
+
+        verify(mMetricsFeature).action(any(Context.class), anyInt(),
+                argThat(mNamePairMatcher),
+                argThat(pairMatches(
+                        FIELD_SETTINGS_PREFERENCE_CHANGE_INT_VALUE, Integer.MIN_VALUE)));
     }
 
     @Test
@@ -152,7 +178,13 @@
 
     private ArgumentMatcher<Pair<Integer, Object>> pairMatches(int tag, boolean bool) {
         return pair -> pair.first == tag
-                && Platform.isInstanceOfType(pair.second, Long.class)
-                && pair.second.equals((bool ? 1L : 0L));
+                && Platform.isInstanceOfType(pair.second, Integer.class)
+                && pair.second.equals((bool ? 1 : 0));
+    }
+
+    private ArgumentMatcher<Pair<Integer, Object>> pairMatches(int tag, int val) {
+        return pair -> pair.first == tag
+                && Platform.isInstanceOfType(pair.second, Integer.class)
+                && pair.second.equals(val);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java
index 8a8a13d..6b56c29 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardAdapterTest.java
@@ -15,6 +15,19 @@
  */
 package com.android.settings.dashboard;
 
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.reset;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -38,7 +51,6 @@
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
-import com.android.settings.testutils.shadow.ShadowDynamicIndexableContentMonitor;
 import com.android.settingslib.drawer.DashboardCategory;
 import com.android.settingslib.drawer.Tile;
 
@@ -56,26 +68,12 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.reset;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(manifest = TestConfig.MANIFEST_PATH,
         sdk = TestConfig.SDK_VERSION,
         shadows = {
                 SettingsShadowResources.class,
                 SettingsShadowResources.SettingsShadowTheme.class,
-                ShadowDynamicIndexableContentMonitor.class
         })
 public class DashboardAdapterTest {
 
diff --git a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java
index 2fde357..59b918a 100644
--- a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java
@@ -17,8 +17,17 @@
 package com.android.settings.dashboard.suggestions;
 
 
-import android.app.ActivityManager;
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
 
+import android.app.ActivityManager;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -59,18 +68,6 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyBoolean;
-import static org.mockito.Matchers.anyInt;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyZeroInteractions;
-import static org.mockito.Mockito.when;
-
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(manifest = TestConfig.MANIFEST_PATH,
         sdk = TestConfig.SDK_VERSION,
@@ -337,7 +334,7 @@
 
     @Test
     public void dismissSuggestion_hasMoreDismissCount_shouldNotDisableComponent() {
-        when(mSuggestionParser.dismissSuggestion(any(Tile.class), anyBoolean()))
+        when(mSuggestionParser.dismissSuggestion(any(Tile.class)))
                 .thenReturn(false);
         mProvider.dismissSuggestion(mContext, mSuggestionParser, mSuggestion);
 
@@ -349,25 +346,6 @@
     }
 
     @Test
-    public void dismissSuggestion_isShowingFirstImpressionType_dismissWithoutSmartSuggestionRule() {
-        mProvider = spy(mProvider);
-        when(mProvider.isSmartSuggestionEnabled(any(Context.class))).thenReturn(true);
-        final SharedPreferences pref = RuntimeEnvironment.application.getSharedPreferences(
-                "test_pref", Context.MODE_PRIVATE);
-        when(mProvider.getSharedPrefs(mContext)).thenReturn(pref);
-        when(mSuggestionParser.dismissSuggestion(any(Tile.class), anyBoolean()))
-                .thenReturn(false);
-
-        mProvider.dismissSuggestion(mContext, mSuggestionParser, mSuggestion);
-
-        verify(mFactory.metricsFeatureProvider).action(
-                eq(mContext),
-                eq(MetricsProto.MetricsEvent.ACTION_SETTINGS_DISMISS_SUGGESTION),
-                anyString());
-        verify(mSuggestionParser).dismissSuggestion(any(Tile.class), eq(false));
-    }
-
-    @Test
     public void dismissSuggestion_noContext_shouldDoNothing() {
         mProvider.dismissSuggestion(null, mSuggestionParser, mSuggestion);
 
@@ -376,7 +354,7 @@
 
     @Test
     public void dismissSuggestion_hasNoMoreDismissCount_shouldDisableComponent() {
-        when(mSuggestionParser.dismissSuggestion(any(Tile.class), anyBoolean()))
+        when(mSuggestionParser.dismissSuggestion(any(Tile.class)))
                 .thenReturn(true);
 
         mProvider.dismissSuggestion(mContext, mSuggestionParser, mSuggestion);
diff --git a/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java b/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java
index 637962b..2f2a685 100644
--- a/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java
@@ -17,9 +17,22 @@
 package com.android.settings.datausage;
 
 
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyBoolean;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.os.Bundle;
+import android.support.v14.preference.SwitchPreference;
 import android.support.v7.preference.PreferenceManager;
 import android.support.v7.preference.PreferenceScreen;
 import android.util.ArraySet;
@@ -44,17 +57,6 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyBoolean;
-import static org.mockito.Matchers.anyInt;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION,
         shadows = ShadowEntityHeaderController.class)
@@ -128,9 +130,24 @@
 
         mFragment.onViewCreated(new View(RuntimeEnvironment.application), new Bundle());
 
-        verify(mHeaderController)
-                .setHasAppInfoLink(true);
-        verify(mHeaderController)
-                .setUid(fakeUserId);
+        verify(mHeaderController).setHasAppInfoLink(true);
+        verify(mHeaderController).setUid(fakeUserId);
+    }
+
+    @Test
+    public void changePreference_backgroundData_shouldUpdateUI() {
+        mFragment = spy(new AppDataUsage());
+        final AppItem appItem = new AppItem(123456789);
+        final SwitchPreference pref = mock(SwitchPreference.class);
+        final DataSaverBackend dataSaverBackend = mock(DataSaverBackend.class);
+        ReflectionHelpers.setField(mFragment, "mAppItem", appItem);
+        ReflectionHelpers.setField(mFragment, "mRestrictBackground", pref);
+        ReflectionHelpers.setField(mFragment, "mDataSaverBackend", dataSaverBackend);
+
+        doNothing().when(mFragment).updatePrefs();
+
+        mFragment.onPreferenceChange(pref, true /* value */);
+
+        verify(mFragment).updatePrefs();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/fingerprint/FingerprintEnrollFindSensorTest.java b/tests/robotests/src/com/android/settings/fingerprint/FingerprintEnrollFindSensorTest.java
index 344914a..ad52bf6 100644
--- a/tests/robotests/src/com/android/settings/fingerprint/FingerprintEnrollFindSensorTest.java
+++ b/tests/robotests/src/com/android/settings/fingerprint/FingerprintEnrollFindSensorTest.java
@@ -36,7 +36,6 @@
 import com.android.settings.password.IFingerprintManager;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
-import com.android.settings.testutils.shadow.ShadowDynamicIndexableContentMonitor;
 import com.android.settings.testutils.shadow.ShadowEventLogWriter;
 import com.android.settings.testutils.shadow.ShadowUtils;
 
@@ -61,7 +60,6 @@
         shadows = {
                 SettingsShadowResources.class,
                 SettingsShadowResources.SettingsShadowTheme.class,
-                ShadowDynamicIndexableContentMonitor.class,
                 ShadowEventLogWriter.class,
                 ShadowUtils.class
         })
diff --git a/tests/robotests/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensorTest.java b/tests/robotests/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensorTest.java
new file mode 100644
index 0000000..ce31328
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensorTest.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright (C) 2017 Google Inc.
+ *
+ * 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.fingerprint;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.robolectric.RuntimeEnvironment.application;
+
+import android.app.AlertDialog;
+import android.content.Intent;
+import android.widget.Button;
+
+import com.android.settings.R;
+import com.android.settings.TestConfig;
+import com.android.settings.password.ChooseLockSettingsHelper;
+import com.android.settings.password.IFingerprintManager;
+import com.android.settings.testutils.SettingsRobolectricTestRunner;
+import com.android.settings.testutils.shadow.SettingsShadowResources;
+import com.android.settings.testutils.shadow.ShadowEventLogWriter;
+import com.android.settings.testutils.shadow.ShadowUtils;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.Robolectric;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowAlertDialog;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(
+        manifest = TestConfig.MANIFEST_PATH,
+        sdk = TestConfig.SDK_VERSION,
+        shadows = {
+                SettingsShadowResources.class,
+                SettingsShadowResources.SettingsShadowTheme.class,
+                ShadowEventLogWriter.class,
+                ShadowUtils.class
+        })
+public class SetupFingerprintEnrollFindSensorTest {
+
+    @Mock
+    private IFingerprintManager mFingerprintManager;
+
+    private SetupFingerprintEnrollFindSensor mActivity;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        ShadowUtils.setFingerprintManager(mFingerprintManager);
+        RuntimeEnvironment.getAppResourceLoader().getResourceIndex();
+
+    }
+
+    private void createActivity(Intent intent) {
+        mActivity = Robolectric.buildActivity(
+                SetupFingerprintEnrollFindSensor.class, intent)
+                .setup().get();
+    }
+
+    private Intent createIntent() {
+        return new Intent()
+                // Set the challenge token so the confirm screen will not be shown
+                .putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, new byte[0]);
+    }
+
+    @After
+    public void tearDown() {
+        ShadowUtils.reset();
+    }
+
+    @Test
+    public void fingerprintEnroll_showsAlert_whenClickingSkip() {
+        createActivity(createIntent());
+        Button skipButton = mActivity.findViewById(R.id.skip_button);
+        skipButton.performClick();
+        AlertDialog alertDialog = ShadowAlertDialog.getLatestAlertDialog();
+        assertNotNull(alertDialog);
+        ShadowAlertDialog shadowAlertDialog = Shadows.shadowOf(alertDialog);
+        int titleRes = R.string.setup_fingerprint_enroll_skip_title;
+        assertEquals(application.getString(titleRes), shadowAlertDialog.getTitle());
+    }
+
+}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
index c7eebc8..54d043c 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
@@ -369,6 +369,16 @@
     }
 
     @Test
+    public void testStartBatteryDetailPage_batteryEntryNotExisted_extractUidFromPackageName() throws
+            PackageManager.NameNotFoundException{
+        doReturn(UID).when(mPackageManager).getPackageUid(PACKAGE_NAME[0], 0 /* no flag */);
+
+        AdvancedPowerUsageDetail.startBatteryDetailPage(mTestActivity, null, PACKAGE_NAME[0]);
+
+        assertThat(mBundle.getInt(AdvancedPowerUsageDetail.EXTRA_UID)).isEqualTo(UID);
+    }
+
+    @Test
     public void testStartBatteryDetailPage_defaultPackageNull_chooseFromBatterySipper() {
         mBatteryEntry.defaultPackageName = null;
         mBatteryEntry.sipper.mPackages = PACKAGE_NAME;
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java
index 013d379..e434bb3 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java
@@ -17,6 +17,15 @@
 
 package com.android.settings.fuelgauge;
 
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.ArgumentMatchers.nullable;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
 import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
@@ -27,11 +36,10 @@
 import android.widget.TextView;
 
 import com.android.settings.R;
-import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.TestConfig;
 import com.android.settings.applications.LayoutPreference;
+import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
-import com.android.settings.testutils.shadow.ShadowDynamicIndexableContentMonitor;
 import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
 import com.android.settings.widget.EntityHeaderController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -45,23 +53,12 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.nullable;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(manifest = TestConfig.MANIFEST_PATH,
         sdk = TestConfig.SDK_VERSION,
         shadows = {
                 SettingsShadowResources.class,
                 SettingsShadowResources.SettingsShadowTheme.class,
-                ShadowDynamicIndexableContentMonitor.class,
                 ShadowEntityHeaderController.class
         })
 public class BatteryHeaderPreferenceControllerTest {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryMeterViewTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryMeterViewTest.java
index e3a94d2..3a1fad0 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryMeterViewTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryMeterViewTest.java
@@ -16,15 +16,17 @@
 package com.android.settings.fuelgauge;
 
 import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
 
 import android.content.Context;
 import android.graphics.ColorFilter;
 
-import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.TestConfig;
+import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
 import com.android.settings.testutils.shadow.SettingsShadowResources.SettingsShadowTheme;
-import com.android.settings.testutils.shadow.ShadowDynamicIndexableContentMonitor;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -34,10 +36,6 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-
 @RunWith(SettingsRobolectricTestRunner.class)
 // TODO: Consider making the shadow class set global using a robolectric.properties file.
 @Config(manifest = TestConfig.MANIFEST_PATH,
@@ -45,7 +43,6 @@
         shadows = {
                 SettingsShadowResources.class,
                 SettingsShadowTheme.class,
-                ShadowDynamicIndexableContentMonitor.class
         })
 public class BatteryMeterViewTest {
     private static final int BATTERY_LEVEL = 100;
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
index 83e630d..48a48b1 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
@@ -18,9 +18,7 @@
 import static com.android.settings.fuelgauge.PowerUsageSummary.MENU_ADDITIONAL_BATTERY_INFO;
 import static com.android.settings.fuelgauge.PowerUsageSummary.MENU_HIGH_POWER_APPS;
 import static com.android.settings.fuelgauge.PowerUsageSummary.MENU_TOGGLE_APPS;
-
 import static com.google.common.truth.Truth.assertThat;
-
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.anyInt;
 import static org.mockito.Matchers.anyLong;
@@ -34,8 +32,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import java.util.List;
-
 import android.app.LoaderManager;
 import android.content.ContentResolver;
 import android.content.Context;
@@ -68,7 +64,6 @@
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.XmlTestUtils;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
-import com.android.settings.testutils.shadow.ShadowDynamicIndexableContentMonitor;
 import com.android.settingslib.core.AbstractPreferenceController;
 
 import org.junit.Before;
@@ -95,7 +90,6 @@
         shadows = {
                 SettingsShadowResources.class,
                 SettingsShadowResources.SettingsShadowTheme.class,
-                ShadowDynamicIndexableContentMonitor.class
         })
 public class PowerUsageSummaryTest {
     private static final String[] PACKAGE_NAMES = {"com.app1", "com.app2"};
diff --git a/tests/robotests/src/com/android/settings/gestures/AssistGesturePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsPreferenceControllerTest.java
similarity index 70%
rename from tests/robotests/src/com/android/settings/gestures/AssistGesturePreferenceControllerTest.java
rename to tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsPreferenceControllerTest.java
index b2d3596..6767346 100644
--- a/tests/robotests/src/com/android/settings/gestures/AssistGesturePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsPreferenceControllerTest.java
@@ -16,9 +16,6 @@
 
 package com.android.settings.gestures;
 
-import static android.provider.Settings.Secure.ASSIST_GESTURE_ENABLED;
-
-import static android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE;
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.when;
@@ -26,17 +23,16 @@
 import android.content.ContentResolver;
 import android.content.Context;
 import android.provider.Settings;
-
 import android.provider.Settings.Secure;
+
 import com.android.settings.TestConfig;
-import com.android.settings.display.AutoBrightnessPreferenceController;
 import com.android.settings.search.InlinePayload;
 import com.android.settings.search.InlineSwitchPayload;
 import com.android.settings.search.ResultPayload;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
-
 import com.android.settings.testutils.shadow.ShadowSecureSettings;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -45,16 +41,15 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
-import org.robolectric.shadows.ShadowApplication;
 
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
-public class AssistGesturePreferenceControllerTest {
+public class AssistGestureSettingsPreferenceControllerTest {
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private Context mContext;
     private FakeFeatureFactory mFactory;
-    private AssistGesturePreferenceController mController;
+    private AssistGestureSettingsPreferenceController mController;
 
     private static final String KEY_ASSIST = "gesture_assist";
 
@@ -63,7 +58,8 @@
         MockitoAnnotations.initMocks(this);
         FakeFeatureFactory.setupForTest(mContext);
         mFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
-        mController = new AssistGesturePreferenceController(mContext, null, KEY_ASSIST, false);
+        mController = new AssistGestureSettingsPreferenceController(mContext, null, KEY_ASSIST,
+                false);
     }
 
     @Test
@@ -80,31 +76,11 @@
     }
 
     @Test
-    public void testSwitchEnabled_configIsSet_shouldReturnTrue() {
-        // Set the setting to be enabled.
-        final Context context = ShadowApplication.getInstance().getApplicationContext();
-        Settings.System.putInt(context.getContentResolver(), ASSIST_GESTURE_ENABLED, 1);
-        mController = new AssistGesturePreferenceController(context, null, KEY_ASSIST, false);
-
-        assertThat(mController.isSwitchPrefEnabled()).isTrue();
-    }
-
-    @Test
-    public void testSwitchEnabled_configIsNotSet_shouldReturnFalse() {
-        // Set the setting to be disabled.
-        final Context context = ShadowApplication.getInstance().getApplicationContext();
-        Settings.System.putInt(context.getContentResolver(), ASSIST_GESTURE_ENABLED, 0);
-        mController = new AssistGesturePreferenceController(context, null, KEY_ASSIST, false);
-
-        assertThat(mController.isSwitchPrefEnabled()).isFalse();
-    }
-
-    @Test
     public void testPreferenceController_ProperResultPayloadType() {
         final Context context = RuntimeEnvironment.application;
-        AssistGesturePreferenceController controller =
-                new AssistGesturePreferenceController(context, null /* lifecycle */, KEY_ASSIST,
-                        false /* assistOnly */);
+        AssistGestureSettingsPreferenceController controller =
+                new AssistGestureSettingsPreferenceController(context, null /* lifecycle */,
+                        KEY_ASSIST, false /* assistOnly */);
         ResultPayload payload = controller.getResultPayload();
         assertThat(payload).isInstanceOf(InlineSwitchPayload.class);
     }
diff --git a/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java b/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java
index cfd3f52..1f5c9be 100644
--- a/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java
@@ -62,13 +62,6 @@
     }
 
     @Test
-    public void testGetPreferenceControllers_shouldAllBeCreated() {
-        final List<AbstractPreferenceController> controllers =
-                mSettings.getPreferenceControllers(mContext);
-        assertThat(controllers.isEmpty()).isFalse();
-    }
-
-    @Test
     public void testSearchIndexProvider_shouldIndexResource() {
         final List<SearchIndexableResource> indexRes =
                 AssistGestureSettings.SEARCH_INDEX_DATA_PROVIDER.getXmlResourcesToIndex(
diff --git a/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java
index 3b92ed1..d4fc014 100644
--- a/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java
@@ -129,46 +129,6 @@
         assertThat(mController.isSwitchPrefEnabled()).isFalse();
     }
 
-    @Test
-    public void testPreferenceController_ProperResultPayloadType() {
-        when(mContext.getResources().
-                getBoolean(com.android.internal.R.bool.config_supportSystemNavigationKeys))
-                .thenReturn(true);
-
-        SwipeToNotificationPreferenceController controller =
-                new SwipeToNotificationPreferenceController(mContext, null /* lifecycle */,
-                        SYSTEM_NAVIGATION_KEYS_ENABLED);
-        ResultPayload payload = controller.getResultPayload();
-        assertThat(payload).isInstanceOf(InlineSwitchPayload.class);
-    }
-
-    @Test
-    @Config(shadows = ShadowSecureSettings.class)
-    public void testSetValue_updatesCorrectly() {
-        int newValue = 1;
-        ContentResolver resolver = mContext.getContentResolver();
-        Settings.Secure.putInt(resolver, Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED, 0);
-
-        ((InlinePayload) mController.getResultPayload()).setValue(mContext, newValue);
-        int updatedValue = Settings.Secure.getInt(resolver,
-                Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED, -1);
-
-        assertThat(updatedValue).isEqualTo(newValue);
-    }
-
-    @Test
-    @Config(shadows = ShadowSecureSettings.class)
-    public void testGetValue_correctValueReturned() {
-        int currentValue = 1;
-        ContentResolver resolver = mContext.getContentResolver();
-        Settings.Secure.putInt(resolver,
-                Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED, currentValue);
-
-        int newValue = ((InlinePayload) mController.getResultPayload()).getValue(mContext);
-
-        assertThat(newValue).isEqualTo(currentValue);
-    }
-
     private void stubFingerprintSupported(boolean enabled) {
         when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT))
                 .thenReturn(enabled);
diff --git a/tests/robotests/src/com/android/settings/network/MobileNetworkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/MobileNetworkPreferenceControllerTest.java
index e115dad..66e357b 100644
--- a/tests/robotests/src/com/android/settings/network/MobileNetworkPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/MobileNetworkPreferenceControllerTest.java
@@ -26,6 +26,7 @@
 
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.TestConfig;
+import com.android.settings.testutils.shadow.ShadowRestrictedLockUtilsWrapper;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.Before;
@@ -87,6 +88,7 @@
     }
 
     @Test
+    @Config(shadows = ShadowRestrictedLockUtilsWrapper.class)
     public void wifiOnly_prefIsNotAvailable() {
         when(mUserManager.isAdminUser()).thenReturn(true);
         when(mUserManager.hasUserRestriction(anyString(), any(UserHandle.class)))
diff --git a/tests/robotests/src/com/android/settings/notification/VolumeSeekBarPreferenceTest.java b/tests/robotests/src/com/android/settings/notification/VolumeSeekBarPreferenceTest.java
new file mode 100644
index 0000000..b091cd3
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/VolumeSeekBarPreferenceTest.java
@@ -0,0 +1,70 @@
+/*
+ * 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.notification;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.doCallRealMethod;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.media.AudioManager;
+
+import com.android.settings.TestConfig;
+import com.android.settings.testutils.SettingsRobolectricTestRunner;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class VolumeSeekBarPreferenceTest {
+
+    @Mock
+    private AudioManager mAudioManager;
+    @Mock
+    private VolumeSeekBarPreference mPreference;
+    @Mock
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        when(mContext.getSystemService(Context.AUDIO_SERVICE)).thenReturn(mAudioManager);
+        mPreference.mAudioManager = mAudioManager;
+    }
+
+    @Test
+    public void setStream_shouldSetMaxAndProgress() {
+        final int stream = 5;
+        final int max = 17;
+        final int progress = 4;
+        when(mAudioManager.getStreamMaxVolume(stream)).thenReturn(max);
+        when(mAudioManager.getStreamVolume(stream)).thenReturn(progress);
+        doCallRealMethod().when(mPreference).setStream(anyInt());
+
+        mPreference.setStream(stream);
+
+        verify(mPreference).setMax(max);
+        verify(mPreference).setProgress(progress);
+    }
+
+}
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
index 5fa731e..b8f0679 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
@@ -31,7 +31,6 @@
 import com.android.settings.password.ChooseLockPassword.IntentBuilder;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
-import com.android.settings.testutils.shadow.ShadowDynamicIndexableContentMonitor;
 import com.android.settings.testutils.shadow.ShadowEventLogWriter;
 import com.android.settings.testutils.shadow.ShadowUtils;
 import com.android.setupwizardlib.GlifLayout;
@@ -52,7 +51,6 @@
         shadows = {
                 SettingsShadowResources.class,
                 SettingsShadowResources.SettingsShadowTheme.class,
-                ShadowDynamicIndexableContentMonitor.class,
                 ShadowEventLogWriter.class,
                 ShadowUtils.class
         })
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
index b238049..c74448b 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
@@ -29,7 +29,6 @@
 import com.android.settings.password.ChooseLockPattern.IntentBuilder;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
-import com.android.settings.testutils.shadow.ShadowDynamicIndexableContentMonitor;
 import com.android.settings.testutils.shadow.ShadowEventLogWriter;
 import com.android.settings.testutils.shadow.ShadowUtils;
 import com.android.setupwizardlib.GlifLayout;
@@ -48,7 +47,6 @@
         shadows = {
                 SettingsShadowResources.class,
                 SettingsShadowResources.SettingsShadowTheme.class,
-                ShadowDynamicIndexableContentMonitor.class,
                 ShadowEventLogWriter.class,
                 ShadowUtils.class
         })
diff --git a/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
index 39a0fb6..1195a2c 100644
--- a/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
+++ b/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
@@ -34,7 +34,6 @@
 import com.android.settings.password.SetupChooseLockPassword.SetupChooseLockPasswordFragment;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
-import com.android.settings.testutils.shadow.ShadowDynamicIndexableContentMonitor;
 import com.android.settings.testutils.shadow.ShadowEventLogWriter;
 import com.android.settings.testutils.shadow.ShadowUtils;
 
@@ -62,7 +61,6 @@
         shadows = {
                 SettingsShadowResources.class,
                 SettingsShadowResources.SettingsShadowTheme.class,
-                ShadowDynamicIndexableContentMonitor.class,
                 ShadowEventLogWriter.class,
                 ShadowUtils.class
         })
diff --git a/tests/robotests/src/com/android/settings/password/SetupSkipDialogTest.java b/tests/robotests/src/com/android/settings/password/SetupSkipDialogTest.java
new file mode 100644
index 0000000..0e6f28a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/password/SetupSkipDialogTest.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2017 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.password;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.robolectric.RuntimeEnvironment.application;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+
+import com.android.settings.R;
+import com.android.settings.TestConfig;
+import com.android.settings.testutils.SettingsRobolectricTestRunner;
+import com.android.settings.testutils.shadow.SettingsShadowResources;
+import com.android.settings.testutils.shadow.ShadowEventLogWriter;
+import com.android.settings.testutils.shadow.ShadowUtils;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.Robolectric;
+import org.robolectric.Shadows;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowAlertDialog;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH,
+        sdk = TestConfig.SDK_VERSION,
+        shadows = {
+                SettingsShadowResources.class,
+                SettingsShadowResources.SettingsShadowTheme.class,
+                ShadowEventLogWriter.class,
+                ShadowUtils.class
+        })
+public class SetupSkipDialogTest {
+
+    private Activity mActivity;
+
+    @Before
+    public void setUp() {
+        mActivity = Robolectric.setupActivity(Activity.class);
+    }
+
+    @Test
+    public void frpMessages_areShownCorrectly_whenNotSupported() {
+        SetupSkipDialog setupSkipDialog = SetupSkipDialog.newInstance(false);
+        setupSkipDialog.show(mActivity.getFragmentManager());
+
+        AlertDialog alertDialog = ShadowAlertDialog.getLatestAlertDialog();
+        assertNotNull(alertDialog);
+        ShadowAlertDialog shadowAlertDialog = Shadows.shadowOf(alertDialog);
+        assertEquals(application.getString(R.string.lock_screen_intro_skip_title),
+                shadowAlertDialog.getTitle());
+        assertEquals(application.getString(R.string.lock_screen_intro_skip_dialog_text),
+                shadowAlertDialog.getMessage());
+    }
+
+    @Test
+    public void frpMessages_areShownCorrectly_whenSupported() {
+        SetupSkipDialog setupSkipDialog = SetupSkipDialog.newInstance(true);
+        setupSkipDialog.show(mActivity.getFragmentManager());
+
+        AlertDialog alertDialog = ShadowAlertDialog.getLatestAlertDialog();
+        assertNotNull(alertDialog);
+        ShadowAlertDialog shadowAlertDialog = Shadows.shadowOf(alertDialog);
+        assertEquals(application.getString(R.string.lock_screen_intro_skip_title),
+                shadowAlertDialog.getTitle());
+        assertEquals(application.getString(R.string.lock_screen_intro_skip_dialog_text_frp),
+                shadowAlertDialog.getMessage());
+    }
+
+}
diff --git a/tests/robotests/src/com/android/settings/search/DynamicIndexableContentMonitorTest.java b/tests/robotests/src/com/android/settings/search/DynamicIndexableContentMonitorTest.java
deleted file mode 100644
index 26c89d5..0000000
--- a/tests/robotests/src/com/android/settings/search/DynamicIndexableContentMonitorTest.java
+++ /dev/null
@@ -1,563 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.settings.search;
-
-import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyBoolean;
-import static org.mockito.Matchers.anyInt;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.only;
-import static org.mockito.Mockito.reset;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-
-import android.accessibilityservice.AccessibilityServiceInfo;
-import android.app.Activity;
-import android.app.Application;
-import android.app.LoaderManager;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.Loader;
-import android.content.pm.ActivityInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
-import android.content.pm.ServiceInfo;
-import android.database.ContentObserver;
-import android.hardware.input.InputManager;
-import android.net.Uri;
-import android.os.Bundle;
-import android.print.PrintManager;
-import android.print.PrintServicesLoader;
-import android.printservice.PrintServiceInfo;
-import android.provider.Settings;
-import android.provider.UserDictionary;
-import android.view.inputmethod.InputMethodInfo;
-
-import com.android.internal.content.PackageMonitor;
-import com.android.settings.TestConfig;
-import com.android.settings.inputmethod.AvailableVirtualKeyboardFragment;
-import com.android.settings.inputmethod.PhysicalKeyboardFragment;
-import com.android.settings.inputmethod.VirtualKeyboardFragment;
-import com.android.settings.language.LanguageAndInputSettings;
-import com.android.settings.print.PrintSettingsFragment;
-import com.android.settings.testutils.DatabaseTestUtils;
-import com.android.settings.testutils.SettingsRobolectricTestRunner;
-import com.android.settings.testutils.shadow.ShadowActivityWithLoadManager;
-import com.android.settings.testutils.shadow.ShadowContextImplWithRegisterReceiver;
-import com.android.settings.testutils.shadow.ShadowInputManager;
-import com.android.settings.testutils.shadow.ShadowInputMethodManagerWithMethodList;
-import com.android.settings.testutils.shadow.ShadowPackageMonitor;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.Robolectric;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-import org.robolectric.internal.ShadowExtractor;
-import org.robolectric.res.builder.RobolectricPackageManager;
-import org.robolectric.shadows.ShadowAccessibilityManager;
-import org.robolectric.shadows.ShadowApplication;
-import org.robolectric.shadows.ShadowContentResolver;
-import org.xmlpull.v1.XmlPullParserException;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
-@RunWith(SettingsRobolectricTestRunner.class)
-@Config(
-        manifest = TestConfig.MANIFEST_PATH,
-        sdk = TestConfig.SDK_VERSION,
-        shadows = {
-                ShadowActivityWithLoadManager.class,
-                ShadowContextImplWithRegisterReceiver.class,
-                ShadowInputManager.class,
-                ShadowInputMethodManagerWithMethodList.class,
-                ShadowPackageMonitor.class,
-        }
-)
-public class DynamicIndexableContentMonitorTest {
-
-    private static final int LOADER_ID = 1234;
-    private static final String A11Y_PACKAGE_1 = "a11y-1";
-    private static final String A11Y_PACKAGE_2 = "a11y-2";
-    private static final String IME_PACKAGE_1 = "ime-1";
-    private static final String IME_PACKAGE_2 = "ime-2";
-
-    @Mock
-    private LoaderManager mLoaderManager;
-    @Mock
-    private DatabaseIndexingManager mIndexManager;
-
-    private Activity mActivity;
-    private InputManager mInputManager;
-
-    private ShadowContextImplWithRegisterReceiver mShadowContextImpl;
-    private ShadowActivityWithLoadManager mShadowActivity;
-    private ShadowAccessibilityManager mShadowAccessibilityManager;
-    private ShadowInputMethodManagerWithMethodList mShadowInputMethodManager;
-    private RobolectricPackageManager mRobolectricPackageManager;
-
-    private final DynamicIndexableContentMonitor mMonitor = new DynamicIndexableContentMonitor();
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mActivity = Robolectric.buildActivity(Activity.class).get();
-        mInputManager = InputManager.getInstance();
-
-        // Robolectric shadows.
-        mShadowContextImpl = (ShadowContextImplWithRegisterReceiver) ShadowExtractor.extract(
-                ((Application) ShadowApplication.getInstance().getApplicationContext())
-                .getBaseContext());
-        mShadowActivity = (ShadowActivityWithLoadManager) ShadowExtractor.extract(mActivity);
-        mShadowAccessibilityManager = (ShadowAccessibilityManager) ShadowExtractor.extract(
-                mActivity.getSystemService(Context.ACCESSIBILITY_SERVICE));
-        mShadowInputMethodManager = (ShadowInputMethodManagerWithMethodList) ShadowExtractor
-                .extract(mActivity.getSystemService(Context.INPUT_METHOD_SERVICE));
-        mRobolectricPackageManager = RuntimeEnvironment.getRobolectricPackageManager();
-
-        // Setup shadows.
-        mShadowContextImpl.setSystemService(Context.PRINT_SERVICE, mock(PrintManager.class));
-        mShadowContextImpl.setSystemService(Context.INPUT_SERVICE, mInputManager);
-        mShadowActivity.setLoaderManager(mLoaderManager);
-        mShadowAccessibilityManager.setInstalledAccessibilityServiceList(Collections.emptyList());
-        mShadowInputMethodManager.setInputMethodList(Collections.emptyList());
-        mRobolectricPackageManager.setSystemFeature(PackageManager.FEATURE_PRINTING, true);
-        mRobolectricPackageManager.setSystemFeature(PackageManager.FEATURE_INPUT_METHODS, true);
-    }
-
-    @After
-    public void shutDown() {
-        mMonitor.unregister(mActivity, LOADER_ID);
-        // BroadcastReceiver must be unregistered.
-        assertThat(extractPackageMonitor()).isNull();
-
-        DynamicIndexableContentMonitor.resetForTesting();
-        mRobolectricPackageManager.reset();
-
-        DatabaseTestUtils.clearDb(mActivity);
-    }
-
-    @Test
-    public void testLockedUser() {
-        mMonitor.register(mActivity, LOADER_ID, mIndexManager, false /* isUserUnlocked */);
-
-        // No loader procedure happens.
-        verify(mLoaderManager, never()).initLoader(
-                anyInt(), any(Bundle.class), any(LoaderManager.LoaderCallbacks.class));
-        // No indexing happens.
-        verify(mIndexManager, never()).updateFromClassNameResource(
-                anyString(), anyBoolean());
-
-        mMonitor.unregister(mActivity, LOADER_ID);
-
-        // No destroy loader should happen.
-        verify(mLoaderManager, never()).destroyLoader(anyInt());
-    }
-
-    @Test
-    public void testWithNoPrintingFeature() {
-        mRobolectricPackageManager.setSystemFeature(PackageManager.FEATURE_PRINTING, false);
-
-        mMonitor.register(mActivity, LOADER_ID, mIndexManager, true /* isUserUnlocked */);
-
-        // No loader procedure happens.
-        verify(mLoaderManager, never()).initLoader(
-                anyInt(), any(Bundle.class), any(LoaderManager.LoaderCallbacks.class));
-        verifyNoIndexing(PrintSettingsFragment.class);
-
-        mMonitor.unregister(mActivity, LOADER_ID);
-
-        // No destroy loader should happen.
-        verify(mLoaderManager, never()).destroyLoader(anyInt());
-        // BroadcastReceiver must be unregistered.
-        assertThat(extractPackageMonitor()).isNull();
-
-        // To suppress spurious test fail in {@link #shutDown()}.
-        mMonitor.register(mActivity, LOADER_ID, mIndexManager, true /* isUserUnlocked */);
-    }
-
-    @Test
-    public void testPrinterServiceIndex() {
-        mMonitor.register(mActivity, LOADER_ID, mIndexManager, true /* isUserUnlocked */);
-
-        // Loader procedure happens.
-        verify(mLoaderManager, only()).initLoader(LOADER_ID, null, mMonitor);
-
-        // Loading print services happens.
-        final Loader<List<PrintServiceInfo>> loader =
-                mMonitor.onCreateLoader(LOADER_ID, null /* args */);
-        assertThat(loader).isInstanceOf(PrintServicesLoader.class);
-        verifyNoIndexing(PrintSettingsFragment.class);
-
-        mMonitor.onLoadFinished(loader, Collections.emptyList());
-
-        verifyIncrementalIndexing(PrintSettingsFragment.class);
-    }
-
-    @Test
-    public void testInputDevicesMonitor() {
-        mMonitor.register(mActivity, LOADER_ID, mIndexManager, true /* isUserUnlocked */);
-
-        // Rebuild indexing should happen.
-        verifyIncrementalIndexing(PhysicalKeyboardFragment.class);
-        // Input monitor should be registered to InputManager.
-        final InputManager.InputDeviceListener listener = extactInputDeviceListener();
-        assertThat(listener).isNotNull();
-
-        /*
-         * Nothing happens on successive register calls.
-         */
-        mMonitor.unregister(mActivity, LOADER_ID);
-        reset(mIndexManager);
-
-        mMonitor.register(mActivity, LOADER_ID, mIndexManager, true /* isUserUnlocked */);
-
-        verifyNoIndexing(PhysicalKeyboardFragment.class);
-        assertThat(extactInputDeviceListener()).isEqualTo(listener);
-
-        /*
-         * A device is added.
-         */
-        reset(mIndexManager);
-
-        listener.onInputDeviceAdded(1 /* deviceId */);
-
-        verifyIncrementalIndexing(PhysicalKeyboardFragment.class);
-
-        /*
-         * A device is removed.
-         */
-        reset(mIndexManager);
-
-        listener.onInputDeviceRemoved(2 /* deviceId */);
-
-        verifyIncrementalIndexing(PhysicalKeyboardFragment.class);
-
-        /*
-         * A device is changed.
-         */
-        reset(mIndexManager);
-
-        listener.onInputDeviceChanged(3 /* deviceId */);
-
-        verifyIncrementalIndexing(PhysicalKeyboardFragment.class);
-    }
-
-    @Test
-    public void testInputMethodServicesMonitor() throws Exception {
-        mMonitor.register(mActivity, LOADER_ID, mIndexManager, true /* isUserUnlocked */);
-
-        verifyIncrementalIndexing(VirtualKeyboardFragment.class);
-        verifyIncrementalIndexing(AvailableVirtualKeyboardFragment.class);
-
-        final Uri enabledInputMethodsContentUri = Settings.Secure.getUriFor(
-                Settings.Secure.ENABLED_INPUT_METHODS);
-        // Content observer should be registered.
-        final ContentObserver observer = extractContentObserver(enabledInputMethodsContentUri);
-        assertThat(observer).isNotNull();
-
-        /*
-         * When an input method service package is installed, incremental indexing happen.
-         */
-        reset(mIndexManager);
-
-        installInputMethodService(IME_PACKAGE_1);
-
-        verifyIncrementalIndexing(VirtualKeyboardFragment.class);
-        verifyIncrementalIndexing(AvailableVirtualKeyboardFragment.class);
-
-        /*
-         * When another input method service package is installed, incremental indexing happens.
-         */
-        reset(mIndexManager);
-
-        installInputMethodService(IME_PACKAGE_2);
-
-        verifyIncrementalIndexing(VirtualKeyboardFragment.class);
-        verifyIncrementalIndexing(AvailableVirtualKeyboardFragment.class);
-
-        /*
-         * When an input method service is disabled, rebuild indexing happens.
-         */
-        reset(mIndexManager);
-
-        disableInstalledPackage(IME_PACKAGE_1);
-
-        verifyIncrementalIndexing(VirtualKeyboardFragment.class);
-        verifyIncrementalIndexing(AvailableVirtualKeyboardFragment.class);
-
-        /*
-         * When an input method service is enabled, incremental indexing happens.
-         */
-        reset(mIndexManager);
-
-        enableInstalledPackage(IME_PACKAGE_1);
-
-        verifyIncrementalIndexing(VirtualKeyboardFragment.class);
-        verifyIncrementalIndexing(AvailableVirtualKeyboardFragment.class);
-
-        /*
-         * When an input method service package is uninstalled, rebuild indexing happens.
-         */
-        reset(mIndexManager);
-
-        uninstallInputMethodService(IME_PACKAGE_1);
-
-        verifyIncrementalIndexing(VirtualKeyboardFragment.class);
-        verifyIncrementalIndexing(AvailableVirtualKeyboardFragment.class);
-
-        /*
-         * When an accessibility service package is installed, nothing happens.
-         */
-        reset(mIndexManager);
-
-        installAccessibilityService(A11Y_PACKAGE_1);
-
-        verifyNoIndexing(VirtualKeyboardFragment.class);
-        verifyNoIndexing(AvailableVirtualKeyboardFragment.class);
-
-        /*
-         * When enabled IMEs list is changed, rebuild indexing happens.
-         */
-        reset(mIndexManager);
-
-        observer.onChange(false /* selfChange */, enabledInputMethodsContentUri);
-
-        verifyIncrementalIndexing(VirtualKeyboardFragment.class);
-        verifyIncrementalIndexing(AvailableVirtualKeyboardFragment.class);
-    }
-
-    @Test
-    public void testUserDictionaryChangeMonitor() throws Exception {
-        mMonitor.register(mActivity, LOADER_ID, mIndexManager, true /* isUserUnlocked */);
-
-        // Content observer should be registered.
-        final ContentObserver observer = extractContentObserver(UserDictionary.Words.CONTENT_URI);
-        assertThat(observer).isNotNull();
-
-        verifyIncrementalIndexing(LanguageAndInputSettings.class);
-
-        /*
-         * When user dictionary content is changed, rebuild indexing happens.
-         */
-        reset(mIndexManager);
-
-        observer.onChange(false /* selfChange */, UserDictionary.Words.CONTENT_URI);
-
-        verifyIncrementalIndexing(LanguageAndInputSettings.class);
-    }
-
-    /*
-     * Verification helpers.
-     */
-
-    private void verifyNoIndexing(Class<?> indexingClass) {
-        verify(mIndexManager, never()).updateFromClassNameResource(eq(indexingClass.getName()),
-                anyBoolean());
-    }
-
-    private void verifyIncrementalIndexing(Class<?> indexingClass) {
-        verify(mIndexManager, times(1)).updateFromClassNameResource(indexingClass.getName(),
-                true /* includeInSearchResults */);
-        verify(mIndexManager, never()).updateFromClassNameResource(indexingClass.getName(),
-                false /* includeInSearchResults */);
-    }
-
-    /*
-     * Testing helper methods.
-     */
-
-    private InputManager.InputDeviceListener extactInputDeviceListener() {
-        List<InputManager.InputDeviceListener> listeners = ((ShadowInputManager) ShadowExtractor
-                .extract(mInputManager))
-                .getRegisteredInputDeviceListeners();
-        InputManager.InputDeviceListener inputDeviceListener = null;
-        for (InputManager.InputDeviceListener listener : listeners) {
-            if (isUnderTest(listener)) {
-                if (inputDeviceListener != null) {
-                    assertThat(listener).isEqualTo(inputDeviceListener);
-                } else {
-                    inputDeviceListener = listener;
-                }
-            }
-        }
-        return inputDeviceListener;
-    }
-
-    private PackageMonitor extractPackageMonitor() {
-        List<ShadowApplication.Wrapper> receivers = ShadowApplication.getInstance()
-                .getRegisteredReceivers();
-        PackageMonitor packageMonitor = null;
-        for (ShadowApplication.Wrapper wrapper : receivers) {
-            BroadcastReceiver receiver = wrapper.getBroadcastReceiver();
-            if (isUnderTest(receiver) && receiver instanceof PackageMonitor) {
-                if (packageMonitor != null) {
-                    assertThat(receiver).isEqualTo(packageMonitor);
-                } else {
-                    packageMonitor = (PackageMonitor) receiver;
-                }
-            }
-        }
-        return packageMonitor;
-    }
-
-    private ContentObserver extractContentObserver(Uri uri) {
-        ShadowContentResolver contentResolver = (ShadowContentResolver) ShadowExtractor
-                .extract(mActivity.getContentResolver());
-        Collection<ContentObserver> observers = contentResolver.getContentObservers(uri);
-        ContentObserver contentObserver = null;
-        for (ContentObserver observer : observers) {
-            if (isUnderTest(observer)) {
-                if (contentObserver != null) {
-                    assertThat(observer).isEqualTo(contentObserver);
-                } else {
-                    contentObserver = observer;
-                }
-            }
-        }
-        return contentObserver;
-    }
-
-    private void enableInstalledPackage(String packageName) {
-        ((PackageManager) mRobolectricPackageManager).setApplicationEnabledSetting(
-                packageName, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0 /* flags */);
-        extractPackageMonitor().onPackageModified(packageName);
-        Robolectric.flushBackgroundThreadScheduler();
-    }
-
-    private void disableInstalledPackage(String packageName) {
-        ((PackageManager) mRobolectricPackageManager).setApplicationEnabledSetting(
-                packageName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0 /* flags */);
-        extractPackageMonitor().onPackageModified(packageName);
-        Robolectric.flushBackgroundThreadScheduler();
-    }
-
-    private void installAccessibilityService(String packageName) throws Exception {
-        final AccessibilityServiceInfo serviceToAdd = buildAccessibilityServiceInfo(packageName);
-
-        final List<AccessibilityServiceInfo> services = new ArrayList<>();
-        services.addAll(mShadowAccessibilityManager.getInstalledAccessibilityServiceList());
-        services.add(serviceToAdd);
-        mShadowAccessibilityManager.setInstalledAccessibilityServiceList(services);
-
-        final Intent intent = DynamicIndexableContentMonitor
-                .getAccessibilityServiceIntent(packageName);
-        mRobolectricPackageManager.addResolveInfoForIntent(intent, serviceToAdd.getResolveInfo());
-        mRobolectricPackageManager.addPackage(packageName);
-
-        extractPackageMonitor()
-                .onPackageAppeared(packageName, PackageMonitor.PACKAGE_PERMANENT_CHANGE);
-        Robolectric.flushBackgroundThreadScheduler();
-    }
-
-    private void uninstallAccessibilityService(String packageName) throws Exception {
-        final AccessibilityServiceInfo serviceToRemove = buildAccessibilityServiceInfo(packageName);
-
-        final List<AccessibilityServiceInfo> services = new ArrayList<>();
-        services.addAll(mShadowAccessibilityManager.getInstalledAccessibilityServiceList());
-        services.remove(serviceToRemove);
-        mShadowAccessibilityManager.setInstalledAccessibilityServiceList(services);
-
-        final Intent intent = DynamicIndexableContentMonitor
-                .getAccessibilityServiceIntent(packageName);
-        mRobolectricPackageManager.removeResolveInfosForIntent(intent, packageName);
-        mRobolectricPackageManager.removePackage(packageName);
-
-        extractPackageMonitor()
-                .onPackageDisappeared(packageName, PackageMonitor.PACKAGE_PERMANENT_CHANGE);
-        Robolectric.flushBackgroundThreadScheduler();
-    }
-
-    private void installInputMethodService(String packageName) throws Exception {
-        final ResolveInfo resolveInfoToAdd = buildResolveInfo(packageName, "imeService");
-        final InputMethodInfo serviceToAdd = buildInputMethodInfo(resolveInfoToAdd);
-
-        final List<InputMethodInfo> services = new ArrayList<>();
-        services.addAll(mShadowInputMethodManager.getInputMethodList());
-        services.add(serviceToAdd);
-        mShadowInputMethodManager.setInputMethodList(services);
-
-        final Intent intent = DynamicIndexableContentMonitor.getIMEServiceIntent(packageName);
-        mRobolectricPackageManager.addResolveInfoForIntent(intent, resolveInfoToAdd);
-        mRobolectricPackageManager.addPackage(packageName);
-
-        extractPackageMonitor()
-                .onPackageAppeared(packageName, PackageMonitor.PACKAGE_PERMANENT_CHANGE);
-        Robolectric.flushBackgroundThreadScheduler();
-    }
-
-    private void uninstallInputMethodService(String packageName) throws Exception {
-        final ResolveInfo resolveInfoToRemove = buildResolveInfo(packageName, "imeService");
-        final InputMethodInfo serviceToRemove = buildInputMethodInfo(resolveInfoToRemove);
-
-        final List<InputMethodInfo> services = new ArrayList<>();
-        services.addAll(mShadowInputMethodManager.getInputMethodList());
-        services.remove(serviceToRemove);
-        mShadowInputMethodManager.setInputMethodList(services);
-
-        final Intent intent = DynamicIndexableContentMonitor.getIMEServiceIntent(packageName);
-        mRobolectricPackageManager.removeResolveInfosForIntent(intent, packageName);
-        mRobolectricPackageManager.removePackage(packageName);
-
-        extractPackageMonitor()
-                .onPackageDisappeared(packageName, PackageMonitor.PACKAGE_PERMANENT_CHANGE);
-        Robolectric.flushBackgroundThreadScheduler();
-    }
-
-    private AccessibilityServiceInfo buildAccessibilityServiceInfo(String packageName)
-            throws IOException, XmlPullParserException {
-        return new AccessibilityServiceInfo(
-                buildResolveInfo(packageName, "A11yService"), mActivity);
-    }
-
-    private static InputMethodInfo buildInputMethodInfo(ResolveInfo resolveInfo) {
-        return new InputMethodInfo(resolveInfo, false /* isAuxIme */, "SettingsActivity",
-                null /* subtypes */,  0 /* defaultResId */, false /* forceDefault */);
-    }
-
-    private static ResolveInfo buildResolveInfo(String packageName, String className) {
-        final ResolveInfo resolveInfo = new ResolveInfo();
-        resolveInfo.serviceInfo = new ServiceInfo();
-        resolveInfo.serviceInfo.packageName = packageName;
-        resolveInfo.serviceInfo.name = className;
-        // To workaround that RobolectricPackageManager.removeResolveInfosForIntent() only works
-        // for activity/broadcast resolver.
-        resolveInfo.activityInfo = new ActivityInfo();
-        resolveInfo.activityInfo.packageName = packageName;
-        resolveInfo.activityInfo.name = className;
-
-        return resolveInfo;
-    }
-
-    private static boolean isUnderTest(Object object) {
-        return object.getClass().getName().startsWith(
-                DynamicIndexableContentMonitor.class.getName());
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/search/InputDeviceResultLoaderTest.java b/tests/robotests/src/com/android/settings/search/InputDeviceResultLoaderTest.java
new file mode 100644
index 0000000..a955af1
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/search/InputDeviceResultLoaderTest.java
@@ -0,0 +1,173 @@
+/*
+ * 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.search;
+
+import static android.content.Context.INPUT_METHOD_SERVICE;
+import static com.android.settings.search.InputDeviceResultLoader.PHYSICAL_KEYBOARD_FRAGMENT;
+import static com.android.settings.search.InputDeviceResultLoader.VIRTUAL_KEYBOARD_FRAGMENT;
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.content.pm.ServiceInfo;
+import android.hardware.input.InputManager;
+import android.view.InputDevice;
+import android.view.inputmethod.InputMethodInfo;
+import android.view.inputmethod.InputMethodManager;
+
+import com.android.settings.R;
+import com.android.settings.TestConfig;
+import com.android.settings.dashboard.SiteMapManager;
+import com.android.settings.testutils.SettingsRobolectricTestRunner;
+import com.android.settings.testutils.shadow.ShadowInputDevice;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Answers;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH,
+        sdk = TestConfig.SDK_VERSION,
+        shadows = {
+                ShadowInputDevice.class
+        })
+public class InputDeviceResultLoaderTest {
+
+    private static final String QUERY = "test_query";
+    private static final List<String> PHYSICAL_KEYBOARD_BREADCRUMB;
+    private static final List<String> VIRTUAL_KEYBOARD_BREADCRUMB;
+
+    static {
+        PHYSICAL_KEYBOARD_BREADCRUMB = new ArrayList<>();
+        VIRTUAL_KEYBOARD_BREADCRUMB = new ArrayList<>();
+        PHYSICAL_KEYBOARD_BREADCRUMB.add("Settings");
+        PHYSICAL_KEYBOARD_BREADCRUMB.add("physical keyboard");
+        VIRTUAL_KEYBOARD_BREADCRUMB.add("Settings");
+        VIRTUAL_KEYBOARD_BREADCRUMB.add("virtual keyboard");
+    }
+
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private Context mContext;
+    @Mock
+    private SiteMapManager mSiteMapManager;
+    @Mock
+    private InputManager mInputManager;
+    @Mock
+    private InputMethodManager mImm;
+    @Mock
+    private PackageManager mPackageManager;
+
+    private InputDeviceResultLoader mLoader;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        when(mContext.getApplicationContext()).thenReturn(mContext);
+        when(mContext.getSystemService(Context.INPUT_SERVICE))
+                .thenReturn(mInputManager);
+        when(mContext.getSystemService(INPUT_METHOD_SERVICE))
+                .thenReturn(mImm);
+        when(mContext.getPackageManager())
+                .thenReturn(mPackageManager);
+        when(mContext.getString(anyInt()))
+                .thenAnswer(invocation -> RuntimeEnvironment.application.getString(
+                        (Integer) invocation.getArguments()[0]));
+        mLoader = new InputDeviceResultLoader(mContext, QUERY, mSiteMapManager);
+    }
+
+    @After
+    public void tearDown() {
+        ShadowInputDevice.reset();
+    }
+
+    @Test
+    public void query_noKeyboard_shouldNotReturnAnything() {
+        assertThat(mLoader.loadInBackground()).isEmpty();
+    }
+
+    @Test
+    public void query_hasPhysicalKeyboard_match() {
+        addPhysicalKeyboard(QUERY);
+        when(mSiteMapManager.buildBreadCrumb(mContext, PHYSICAL_KEYBOARD_FRAGMENT,
+                RuntimeEnvironment.application.getString(R.string.physical_keyboard_title)))
+                .thenReturn(PHYSICAL_KEYBOARD_BREADCRUMB);
+
+        final List<SearchResult> results = new ArrayList<>(mLoader.loadInBackground());
+
+        assertThat(results).hasSize(1);
+        assertThat(results.get(0).title).isEqualTo(QUERY);
+        assertThat(results.get(0).breadcrumbs)
+                .containsExactlyElementsIn(PHYSICAL_KEYBOARD_BREADCRUMB);
+    }
+
+    @Test
+    public void query_hasVirtualKeyboard_match() {
+        addVirtualKeyboard(QUERY);
+        when(mSiteMapManager.buildBreadCrumb(mContext, VIRTUAL_KEYBOARD_FRAGMENT,
+                RuntimeEnvironment.application.getString(R.string.add_virtual_keyboard)))
+                .thenReturn(VIRTUAL_KEYBOARD_BREADCRUMB);
+
+        final List<SearchResult> results = new ArrayList<>(mLoader.loadInBackground());
+        assertThat(results).hasSize(1);
+        assertThat(results.get(0).title).isEqualTo(QUERY);
+        assertThat(results.get(0).breadcrumbs)
+                .containsExactlyElementsIn(VIRTUAL_KEYBOARD_BREADCRUMB);
+    }
+
+    @Test
+    public void query_hasPhysicalVirtualKeyboard_doNotMatch() {
+        addPhysicalKeyboard("abc");
+        addVirtualKeyboard("def");
+
+        assertThat(mLoader.loadInBackground()).isEmpty();
+        verifyZeroInteractions(mSiteMapManager);
+    }
+
+    private void addPhysicalKeyboard(String name) {
+        final InputDevice device = mock(InputDevice.class);
+        when(device.isVirtual()).thenReturn(false);
+        when(device.isFullKeyboard()).thenReturn(true);
+        when(device.getName()).thenReturn(name);
+        ShadowInputDevice.sDeviceIds = new int[]{0};
+        ShadowInputDevice.addDevice(0, device);
+    }
+
+    private void addVirtualKeyboard(String name) {
+        final List<InputMethodInfo> imis = new ArrayList<>();
+        final InputMethodInfo info = mock(InputMethodInfo.class);
+        imis.add(info);
+        when(info.getServiceInfo()).thenReturn(new ServiceInfo());
+        when(info.loadLabel(mPackageManager)).thenReturn(name);
+        info.getServiceInfo().packageName = "pkg";
+        info.getServiceInfo().name = "class";
+        when(mImm.getInputMethodList()).thenReturn(imis);
+    }
+
+}
diff --git a/tests/robotests/src/com/android/settings/search/MockAccessiblityLoader.java b/tests/robotests/src/com/android/settings/search/MockAccessibilityLoader.java
similarity index 88%
rename from tests/robotests/src/com/android/settings/search/MockAccessiblityLoader.java
rename to tests/robotests/src/com/android/settings/search/MockAccessibilityLoader.java
index aa9b778..0a06a35 100644
--- a/tests/robotests/src/com/android/settings/search/MockAccessiblityLoader.java
+++ b/tests/robotests/src/com/android/settings/search/MockAccessibilityLoader.java
@@ -21,9 +21,9 @@
 import java.util.HashSet;
 import java.util.Set;
 
-public class MockAccessiblityLoader extends AccessibilityServiceResultLoader {
+public class MockAccessibilityLoader extends AccessibilityServiceResultLoader {
 
-    public MockAccessiblityLoader(Context context) {
+    public MockAccessibilityLoader(Context context) {
         super(context, "test_query", null);
     }
 
diff --git a/tests/robotests/src/com/android/settings/search/MockAccessiblityLoader.java b/tests/robotests/src/com/android/settings/search/MockInputDeviceResultLoader.java
similarity index 88%
copy from tests/robotests/src/com/android/settings/search/MockAccessiblityLoader.java
copy to tests/robotests/src/com/android/settings/search/MockInputDeviceResultLoader.java
index aa9b778..2c16b14 100644
--- a/tests/robotests/src/com/android/settings/search/MockAccessiblityLoader.java
+++ b/tests/robotests/src/com/android/settings/search/MockInputDeviceResultLoader.java
@@ -21,9 +21,8 @@
 import java.util.HashSet;
 import java.util.Set;
 
-public class MockAccessiblityLoader extends AccessibilityServiceResultLoader {
-
-    public MockAccessiblityLoader(Context context) {
+public class MockInputDeviceResultLoader extends InputDeviceResultLoader {
+    public MockInputDeviceResultLoader(Context context) {
         super(context, "test_query", null);
     }
 
diff --git a/tests/robotests/src/com/android/settings/search/SearchFragmentTest.java b/tests/robotests/src/com/android/settings/search/SearchFragmentTest.java
index 6588805..71c31aa 100644
--- a/tests/robotests/src/com/android/settings/search/SearchFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/search/SearchFragmentTest.java
@@ -17,6 +17,20 @@
 
 package com.android.settings.search;
 
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.ArgumentMatchers.nullable;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Matchers.argThat;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
 import android.app.LoaderManager;
 import android.content.Context;
 import android.content.Intent;
@@ -28,10 +42,10 @@
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
-import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.TestConfig;
 import com.android.settings.testutils.DatabaseTestUtils;
 import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
 
 import org.junit.After;
@@ -52,20 +66,6 @@
 
 import java.util.Set;
 
-import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.ArgumentMatchers.nullable;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyInt;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Matchers.argThat;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(manifest = TestConfig.MANIFEST_PATH,
         sdk = TestConfig.SDK_VERSION,
@@ -83,6 +83,8 @@
     private InstalledAppResultLoader mInstalledAppResultLoader;
     @Mock
     private AccessibilityServiceResultLoader mAccessibilityServiceResultLoader;
+    @Mock
+    private InputDeviceResultLoader mInputDeviceResultLoader;
 
     @Mock
     private SavedQueryLoader mSavedQueryLoader;
@@ -118,6 +120,9 @@
         when(mFeatureFactory.searchFeatureProvider
                 .getAccessibilityServiceResultLoader(any(Context.class), anyString()))
                 .thenReturn(mAccessibilityServiceResultLoader);
+        when(mFeatureFactory.searchFeatureProvider
+                .getInputDeviceResultLoader(any(Context.class), anyString()))
+                .thenReturn(mInputDeviceResultLoader);
         when(mFeatureFactory.searchFeatureProvider.getSavedQueryLoader(any(Context.class)))
                 .thenReturn(mSavedQueryLoader);
 
@@ -178,6 +183,9 @@
         when(mFeatureFactory.searchFeatureProvider
                 .getAccessibilityServiceResultLoader(any(Context.class), anyString()))
                 .thenReturn(mAccessibilityServiceResultLoader);
+        when(mFeatureFactory.searchFeatureProvider
+                .getInputDeviceResultLoader(any(Context.class), anyString()))
+                .thenReturn(mInputDeviceResultLoader);
         when(mFeatureFactory.searchFeatureProvider.getSavedQueryLoader(any(Context.class)))
                 .thenReturn(mSavedQueryLoader);
 
@@ -236,6 +244,9 @@
         when(mFeatureFactory.searchFeatureProvider
                 .getAccessibilityServiceResultLoader(any(Context.class), anyString()))
                 .thenReturn(mAccessibilityServiceResultLoader);
+        when(mFeatureFactory.searchFeatureProvider
+                .getInputDeviceResultLoader(any(Context.class), anyString()))
+                .thenReturn(mInputDeviceResultLoader);
         when(mFeatureFactory.searchFeatureProvider.getSavedQueryLoader(any(Context.class)))
                 .thenReturn(mSavedQueryLoader);
         ActivityController<SearchActivity> activityController =
@@ -270,6 +281,9 @@
         when(mFeatureFactory.searchFeatureProvider
                 .getAccessibilityServiceResultLoader(any(Context.class), anyString()))
                 .thenReturn(mAccessibilityServiceResultLoader);
+        when(mFeatureFactory.searchFeatureProvider
+                .getInputDeviceResultLoader(any(Context.class), anyString()))
+                .thenReturn(mInputDeviceResultLoader);
         when(mFeatureFactory.searchFeatureProvider.getSavedQueryLoader(any(Context.class)))
                 .thenReturn(mSavedQueryLoader);
 
@@ -349,7 +363,10 @@
                 .thenReturn(new MockAppLoader(RuntimeEnvironment.application));
         when(mFeatureFactory.searchFeatureProvider
                 .getAccessibilityServiceResultLoader(any(Context.class), anyString()))
-                .thenReturn(new MockAccessiblityLoader(RuntimeEnvironment.application));
+                .thenReturn(new MockAccessibilityLoader(RuntimeEnvironment.application));
+        when(mFeatureFactory.searchFeatureProvider
+                .getInputDeviceResultLoader(any(Context.class), anyString()))
+                .thenReturn(new MockInputDeviceResultLoader(RuntimeEnvironment.application));
         when(mFeatureFactory.searchFeatureProvider.getSavedQueryLoader(any(Context.class)))
                 .thenReturn(mSavedQueryLoader);
         ActivityController<SearchActivity> activityController =
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDataSaverBackend.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDataSaverBackend.java
new file mode 100644
index 0000000..34908ca
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDataSaverBackend.java
@@ -0,0 +1,21 @@
+package com.android.settings.testutils.shadow;
+
+import com.android.settings.datausage.DataSaverBackend;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+
+@Implements(DataSaverBackend.class)
+public class ShadowDataSaverBackend {
+
+    private static boolean isEnabled = true;
+
+    @Implementation
+    public boolean isDataSaverEnabled() {
+        return isEnabled;
+    }
+
+    @Implementation
+    public void setDataSaverEnabled(boolean enabled) {
+        isEnabled = enabled;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDynamicIndexableContentMonitor.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDynamicIndexableContentMonitor.java
deleted file mode 100644
index de5d243..0000000
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDynamicIndexableContentMonitor.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.android.settings.testutils.shadow;
-
-import android.app.Activity;
-import android.os.UserManager;
-import com.android.settings.search.DynamicIndexableContentMonitor;
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
-import org.robolectric.annotation.RealObject;
-
-/**
- * A shadow class of {@link DynamicIndexableContentMonitor}. The real implementation of
- * {@link DynamicIndexableContentMonitor#register} calls {@link UserManager#isUserUnlocked()}, which
- * Robolectric has not yet been updated to support, so throws a NoSuchMethodError exception.
- */
-// TODO: Delete this once Robolectric is updated to the latest SDK.
-@Implements(DynamicIndexableContentMonitor.class)
-public class ShadowDynamicIndexableContentMonitor {
-
-    @Implementation
-    public void register(Activity activity, int loaderId) {
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowMobileNetworkPreferenceController.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowMobileNetworkPreferenceController.java
new file mode 100644
index 0000000..8d76063
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowMobileNetworkPreferenceController.java
@@ -0,0 +1,28 @@
+package com.android.settings.testutils.shadow;
+
+import android.content.Context;
+import com.android.settings.network.MobileNetworkPreferenceController;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+
+@Implements(MobileNetworkPreferenceController.class)
+public class ShadowMobileNetworkPreferenceController {
+    private static boolean mIsRestricted = false;
+
+    public void __constructor__(Context context) {
+    }
+
+    @Implementation
+    public boolean isAvailable() {
+        return mIsRestricted ? false : true;
+    }
+
+    @Implementation
+    public boolean isUserRestricted() {
+        return mIsRestricted;
+    }
+
+    public static void setRestricted(boolean restricted) {
+        mIsRestricted = restricted;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRestrictedLockUtilsWrapper.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRestrictedLockUtilsWrapper.java
new file mode 100644
index 0000000..0e0adce
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRestrictedLockUtilsWrapper.java
@@ -0,0 +1,25 @@
+package com.android.settings.testutils.shadow;
+
+import android.content.Context;
+import com.android.settings.network.RestrictedLockUtilsWrapper;
+import org.robolectric.annotation.Implements;
+
+/**
+ * Shadow for the wrapper around RestrictedLockUtils. Should be removed/updated once robolectric is
+ * updated to allow usage of new UserManager API's. see
+ * {@link com.android.settingslib.RestrictedLockUtils} and
+ * {@link com.android.settings.network.RestrictedLockUtilsWrapper}
+ */
+@Implements(RestrictedLockUtilsWrapper.class)
+public class ShadowRestrictedLockUtilsWrapper {
+
+    private boolean isRestricted;
+
+    public boolean hasBaseUserRestriction(Context context, String userRestriction, int userId) {
+        return isRestricted;
+    }
+
+    public void setRestricted(boolean restricted) {
+        isRestricted = restricted;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSecureSettings.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSecureSettings.java
index 1ae5398..0f61a5d 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSecureSettings.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSecureSettings.java
@@ -89,6 +89,32 @@
         }
     }
 
+    @Implementation
+    public static boolean putFloatForUser(
+            ContentResolver resolver, String name, float value, int userHandle) {
+        final Table<Integer, String, Object> userTable = getUserTable(resolver);
+        synchronized (userTable) {
+            userTable.put(userHandle, name, value);
+            return true;
+        }
+    }
+
+    @Implementation
+    public static float getFloatForUser(
+            ContentResolver resolver, String name, float def, int userHandle) {
+        final Table<Integer, String, Object> userTable = getUserTable(resolver);
+        synchronized (userTable) {
+            final Object object = userTable.get(userHandle, name);
+            return object instanceof Float ? (Float) object : def;
+        }
+    }
+
+    public static void clear() {
+        synchronized (sUserDataMap) {
+            sUserDataMap.clear();
+        }
+    }
+
     private static Table<Integer, String, Object> getUserTable(ContentResolver contentResolver) {
         synchronized (sUserDataMap) {
             Table<Integer, String, Object> table = sUserDataMap.get(contentResolver);
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java
index 82f53a2..f85a874 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java
@@ -31,6 +31,7 @@
     private static IFingerprintManager sFingerprintManager = null;
     private static boolean sIsUserAMonkey;
     private static boolean sIsDemoUser;
+    private static ComponentName sDeviceOwnerComponentName;
 
     @Implementation
     public static int enforceSameOwner(Context context, int userId) {
@@ -61,22 +62,29 @@
         sIsDemoUser = isDemoUser;
     }
 
-    public static void setIsUserAMonkey(boolean isUserAMonkey) {
-        sIsUserAMonkey = isUserAMonkey;
-    }
-
-
     @Implementation
     public static boolean isDemoUser(Context context) {
         return sIsDemoUser;
     }
 
+    public static void setIsUserAMonkey(boolean isUserAMonkey) {
+        sIsUserAMonkey = isUserAMonkey;
+    }
+
     /**
      * Returns true if Monkey is running.
      */
     @Implementation
     public static boolean isMonkeyRunning() {
         return sIsUserAMonkey;
+    }
 
+    public static void setDeviceOwnerComponent(ComponentName componentName) {
+        sDeviceOwnerComponentName = componentName;
+    }
+
+    @Implementation
+    public static ComponentName getDeviceOwnerComponent(Context context) {
+        return sDeviceOwnerComponentName;
     }
 }
