diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index ed00054..da88f76 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -902,13 +902,23 @@
                 android:icon="@drawable/ic_settings_night_display"
                 android:taskAffinity="">
             <intent-filter android:priority="1">
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="com.android.settings.suggested.category.SETTINGS_ONLY" />
+            </intent-filter>
+            <intent-filter android:priority="1">
                 <action android:name="android.settings.NIGHT_DISPLAY_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
-            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.display.NightDisplaySettings" />
             <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
                 android:value="true" />
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                android:value="com.android.settings.display.NightDisplaySettings" />
+            <meta-data android:name="com.android.settings.dismiss"
+                android:value="30" />
+            <meta-data android:name="com.android.settings.title"
+                android:resource="@string/night_display_suggestion_title" />
+            <meta-data android:name="com.android.settings.summary"
+                android:resource="@string/night_display_suggestion_summary" />
         </activity>
 
         <activity android:name="Settings$DeviceInfoSettingsActivity"
@@ -2548,6 +2558,7 @@
             <intent-filter android:priority="1">
                 <action android:name="com.android.settings.SOUND_SETTINGS" />
                 <action android:name="android.settings.SOUND_SETTINGS" />
+                <action android:name="android.settings.ACTION_OTHER_SOUND_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
             <intent-filter>
@@ -2556,10 +2567,6 @@
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
                 <category android:name="com.android.settings.SHORTCUT" />
             </intent-filter>
-            <intent-filter android:priority="1">
-                <action android:name="android.settings.ACTION_OTHER_SOUND_SETTINGS" />
-                <category android:name="android.intent.category.DEFAULT" />
-            </intent-filter>
             <intent-filter android:priority="6">
                 <action android:name="com.android.settings.action.SETTINGS" />
             </intent-filter>
diff --git a/res/drawable/ic_friction_lock_closed.xml b/res/drawable/ic_friction_lock_closed.xml
index 7a05ac6..194c9af 100644
--- a/res/drawable/ic_friction_lock_closed.xml
+++ b/res/drawable/ic_friction_lock_closed.xml
@@ -21,6 +21,6 @@
         android:height="18dp">
     <path
         android:pathData="M36 16l-2 0 0 -4C34 6.48 29.52 2 24 2 18.48 2 14 6.48 14 12l0 4 -2 0c-2.21 0 -4 1.79 -4 4l0 20c0 2.21 1.79 4 4 4l24 0c2.21 0 4 -1.79 4 -4l0 -20c0 -2.21 -1.79 -4 -4 -4zM24 34c-2.21 0 -4 -1.79 -4 -4 0 -2.21 1.79 -4 4 -4 2.21 0 4 1.79 4 4 0 2.21 -1.79 4 -4 4zm6.2 -18l-12.4 0 0 -4c0 -3.42 2.78 -6.2 6.2 -6.2 3.42 0 6.2 2.78 6.2 6.2l0 4z"
-        android:fillColor="#000000"
+        android:fillColor="?android:attr/colorForeground"
         android:fillAlpha="0.54" />
 </vector>
diff --git a/res/drawable/ic_friction_lock_open.xml b/res/drawable/ic_friction_lock_open.xml
deleted file mode 100644
index 957e537..0000000
--- a/res/drawable/ic_friction_lock_open.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-    Copyright (C) 2017 The Android Open Source Project
-
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-        http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:viewportWidth="48"
-        android:viewportHeight="48"
-        android:width="18dp"
-        android:height="18dp">
-    <path
-        android:pathData="M24 34c2.21 0 4 -1.79 4 -4 0 -2.21 -1.79 -4 -4 -4 -2.21 0 -4 1.79 -4 4 0 2.21 1.79 4 4 4zm12 -18l-2 0 0 -4C34 6.48 29.52 2 24 2 18.48 2 14 6.48 14 12l3.8 0c0 -3.42 2.78 -6.2 6.2 -6.2 3.42 0 6.2 2.78 6.2 6.2l0 4 -18.2 0c-2.21 0 -4 1.79 -4 4l0 20c0 2.21 1.79 4 4 4l24 0c2.21 0 4 -1.79 4 -4l0 -20c0 -2.21 -1.79 -4 -4 -4zm0 24l-24 0 0 -20 24 0 0 20z"
-        android:fillColor="#000000"
-        android:fillAlpha="0.54" />
-</vector>
diff --git a/res/drawable/ic_friction_money.xml b/res/drawable/ic_friction_money.xml
new file mode 100644
index 0000000..1018533
--- /dev/null
+++ b/res/drawable/ic_friction_money.xml
@@ -0,0 +1,31 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:viewportWidth="18"
+        android:viewportHeight="18"
+        android:width="18dp"
+        android:height="18dp">
+
+    <path android:fillColor="?android:attr/colorForeground"
+          android:fillAlpha="0.54"
+          android:pathData="M9.56 8.1c-1.6-.51-2.66-.71-2.66-1.88 0-.83 .72 -1.62 2.1-1.62 1.59 0 2.1 .88
+          2.1 1.94H13c0-1.79-1.17-3.09-3-3.44V1H8v2.11c-1.58 .32 -3 1.37-3 3.12 0 2.25
+          1.78 2.8 4 3.52 1.88 .61 2.25 1.04 2.25 2.09 0 .9-.67 1.56-2.25 1.56-1.2
+          0-2.25-.84-2.25-2.06h-2c0 1.88 1.38 3.2 3.25 3.56V17h2v-2.07c2.04-.29 3.2-1.49
+          3.2-3.1 0-1.87-.94-2.87-3.64-3.73z" />
+    <path android:pathData="M0 0h18v18H0z" />
+</vector>
diff --git a/res/drawable/ic_instant_apps_badge.xml b/res/drawable/ic_instant_apps_badge.xml
new file mode 100644
index 0000000..115aa83
--- /dev/null
+++ b/res/drawable/ic_instant_apps_badge.xml
@@ -0,0 +1,33 @@
+<?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
+  -->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="48"
+        android:viewportHeight="48">
+    <path
+        android:fillColor="#FFFFFF"
+        android:fillType="evenOdd"
+        android:pathData="M 24.5 2.7 C 35.5456949966 2.7 44.5 11.6543050034 44.5 22.7 C 44.5 33.7456949966 35.5456949966 42.7 24.5 42.7 C 13.4543050034 42.7 4.5 33.7456949966 4.5 22.7 C 4.5 11.6543050034 13.4543050034 2.7 24.5 2.7 Z" />
+    <path
+        android:fillColor="#757575"
+        android:fillType="evenOdd"
+        android:pathData="M 33.3 19.1 L 26.4 19.1 L 26.4 5.8 L 16.6 26.4 L 23.5 26.3 L 23.5 39.6 Z" />
+    <path
+        android:fillType="evenOdd"
+        android:pathData="M 0.5 0 H 48.5 V 48 H 0.5 V 0 Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_instant_apps_badge_bg.xml b/res/drawable/ic_instant_apps_badge_bg.xml
new file mode 100644
index 0000000..bf8d3ea
--- /dev/null
+++ b/res/drawable/ic_instant_apps_badge_bg.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
+  -->
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="oval">
+    <gradient android:type="radial"
+        android:startColor="#4d000000"
+        android:endColor="#00000000"
+        android:gradientRadius="12dp"/>
+</shape>
\ No newline at end of file
diff --git a/res/drawable/wifi_friction.xml b/res/drawable/wifi_friction.xml
index 98993c5..fa8268d 100644
--- a/res/drawable/wifi_friction.xml
+++ b/res/drawable/wifi_friction.xml
@@ -19,4 +19,7 @@
     <item
         settings:state_encrypted="true"
         android:drawable="@drawable/ic_friction_lock_closed"/>
+    <item
+        settings:state_metered="true"
+        android:drawable="@drawable/ic_friction_money"/>
 </selector>
diff --git a/res/layout/app_details.xml b/res/layout/app_details.xml
index 00d4cca..4aa1496 100644
--- a/res/layout/app_details.xml
+++ b/res/layout/app_details.xml
@@ -34,13 +34,26 @@
         android:layout_height="wrap_content"
         android:paddingStart="8dp">
 
-        <ImageView
-            android:id="@+id/app_detail_icon"
-            android:layout_width="80dp"
-            android:layout_height="80dp"
-            android:scaleType="fitXY"
-            android:layout_gravity="center_horizontal"
-            android:antialias="true"/>
+        <FrameLayout android:id="@+id/app_icon_frame"
+                     android:layout_width="80dp"
+                     android:layout_height="80dp">
+            <ImageView
+                android:id="@+id/app_detail_icon"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:scaleType="fitXY"
+                android:layout_gravity="center_horizontal"
+                android:antialias="true"/>
+            <ImageView android:id="@+id/app_icon_instant_apps_badge"
+                android:layout_width="22dp"
+                android:layout_height="22dp"
+                android:layout_gravity="end|bottom"
+                android:layout_margin="8dp"
+                android:visibility="gone"
+                android:elevation="20dp"
+                android:background="@drawable/ic_instant_apps_badge_bg"
+                android:src="@drawable/ic_instant_apps_badge" />
+        </FrameLayout>
 
         <LinearLayout
             android:id="@+id/app_detail_links"
@@ -71,7 +84,7 @@
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_toEndOf="@id/app_detail_icon"
+            android:layout_toEndOf="@id/app_icon_frame"
             android:layout_toStartOf="@id/app_detail_links"
             android:paddingStart="24dp"
             android:paddingEnd="24dp"
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 2e3ad66..4b284df 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Skermverbruik"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Skandering van mobiele netwerk"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 0b01eec..066b016 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"የማያ ገጽ ፍጆታ"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"የተንቀሳቃሽ ስልክ አውታረ መረብ ቅኝት"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index fa8e1be..a8e795f 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -2041,7 +2041,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"استهلاك الشاشة"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"البحث عن شبكات الجوال"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
@@ -3033,8 +3035,8 @@
     </plurals>
     <string name="no_notification_listeners" msgid="3487091564454192821">"لم تطلب أي تطبيقات مثبّتة حق الوصول إلى الإشعارات."</string>
     <string name="notification_listener_security_warning_title" msgid="5522924135145843279">"هل تسمح بوصول خدمة <xliff:g id="SERVICE">%1$s</xliff:g> إلى الإشعارات؟"</string>
-    <string name="notification_listener_security_warning_summary" msgid="119203147791040151">"سيكون بإمكان <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> قراءة جميع الإشعارات، بما في ذلك المعلومات الشخصية مثل أسماء جهات الاتصال ونصوص الرسائل التي تتلقاها. سيتمكن كذلك من تجاهل الإشعارات أو تشغيل أزرار الإجراءات التي تحتوي عليها. \n\nوسيمنح هذا التطبيق كذلك إمكانية تشغيل خيار \"الرجاء عدم الإزعاج\" أو تعطيله وتغيير الإعدادات ذات الصلة."</string>
-    <string name="notification_listener_disable_warning_summary" msgid="6738915379642948000">"عند إيقاف الوصول إلى الإشعار لـ <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>، قد يتم إيقاف الوصول إلى \"الرجاء عدم الإزعاج\" أيضًا."</string>
+    <string name="notification_listener_security_warning_summary" msgid="119203147791040151">"سيكون بإمكان <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> قراءة جميع الإشعارات، بما في ذلك المعلومات الشخصية مثل أسماء جهات الاتصال ونصوص الرسائل التي تتلقاها. سيتمكن كذلك من تجاهل الإشعارات أو تشغيل أزرار الإجراءات التي تحتوي عليها. \n\nوسيمنح هذا التطبيق كذلك إمكانية تشغيل خيار \"عدم الإزعاج\" أو تعطيله وتغيير الإعدادات ذات الصلة."</string>
+    <string name="notification_listener_disable_warning_summary" msgid="6738915379642948000">"عند إيقاف الوصول إلى الإشعار لـ <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g>، قد يتم إيقاف الوصول إلى \"عدم الإزعاج\" أيضًا."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="8333442186428083057">"إيقاف"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8586417377104211584">"إلغاء"</string>
     <string name="vr_listeners_title" msgid="1318901577754715777">"خدمات مساعد الواقع الافتراضي"</string>
@@ -3052,8 +3054,8 @@
     <string name="picture_in_picture_app_detail_summary" msgid="7942592478427522244">"يمكنك السماح لهذا التطبيق بإنشاء نافذة صورة داخل صورة أثناء فتح التطبيق أو بعد مغادرته (على سبيل المثال، لمتابعة مشاهدة فيديو)، علمًا بأن هذه النافذة تظهر أمام التطبيقات الأخرى التي تستخدمها."</string>
     <string name="picture_in_picture_on" msgid="6103704909710176555">"نعم"</string>
     <string name="picture_in_picture_off" msgid="5654388666434625247">"لا"</string>
-    <string name="manage_zen_access_title" msgid="2611116122628520522">"الوصول إلى إعداد \"الرجاء عدم الإزعاج\""</string>
-    <string name="zen_access_empty_text" msgid="8772967285742259540">"لم تطلّب أي تطبيقات مثبّتة حق الوصول إلى إعداد \"الرجاء عدم الإزعاج\""</string>
+    <string name="manage_zen_access_title" msgid="2611116122628520522">"الوصول إلى إعداد \"عدم الإزعاج\""</string>
+    <string name="zen_access_empty_text" msgid="8772967285742259540">"لم تطلّب أي تطبيقات مثبّتة حق الوصول إلى إعداد \"عدم الإزعاج\""</string>
     <string name="loading_notification_apps" msgid="5031818677010335895">"جارٍ تحميل التطبيقات..."</string>
     <string name="notification_channels" msgid="5346841743182627500">"الفئات"</string>
     <string name="notification_channels_other" msgid="5645317113885788226">"غير ذلك"</string>
@@ -3076,8 +3078,8 @@
     <!-- no translation found for notification_badge_title (7166470350070693657) -->
     <skip />
     <string name="notification_badge_summary" msgid="3944771498030335669">"‏عرض الإشعارات على هيئة شارات على تطبيق Home، إن توفّرت إمكانية ذلك."</string>
-    <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"إلغاء وضع \"الرجاء عدم الإزعاج\""</string>
-    <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"السماح لهذه الإشعارات بمتابعة المقاطعة عند تعيين وضع \"الرجاء عدم الإزعاج\" على \"ذات الأولوية فقط\""</string>
+    <string name="app_notification_override_dnd_title" msgid="7867458246395884830">"إلغاء وضع \"عدم الإزعاج\""</string>
+    <string name="app_notification_override_dnd_summary" msgid="3516007157020189746">"السماح لهذه الإشعارات بمتابعة المقاطعة عند تعيين وضع \"عدم الإزعاج\" على \"ذات الأولوية فقط\""</string>
     <string name="app_notification_visibility_override_title" msgid="2187232730902430718">"على شاشة التأمين"</string>
     <string name="app_notification_row_banned" msgid="5983655258784814773">"محظور"</string>
     <string name="app_notification_row_priority" msgid="7723839972982746568">"الأولوية"</string>
@@ -3172,10 +3174,10 @@
     <string name="zen_mode_summary_alarms_only_by_time" msgid="7465525754879341907">"التغيير إلى التنبيهات فقط حتى <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="6172985102689237703">"تغيير إلى المقاطعة دائمًا"</string>
     <string name="zen_mode_screen_on" msgid="7712038508173845101">"حظر عندما تكون الشاشة في وضع الإيقاف"</string>
-    <string name="zen_mode_screen_on_summary" msgid="6444425984146305149">"منع الإشعارات التي يتم تجاهلها باستخدام إعداد \"الرجاء عدم الإزعاج\" من الظهور بشكل سريع أو الظهور بالكامل على الشاشة"</string>
+    <string name="zen_mode_screen_on_summary" msgid="6444425984146305149">"منع الإشعارات التي يتم تجاهلها باستخدام إعداد \"عدم الإزعاج\" من الظهور بشكل سريع أو الظهور بالكامل على الشاشة"</string>
     <string name="zen_mode_screen_off" msgid="5026854939192419879">"حظر عندما تكون الشاشة في وضع الإيقاف"</string>
-    <string name="zen_mode_screen_off_summary" msgid="6490932947651798094">"منع الإشعارات التي يتم تجاهلها باستخدام إعداد \"الرجاء عدم الإزعاج\" من تشغيل الشاشة أو إحداث وميض لمصباح الإشعارات"</string>
-    <string name="zen_mode_screen_off_summary_no_led" msgid="3758698381956461866">"منع الإشعارات التي يتم تجاهلها باستخدام إعداد \"الرجاء عدم الإزعاج\" من تشغيل الشاشة"</string>
+    <string name="zen_mode_screen_off_summary" msgid="6490932947651798094">"منع الإشعارات التي يتم تجاهلها باستخدام إعداد \"عدم الإزعاج\" من تشغيل الشاشة أو إحداث وميض لمصباح الإشعارات"</string>
+    <string name="zen_mode_screen_off_summary_no_led" msgid="3758698381956461866">"منع الإشعارات التي يتم تجاهلها باستخدام إعداد \"عدم الإزعاج\" من تشغيل الشاشة"</string>
     <string name="zen_mode_all_visual_interruptions" msgid="2851308980832487411">"إيقاف"</string>
     <string name="zen_mode_screen_on_visual_interruptions" msgid="7373348148129140528">"عندما تكون الشاشة في وضع التشغيل"</string>
     <string name="zen_mode_screen_off_visual_interruptions" msgid="4850792880144382633">"عندما تكون الشاشة في وضع الإيقاف"</string>
@@ -3248,7 +3250,7 @@
     <string name="notifications_silenced" msgid="4728603513072110381">"تم كتم الصوت"</string>
     <string name="notifications_redacted" msgid="4493588975742803160">"المحتوى الحساس ليس على شاشة التأمين"</string>
     <string name="notifications_hidden" msgid="3619610536038757468">"ليست على شاشة التأمين"</string>
-    <string name="notifications_priority" msgid="1066342037602085552">"تم تجاوز \"الرجاء عدم الإزعاج\""</string>
+    <string name="notifications_priority" msgid="1066342037602085552">"تم تجاوز \"عدم الإزعاج\""</string>
     <string name="notifications_summary_divider" msgid="9013807608804041387">" / "</string>
     <string name="notification_summary_level" msgid="2726571692704140826">"‏المستوى %d"</string>
     <!-- no translation found for notification_summary_channel (5831124672372023524) -->
@@ -3419,11 +3421,11 @@
     <string name="running_frequency" msgid="6622624669948277693">"معدل الاستخدام"</string>
     <string name="memory_maximum_usage" msgid="6513785462055278341">"الاستخدام الأقصى"</string>
     <string name="no_data_usage" msgid="9131454024293628063">"لم يتم استخدام أية بيانات"</string>
-    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"هل تسمح بوصول <xliff:g id="APP">%1$s</xliff:g> إلى إعداد \"الرجاء عدم الإزعاج\"؟"</string>
-    <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"سيكون التطبيق قادرًا على تشغيل/إيقاف \"الرجاء عدم الإزعاج\" وإجراء تغييرات على الإعدادات ذات الصلة."</string>
+    <string name="zen_access_warning_dialog_title" msgid="1198189958031157142">"هل تسمح بوصول <xliff:g id="APP">%1$s</xliff:g> إلى إعداد \"عدم الإزعاج\"؟"</string>
+    <string name="zen_access_warning_dialog_summary" msgid="4015885767653010873">"سيكون التطبيق قادرًا على تشغيل/إيقاف \"عدم الإزعاج\" وإجراء تغييرات على الإعدادات ذات الصلة."</string>
     <string name="zen_access_disabled_package_warning" msgid="302820100078584431">"يجب أن يظل قيد التشغيل نظرًا لأن الوصول إلى الإشعارات قيد التشغيل"</string>
-    <string name="zen_access_revoke_warning_dialog_title" msgid="558779234015793950">"هل تريد إبطال إمكانية وصول تطبيق <xliff:g id="APP">%1$s</xliff:g> إلى قواعد \"الرجاء عدم الإزعاج\"؟"</string>
-    <string name="zen_access_revoke_warning_dialog_summary" msgid="5518216907304930148">"ستتم إزالة كل قواعد \"الرجاء عدم الإزعاج\" التي أنشأها هذا التطبيق."</string>
+    <string name="zen_access_revoke_warning_dialog_title" msgid="558779234015793950">"هل تريد إبطال إمكانية وصول تطبيق <xliff:g id="APP">%1$s</xliff:g> إلى قواعد \"عدم الإزعاج\"؟"</string>
+    <string name="zen_access_revoke_warning_dialog_summary" msgid="5518216907304930148">"ستتم إزالة كل قواعد \"عدم الإزعاج\" التي أنشأها هذا التطبيق."</string>
     <string name="ignore_optimizations_on" msgid="6915689518016285116">"عدم تحسين"</string>
     <string name="ignore_optimizations_off" msgid="6153196256410296835">"تحسين"</string>
     <string name="ignore_optimizations_on_desc" msgid="2321398930330555815">"يمكن أن يستنزف ذلك طاقة بطاريتك بسرعة"</string>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 41bf3d0..a0e06e8 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Ekranın enerji sərfiyyatı"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Mobil şəbəkənin skan edilməsi"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index fff75a7..d186860 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Консумация от екрана"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Сканиране за мобилни мрежи"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index c2f0d7a..bc01c50 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"স্ক্রিনের জন্য ব্যবহার"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"মোবাইল নেটওয়ার্ক স্ক্যান করা"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 167e220..92cd581 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Consum de la pantalla"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Cerca de xarxes de telefonia mòbil"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 9d207b6..32b576f 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -2007,7 +2007,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Spotřeba obrazovky"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Vyhledávání mobilních sítí"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 3d2433d..5b00842 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -1531,8 +1531,8 @@
     <string name="applications_settings_header" msgid="1014813055054356646">"Indstillinger for app"</string>
     <string name="install_applications" msgid="4872012136210802181">"Ukendte kilder"</string>
     <string name="install_applications_title" msgid="4987712352256508946">"Tillad alle appkilder"</string>
-    <string name="install_all_warning" product="tablet" msgid="8310489909586138165">"Din tablet og dine personlige data er mere sårbare over for angreb fra ukendte apps. Når du installerer apps fra en ukendt kilde, accepterer du, at du er ansvarlig for skader på din tablet eller tab af data, der kan skyldes brug af apps fra en ukendt kilde."</string>
-    <string name="install_all_warning" product="default" msgid="1952257127370115988">"Din telefon og dine personlige data er mere sårbare over for angreb fra ukendte apps. Når du installerer apps fra en ukendt kilde, accepterer du, at du er ansvarlig for skader på din telefon eller tab af data, der kan skyldes brug af apps fra en ukendt kilde."</string>
+    <string name="install_all_warning" product="tablet" msgid="8310489909586138165">"Din tablet og dine personlige data er mere sårbare over for angreb fra ukendte apps. Når du installerer apps fra denne kilde, accepterer du, at du er ansvarlig for skader på din tablet eller tab af data, der kan skyldes brug af disse apps."</string>
+    <string name="install_all_warning" product="default" msgid="1952257127370115988">"Din telefon og dine personlige data er mere sårbare over for angreb fra ukendte apps. Når du installerer apps fra denne kilde, accepterer du, at du er ansvarlig for skader på din telefon eller tab af data, der kan skyldes brug af disse apps."</string>
     <string name="advanced_settings" msgid="1777249286757067969">"Avancerede indstillinger"</string>
     <string name="advanced_settings_summary" msgid="4016682978071086747">"Aktivér flere indstillinger"</string>
     <string name="application_info_label" msgid="5736524913065714880">"Oplysninger om appen"</string>
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Skærmens strømforbrug"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Scanning af mobilnetværk"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
@@ -3648,7 +3650,7 @@
     <!-- no translation found for auto_sync_account_summary (692499211629185107) -->
     <skip />
     <string name="account_sync_title" msgid="7214747784136106491">"Kontosynkronisering"</string>
-    <string name="enterprise_privacy_settings" msgid="1177106810374146496">"Administrerede enhedsoplysninger"</string>
+    <string name="enterprise_privacy_settings" msgid="1177106810374146496">"Oplysninger om administrerede enheder"</string>
     <string name="enterprise_privacy_settings_summary_generic" msgid="5853292305730761128">"Ændringer og indstillinger, der administreres af din organisation"</string>
     <string name="enterprise_privacy_settings_summary_with_name" msgid="4266234968317996188">"Ændringer og indstillinger, der administreres af <xliff:g id="ORGANIZATION_NAME">%s</xliff:g>"</string>
     <string name="enterprise_privacy_header" msgid="7402406406883832509">"Din organisation kan ændre indstillingerne og installere software på din enhed for at give adgang til dine arbejdsdata. \n\nDu kan få flere oplysninger ved at kontakte din organisations administrator."</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index a3ea654..5a39ae1 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Displayverbrauch"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Mobilfunknetzsuche"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index ae93e71..c9f543f 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Κατανάλωση οθόνης"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Σάρωση δικτύου κινητής τηλεφωνίας"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index dac9cb6..40c3c9a 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Screen consumption"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Mobile network scanning"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index dac9cb6..40c3c9a 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Screen consumption"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Mobile network scanning"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index dac9cb6..40c3c9a 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Screen consumption"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Mobile network scanning"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 0650171..31ed4bf 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Consumo de la pantalla"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Escaneo de redes móviles"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 25aa28e..f69c390 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -1355,7 +1355,7 @@
     <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Zona Wi-Fi portátil"</string>
     <string name="tether_settings_title_bluetooth" msgid="355855408317564420">"Compartir por Bluetooth"</string>
     <string name="tether_settings_title_usb_bluetooth" msgid="5355828977109785001">"Compartir Internet"</string>
-    <string name="tether_settings_title_all" msgid="3058586928118801157">"Punto de acceso y conexión mediante dispositivo portátil"</string>
+    <string name="tether_settings_title_all" msgid="3058586928118801157">"Punto de acceso/conexión con dispositivo portátil"</string>
     <string name="tether_settings_summary_hotspot_on_tether_on" msgid="930464462687425777">"Punto de acceso activado, conexión mediante dispositivo portátil"</string>
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="3473671453891735907">"Punto de acceso activado"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="1618256180720077354">"Conexión mediante dispositivo portátil"</string>
@@ -1369,15 +1369,15 @@
     <string name="usb_tethering_turnon_subtext" msgid="4748616058219273033">"Conectar para activar"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Error al compartir por USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="2379175828878753652">"Compartir por Bluetooth"</string>
-    <string name="bluetooth_tethering_available_subtext" product="tablet" msgid="2092766774943506688">"Compartiendo conexión del tablet vía Bluetooth"</string>
-    <string name="bluetooth_tethering_available_subtext" product="default" msgid="313873759999970236">"Compartiendo conexión del teléfono vía Bluetooth"</string>
-    <string name="bluetooth_tethering_device_connected_subtext" product="tablet" msgid="6388191062495199481">"Compartiendo la conexión con 1 dispositivo vía Bluetooth"</string>
-    <string name="bluetooth_tethering_device_connected_subtext" product="default" msgid="5970460338828861091">"Compartiendo la conexión con 1 dispositivo vía Bluetooth"</string>
-    <string name="bluetooth_tethering_devices_connected_subtext" product="tablet" msgid="3253150865825199632">"Compartiendo la conexión con <xliff:g id="CONNECTEDDEVICECOUNT">%1$d</xliff:g> dispositivos vía Bluetooth"</string>
-    <string name="bluetooth_tethering_devices_connected_subtext" product="default" msgid="8268867745495039177">"Compartiendo la conexión con <xliff:g id="CONNECTEDDEVICECOUNT">%1$d</xliff:g> dispositivos vía Bluetooth"</string>
-    <string name="bluetooth_tethering_off_subtext_config" msgid="6326877798974938021">"Compartiendo la conexión de <xliff:g id="DEVICE_NAME">%1$d</xliff:g> vía Bluetooth"</string>
-    <string name="bluetooth_tethering_off_subtext" product="tablet" msgid="1889565070769307732">"No se comparte la conexión a Internet vía Bluetooth"</string>
-    <string name="bluetooth_tethering_off_subtext" product="default" msgid="1838503633450298902">"No se comparte la conexión a Internet vía Bluetooth"</string>
+    <string name="bluetooth_tethering_available_subtext" product="tablet" msgid="2092766774943506688">"Compartiendo conexión a Internet del tablet vía Bluetooth"</string>
+    <string name="bluetooth_tethering_available_subtext" product="default" msgid="313873759999970236">"Compartiendo conexión a Internet del móvil vía Bluetooth"</string>
+    <string name="bluetooth_tethering_device_connected_subtext" product="tablet" msgid="6388191062495199481">"Compartiendo la conexión a Internet con 1 dispositivo vía Bluetooth"</string>
+    <string name="bluetooth_tethering_device_connected_subtext" product="default" msgid="5970460338828861091">"Compartiendo la conexión a Internet con 1 dispositivo vía Bluetooth"</string>
+    <string name="bluetooth_tethering_devices_connected_subtext" product="tablet" msgid="3253150865825199632">"Compartiendo la conexión a Internet con <xliff:g id="CONNECTEDDEVICECOUNT">%1$d</xliff:g> dispositivos vía Bluetooth"</string>
+    <string name="bluetooth_tethering_devices_connected_subtext" product="default" msgid="8268867745495039177">"Compartiendo la conexión a Internet con <xliff:g id="CONNECTEDDEVICECOUNT">%1$d</xliff:g> dispositivos vía Bluetooth"</string>
+    <string name="bluetooth_tethering_off_subtext_config" msgid="6326877798974938021">"Compartiendo la conexión a Internet de este <xliff:g id="DEVICE_NAME">%1$d</xliff:g> vía Bluetooth"</string>
+    <string name="bluetooth_tethering_off_subtext" product="tablet" msgid="1889565070769307732">"No se comparte la conexión a Internet de este tablet vía Bluetooth"</string>
+    <string name="bluetooth_tethering_off_subtext" product="default" msgid="1838503633450298902">"No se comparte la conexión a Internet de este móvil vía Bluetooth"</string>
     <string name="bluetooth_tethering_errored_subtext" msgid="4926566308991142264">"No anclado"</string>
     <string name="bluetooth_tethering_overflow_error" msgid="2135590598511178690">"No se puede anclar a más de <xliff:g id="MAXCONNECTION">%1$d</xliff:g> dispositivos."</string>
     <string name="bluetooth_untether_blank" msgid="2871192409329334813">"Se desactivará el anclaje a red de <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
@@ -1531,8 +1531,8 @@
     <string name="applications_settings_header" msgid="1014813055054356646">"Ajustes de aplicación"</string>
     <string name="install_applications" msgid="4872012136210802181">"Orígenes desconocidos"</string>
     <string name="install_applications_title" msgid="4987712352256508946">"Permitir todas las fuentes"</string>
-    <string name="install_all_warning" product="tablet" msgid="8310489909586138165">"Tu tablet y tus datos personales son más vulnerables a los ataques de aplicaciones de fuentes desconocidas. Al instalar esta aplicación, aceptas ser responsable de cualquier daño que sufra tu tablet o la pérdida de tus datos que se pueda derivar de su uso."</string>
-    <string name="install_all_warning" product="default" msgid="1952257127370115988">"Tu teléfono y tus datos personales son más vulnerables a los ataques de aplicaciones de fuentes desconocidas. Al instalar esta aplicación, aceptas ser responsable de cualquier daño que sufra tu teléfono o la pérdida de tus datos que se pueda derivar de su uso."</string>
+    <string name="install_all_warning" product="tablet" msgid="8310489909586138165">"Tu tablet y tus datos personales son más vulnerables a los ataques de aplicaciones desconocidas. Al instalar aplicaciones de esta fuente, aceptas ser responsable de cualquier daño que sufra tu tablet o la pérdida de datos que se pueda derivar de su uso."</string>
+    <string name="install_all_warning" product="default" msgid="1952257127370115988">"Tu teléfono y tus datos personales son más vulnerables a los ataques de aplicaciones desconocidas. Al instalar aplicaciones de esta fuente, aceptas ser responsable de cualquier daño que sufra tu teléfono o la pérdida de datos que se pueda derivar de su uso."</string>
     <string name="advanced_settings" msgid="1777249286757067969">"Ajustes avanzados"</string>
     <string name="advanced_settings_summary" msgid="4016682978071086747">"Habilitar más opciones de configuración"</string>
     <string name="application_info_label" msgid="5736524913065714880">"Información de la aplicación"</string>
@@ -1722,7 +1722,7 @@
     <string name="spellchecker_quick_settings" msgid="246728645150092058">"Ajustes"</string>
     <string name="spellchecker_language" msgid="6041050114690541437">"Idioma"</string>
     <string name="failed_to_open_app_settings_toast" msgid="1251067459298072462">"Error al abrir los ajustes de <xliff:g id="SPELL_APPLICATION_NAME">%1$s</xliff:g>"</string>
-    <string name="keyboard_and_input_methods_category" msgid="6035224122054465137">"Teclado y entradas"</string>
+    <string name="keyboard_and_input_methods_category" msgid="6035224122054465137">"Teclado y métodos de introducción"</string>
     <string name="virtual_keyboard_category" msgid="1012830752318677119">"Teclado virtual"</string>
     <string name="available_virtual_keyboard_category" msgid="7645766574969139819">"Teclado virtual disponible"</string>
     <string name="add_virtual_keyboard" msgid="3302152381456516928">"Administrar teclados"</string>
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Consumo de la pantalla"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Búsqueda de redes móviles"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
@@ -2959,7 +2961,7 @@
     <string name="picture_in_picture_app_detail_switch" msgid="1131910667023738296">"Permitir imagen en imagen"</string>
     <string name="picture_in_picture_app_detail_summary" msgid="7942592478427522244">"Permite que la aplicación cree una ventana imagen en imagen mientras esté abierta o después de que hayas salido de ella (por ejemplo, para seguir viendo un vídeo). La ventana se muestra sobre otras aplicaciones que estés utilizando."</string>
     <string name="picture_in_picture_on" msgid="6103704909710176555">"Sí"</string>
-    <string name="picture_in_picture_off" msgid="5654388666434625247">"N.º"</string>
+    <string name="picture_in_picture_off" msgid="5654388666434625247">"No"</string>
     <string name="manage_zen_access_title" msgid="2611116122628520522">"Acceso de No molestar"</string>
     <string name="zen_access_empty_text" msgid="8772967285742259540">"Ninguna aplicación instalada ha solicitado acceso de No molestar"</string>
     <string name="loading_notification_apps" msgid="5031818677010335895">"Cargando aplicaciones..."</string>
@@ -3323,7 +3325,7 @@
     <string name="system_alert_window_apps_title" msgid="7005760279028569491">"Aplicaciones"</string>
     <string name="system_alert_window_access_title" msgid="6297115362542361241">"Mostrar sobre otras aplicaciones"</string>
     <string name="permit_draw_overlay" msgid="7456536798718633432">"Permitir mostrar sobre otras aplicaciones"</string>
-    <string name="app_overlay_permission_preference" msgid="9039432222453006038">"Permiso para mostrar sobre aplicaciones"</string>
+    <string name="app_overlay_permission_preference" msgid="9039432222453006038">"Permiso mostrar aplicación encima de otras"</string>
     <string name="allow_overlay_description" msgid="3879905262954599959">"Esta función permite que una aplicación se muestre sobre otras aplicaciones que estés utilizando. Esto puede interferir en el uso de dichas aplicaciones o cambiar el modo en que se muestran o se comportan."</string>
     <string name="keywords_vr_listener" msgid="7441221822576384680">"rv realidad virtual procesador estéreo servicio ayuda"</string>
     <string name="keywords_system_alert_window" msgid="5049498015597864850">"sistema alerta ventana cuadro de diálogo mostrar sobre otras aplicaciones"</string>
@@ -3618,7 +3620,7 @@
     <string name="ambient_display_pickup_summary" product="default" msgid="8696432220086951466">"Coge el teléfono para consultar las notificaciones rápidamente."</string>
     <string name="ambient_display_pickup_summary" product="tablet" msgid="2442551819015699120">"Coge el tablet para consultar las notificaciones rápidamente."</string>
     <string name="ambient_display_pickup_summary" product="device" msgid="2369325441608811599">"Coge el dispositivo para consultar las notificaciones rápidamente."</string>
-    <string name="fingerprint_swipe_for_notifications_title" msgid="5816346492253270243">"Deslizar el dedo sobre el sensor de huella digital para abrir las notificaciones"</string>
+    <string name="fingerprint_swipe_for_notifications_title" msgid="5816346492253270243">"Deslizar la huella digital para abrir las notificaciones"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="1770661868393713922">"Para ver tus notificaciones, desliza el dedo hacia abajo en el sensor de huellas digitales situado en la parte trasera del teléfono."</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="tablet" msgid="902719947767712895">"Para ver tus notificaciones, desliza el dedo hacia abajo en el sensor de huellas digitales situado en la parte trasera del tablet."</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="device" msgid="5372926094116306647">"Para ver tus notificaciones, desliza el dedo hacia abajo en el sensor de huellas digitales situado en la parte trasera del dispositivo."</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index b9c3a24..9157017 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Ekraani energiatarve"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Mobiilivõrgustiku skannimine"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 5800c20..3eac4bb 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Pantailaren kontsumoa"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Sare mugikorra bilatzen"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 84a36f0..59a86e7 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"مصرف صفحه‌نمایش"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"اسکن شبکه تلفن همراه"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 039ab5b..102e4c3 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Näytön virrankulutus"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Mobiiliverkkojen haku"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index c7dcda7..6cf0c36 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Consommation d\'énergie de l\'écran"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Recherche de réseaux cellulaires"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 6dd0b6e..df22113 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Consommation d\'énergie de l\'écran"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Recherche de réseaux mobiles"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 77ceb7b..16f4c97 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Consumo da pantalla"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Busca da rede de telefonía móbil"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 87f69d1..8e6ddc9 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"સ્ક્રીન દ્વારા વપરાશ"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"મોબાઇલ નેટવર્ક સ્કૅન કરવામાં"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 2020623..e342689 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -585,8 +585,7 @@
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"आगे"</string>
     <string name="lock_setup" msgid="3355847066343753943">"सेटअप पूरा हुआ."</string>
     <string name="manage_device_admin" msgid="537804979483211453">"डिवाइस व्यवस्थापक ऐप्लिकेशन"</string>
-    <!-- no translation found for number_of_device_admins_none (7185056721919496069) -->
-    <skip />
+    <string name="number_of_device_admins_none" msgid="7185056721919496069">"कोई भी सक्रिय ऐप्लिकेशन नहीं है"</string>
     <plurals name="number_of_device_admins" formatted="false" msgid="3361891840111523393">
       <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> सक्रिय ऐप्लिकेशन</item>
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> सक्रिय ऐप्लिकेशन</item>
@@ -711,8 +710,7 @@
     <string name="wifi_poor_network_detection" msgid="4925789238170207169">"खराब कनेक्‍शन से बचें"</string>
     <string name="wifi_poor_network_detection_summary" msgid="2784135142239546291">"जब तक वाई-फ़ाई  नेटवर्क में अच्छा इंटरनेट कनेक्‍शन न हो, तब तक उसका उपयोग न करें"</string>
     <string name="wifi_avoid_poor_network_detection_summary" msgid="4674423884870027498">"उन्हीं नेटवर्क का उपयोग करें जिनमें अच्छा इंटरनेट कनेक्शन है"</string>
-    <!-- no translation found for use_open_wifi_automatically_title (6851951242903078588) -->
-    <skip />
+    <string name="use_open_wifi_automatically_title" msgid="6851951242903078588">"खुले नेटवर्क से कनेक्ट करें"</string>
     <!-- no translation found for use_open_wifi_automatically_summary (2982091714252931713) -->
     <skip />
     <string name="wifi_install_credentials" msgid="3551143317298272860">"प्रमाणपत्र इंस्टाल करें"</string>
@@ -812,8 +810,7 @@
     <string name="no_internet_access_text" msgid="7133561752896706392">"इस नेटवर्क में कोई इंटरनेट ऐक्‍सेस नहीं है. कनेक्‍ट रहें?"</string>
     <string name="no_internet_access_remember" msgid="4697314331614625075">"इस नेटवर्क के लिए फिर से ना पूछें"</string>
     <string name="lost_internet_access_title" msgid="6228530645663584505">"वाई-फ़ाई इंटरनेट से नहीं जुड़ा है"</string>
-    <!-- no translation found for lost_internet_access_text (9029649339816197345) -->
-    <skip />
+    <string name="lost_internet_access_text" msgid="9029649339816197345">"जब भी वाई-फ़ाई कनेक्शन खराब हो तब आप मोबाइल नेटवर्क पर स्विच कर सकते हैं. डेटा उपयोग का पैसा लग सकता है."</string>
     <string name="lost_internet_access_switch" msgid="2262459569601190039">"मोबाइल पर स्विच करें"</string>
     <string name="lost_internet_access_cancel" msgid="338273139419871110">"वाई-फ़ाई पर रहें"</string>
     <string name="lost_internet_access_persist" msgid="7634876061262676255">"फिर कभी ना दिखाएं"</string>
@@ -865,21 +862,16 @@
     <string name="wifi_tether_checkbox_text" msgid="1847167643625779136">"पोर्टेबल वाई-फ़ाई  हॉटस्‍पॉट"</string>
     <string name="wifi_hotspot_checkbox_text" msgid="7763495093333664887">"वाई-फ़ाई हॉटस्पॉट"</string>
     <string name="wifi_hotspot_checkbox_text_summary" msgid="5347703013899354452">"वाई-फ़ाई नेटवर्क देने के लिए मोबाइल कनेक्शन का उपयोग करें"</string>
-    <!-- no translation found for wifi_hotspot_off_subtext (2745508221200463254) -->
-    <skip />
-    <!-- no translation found for wifi_hotspot_off_subtext (7746761268472599794) -->
-    <skip />
+    <string name="wifi_hotspot_off_subtext" product="tablet" msgid="2745508221200463254">"इस टैबलेट का इंटरनेट कनेक्शन हॉटस्पॉट के ज़रिए साझा नहीं किया जा रहा है"</string>
+    <string name="wifi_hotspot_off_subtext" product="default" msgid="7746761268472599794">"इस फ़ोन का इंटरनेट कनेक्शन हॉटस्पॉट के ज़रिए साझा नहीं किया जा रहा है"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"हॉटस्‍पॉट को चालू किया जा रहा है…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"हॉटस्‍पॉट को बंद किया जा रहा है…"</string>
-    <!-- no translation found for wifi_tether_enabled_subtext (7842111748046063857) -->
-    <skip />
+    <string name="wifi_tether_enabled_subtext" msgid="7842111748046063857">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> सक्रिय है"</string>
     <string name="wifi_tether_failed_subtext" msgid="1484941858530919002">"पोर्टेबल वाई-फ़ाई  हॉटस्‍पॉट गड़बड़ी"</string>
     <string name="wifi_tether_configure_ap_text" msgid="7974681394041609308">"वाई-फ़ाई  हॉटस्‍पॉट सेट करें"</string>
     <string name="wifi_hotspot_configure_ap_text" msgid="5478614731464220432">"वाई-फ़ाई हॉटस्पॉट सेटअप"</string>
-    <!-- no translation found for wifi_hotspot_configure_ap_text_summary (5560680057727007011) -->
-    <skip />
-    <!-- no translation found for wifi_tether_configure_subtext (2050196439900426456) -->
-    <skip />
+    <string name="wifi_hotspot_configure_ap_text_summary" msgid="5560680057727007011">"AndroidAP WPA2 PSK हॉटस्पॉट"</string>
+    <string name="wifi_tether_configure_subtext" msgid="2050196439900426456">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> हॉटस्पॉट"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string>
     <string name="wifi_calling_settings_title" msgid="4102921303993404577">"वाई-फ़ाई कॉलिंग"</string>
     <string name="wifi_calling_suggestion_title" msgid="9008010480466359578">"वाई-फ़ाई कॉलिंग चालू करें"</string>
@@ -1026,8 +1018,7 @@
     <string name="night_display_auto_mode_twilight" msgid="2123345097508167094">"सूर्यास्त से सूर्योदय तक"</string>
     <string name="night_display_start_time_title" msgid="8918016772613689584">"प्रारंभ समय"</string>
     <string name="night_display_end_time_title" msgid="8286061578083519350">"समाप्ति समय"</string>
-    <!-- no translation found for night_display_temperature_title (1435292789272017136) -->
-    <skip />
+    <string name="night_display_temperature_title" msgid="1435292789272017136">"तीव्रता"</string>
     <string name="night_display_summary_off" msgid="7009821232380000786">"बंद. <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="night_display_summary_off_auto_mode_never" msgid="2305501561697289620">"कभी भी अपने आप चालू नहीं होगा."</string>
     <string name="night_display_summary_off_auto_mode_custom" msgid="1548073080728058384">"<xliff:g id="ID_1">%1$s</xliff:g> बजे अपने आप चालू हो जाएगा."</string>
@@ -1250,8 +1241,7 @@
     <string name="storage_detail_dialog_other" msgid="8907101974576694793">"अन्य में, ऐप्लिकेशन द्वारा सहेजी गई साझा फ़ाइलें, इंटरनेट या ब्लूटूथ से डाउनलोड की गई फ़ाइलें, Android फ़ाइलें आदि शामिल होती हैं. \n\nइस <xliff:g id="NAME">^1</xliff:g> की दृश्यमान सामग्री देखने के लिए, एक्सप्लोर करें पर टैप करें."</string>
     <!-- no translation found for storage_detail_dialog_system (862835644848361569) -->
     <skip />
-    <!-- no translation found for storage_detail_dialog_user (3267254783294197804) -->
-    <skip />
+    <string name="storage_detail_dialog_user" msgid="3267254783294197804">"हो सकता है कि <xliff:g id="USER_0">^1</xliff:g> ने <xliff:g id="SIZE">^2</xliff:g> जगह का उपयोग करके फ़ोटो, संगीत, ऐप्लिकेशन या अन्य डेटा सहेजा हो. \n\nविवरण देखने के लिए, <xliff:g id="USER_1">^1</xliff:g> पर स्विच करें."</string>
     <string name="storage_wizard_init_title" msgid="5085400514028585772">"अपना <xliff:g id="NAME">^1</xliff:g> सेट करें"</string>
     <string name="storage_wizard_init_external_title" msgid="4867326438945303598">"पोर्टेबल मेमोरी के रूप में उपयोग करें"</string>
     <string name="storage_wizard_init_external_summary" msgid="7476105886344565074">"फ़ोटो और अन्य मीडिया को डिवाइसों के बीच ले जाने के लिए."</string>
@@ -1365,8 +1355,7 @@
     <string name="tether_settings_title_wifi" msgid="3277144155960302049">"पोर्टेबल हॉटस्‍पॉट"</string>
     <string name="tether_settings_title_bluetooth" msgid="355855408317564420">"ब्लूटूथ टेदरिंग"</string>
     <string name="tether_settings_title_usb_bluetooth" msgid="5355828977109785001">"टेदरिंग"</string>
-    <!-- no translation found for tether_settings_title_all (3058586928118801157) -->
-    <skip />
+    <string name="tether_settings_title_all" msgid="3058586928118801157">"हॉटस्पॉट और टेदरिंग"</string>
     <string name="tether_settings_summary_hotspot_on_tether_on" msgid="930464462687425777">"हॉटस्पॉट चालू है, टेदर हो रहा है"</string>
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="3473671453891735907">"हॉटस्पॉट चालू है"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="1618256180720077354">"टेदर हो रहा है"</string>
@@ -1380,32 +1369,21 @@
     <string name="usb_tethering_turnon_subtext" msgid="4748616058219273033">"चालू करने के लिए कनेक्ट करें"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"USB टेदरिंग गड़बड़ी"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="2379175828878753652">"ब्लूटूथ टेदरिंग"</string>
-    <!-- no translation found for bluetooth_tethering_available_subtext (2092766774943506688) -->
-    <skip />
-    <!-- no translation found for bluetooth_tethering_available_subtext (313873759999970236) -->
-    <skip />
-    <!-- no translation found for bluetooth_tethering_device_connected_subtext (6388191062495199481) -->
-    <skip />
-    <!-- no translation found for bluetooth_tethering_device_connected_subtext (5970460338828861091) -->
-    <skip />
-    <!-- no translation found for bluetooth_tethering_devices_connected_subtext (3253150865825199632) -->
-    <skip />
-    <!-- no translation found for bluetooth_tethering_devices_connected_subtext (8268867745495039177) -->
-    <skip />
-    <!-- no translation found for bluetooth_tethering_off_subtext_config (6326877798974938021) -->
-    <skip />
-    <!-- no translation found for bluetooth_tethering_off_subtext (1889565070769307732) -->
-    <skip />
-    <!-- no translation found for bluetooth_tethering_off_subtext (1838503633450298902) -->
-    <skip />
+    <string name="bluetooth_tethering_available_subtext" product="tablet" msgid="2092766774943506688">"टैबलेट का इंटरनेट ब्लूटूथ के ज़रिए साझा हो रहा है"</string>
+    <string name="bluetooth_tethering_available_subtext" product="default" msgid="313873759999970236">"इस फ़ोन का इंटरनेट कनेक्शन ब्लूटूथ के ज़रिए साझा किया जा रहा है"</string>
+    <string name="bluetooth_tethering_device_connected_subtext" product="tablet" msgid="6388191062495199481">"टैबलेट का इंटरनेट ब्लूटूथ से 1 डिवाइस से साझा हो रहा है"</string>
+    <string name="bluetooth_tethering_device_connected_subtext" product="default" msgid="5970460338828861091">"फ़ोन का इंटरनेट ब्लूटूथ के ज़रिए 1 डिवाइस से साझा हो रहा है"</string>
+    <string name="bluetooth_tethering_devices_connected_subtext" product="tablet" msgid="3253150865825199632">"टैबलेट का इंटरनेट ब्लूटूथ के ज़रिए <xliff:g id="CONNECTEDDEVICECOUNT">%1$d</xliff:g> डिवाइस से साझा हो रहा है"</string>
+    <string name="bluetooth_tethering_devices_connected_subtext" product="default" msgid="8268867745495039177">"टैबलेट का इंटरनेट ब्लूटूथ के ज़रिए <xliff:g id="CONNECTEDDEVICECOUNT">%1$d</xliff:g> डिवाइस से साझा हो रहा है"</string>
+    <string name="bluetooth_tethering_off_subtext_config" msgid="6326877798974938021">"<xliff:g id="DEVICE_NAME">%1$d</xliff:g> का इंटरनेट कनेक्शन ब्लूटूथ से साझा हो रहा है"</string>
+    <string name="bluetooth_tethering_off_subtext" product="tablet" msgid="1889565070769307732">"टैबलेट का इंटरनेट ब्लूटूथ से साझा नहीं हो रहा है"</string>
+    <string name="bluetooth_tethering_off_subtext" product="default" msgid="1838503633450298902">"फ़ोन का इंटरनेट ब्लूटूथ से साझा नहीं हो रहा है"</string>
     <string name="bluetooth_tethering_errored_subtext" msgid="4926566308991142264">"टेदर नहीं किया गया"</string>
     <string name="bluetooth_tethering_overflow_error" msgid="2135590598511178690">"<xliff:g id="MAXCONNECTION">%1$d</xliff:g> डिवाइस से अधिक को टेदर नहीं कर सकता."</string>
     <string name="bluetooth_untether_blank" msgid="2871192409329334813">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> को अनटेदर किया जाएगा."</string>
-    <!-- no translation found for tethering_footer_info (7287131664937054043) -->
-    <skip />
+    <string name="tethering_footer_info" msgid="7287131664937054043">"अपने मोबाइल डेटा कनेक्शन के ज़रिए दूसरे डिवाइसों को इंटरनेट देने के लिए हॉटस्पॉट और टेदरिंग का उपयोग करें."</string>
     <string name="tethering_help_button_text" msgid="656117495547173630">"सहायता"</string>
-    <!-- no translation found for network_settings_title (2876509814832830757) -->
-    <skip />
+    <string name="network_settings_title" msgid="2876509814832830757">"मोबाइल नेटवर्क"</string>
     <string name="manage_mobile_plan_title" msgid="7630170375010107744">"मोबाइल प्लान"</string>
     <string name="sms_application_title" msgid="4903928270533250448">"SMS ऐप"</string>
     <string name="sms_change_default_dialog_title" msgid="1958688831875804286">"SMS ऐप्लिकेशन बदलें?"</string>
@@ -1553,10 +1531,8 @@
     <string name="applications_settings_header" msgid="1014813055054356646">"ऐप्स सेटिंग"</string>
     <string name="install_applications" msgid="4872012136210802181">"अज्ञात स्रोत"</string>
     <string name="install_applications_title" msgid="4987712352256508946">"सभी ऐप्स स्रोतों को अनुमति दें"</string>
-    <!-- no translation found for install_all_warning (8310489909586138165) -->
-    <skip />
-    <!-- no translation found for install_all_warning (1952257127370115988) -->
-    <skip />
+    <string name="install_all_warning" product="tablet" msgid="8310489909586138165">"आपके टैबलेट और व्यक्तिगत डेटा पर अनजान ऐप्लिकेशन की ओर से हमला किए जाने का जोखिम ज़्यादा है. इस स्रोत से आने वाले ऐप्लिकेशन इंस्टॉल करके, आप सहमति देते हैं कि उनके उपयोग के कारण आपके टैबलेट को होने वाले किसी भी नुकसान या डेटा की हानि के लिए आप ही ज़िम्मेदार हैं."</string>
+    <string name="install_all_warning" product="default" msgid="1952257127370115988">"आपके फ़ोन और व्यक्तिगत डेटा पर अनजान ऐप्लिकेशन की ओर से हमला किए जाने का जोखिम ज़्यादा है. इस स्रोत से आने वाले ऐप्लिकेशन इंस्टॉल करके, आप सहमति देते हैं कि उनके उपयोग के कारण आपके फ़ोन को होने वाले किसी भी नुकसान या डेटा की हानि के लिए आप ही ज़िम्मेदार हैं."</string>
     <string name="advanced_settings" msgid="1777249286757067969">"अतिरिक्त सेटिंग"</string>
     <string name="advanced_settings_summary" msgid="4016682978071086747">"अधिक सेटिंग विकल्‍प सक्षम करें"</string>
     <string name="application_info_label" msgid="5736524913065714880">"ऐप्स की जानकारी"</string>
@@ -1728,8 +1704,7 @@
     <string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"यदि आप यह सेवा रोकते हैं, तो हो सकता है कि आपके फ़ोन की कुछ सुविधाएं ठीक से कार्य करना बंद कर दें जब तक कि आप उसे बंद करके फिर से चालू  न कर लें."</string>
     <string name="language_settings" msgid="8758655933029560944">"भाषाएं और इनपुट"</string>
     <string name="language_keyboard_settings_title" msgid="3709159207482544398">"भाषाएं और इनपुट"</string>
-    <!-- no translation found for input_assistance (7577795275222555487) -->
-    <skip />
+    <string name="input_assistance" msgid="7577795275222555487">"इनपुट सहायता"</string>
     <string name="keyboard_settings_category" msgid="8275523930352487827">"कीबोर्ड और इनपुट पद्धति"</string>
     <string name="phone_language" msgid="7116581601133118044">"भाषाएं"</string>
     <string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -1747,8 +1722,7 @@
     <string name="spellchecker_quick_settings" msgid="246728645150092058">"सेटिंग"</string>
     <string name="spellchecker_language" msgid="6041050114690541437">"भाषा"</string>
     <string name="failed_to_open_app_settings_toast" msgid="1251067459298072462">"<xliff:g id="SPELL_APPLICATION_NAME">%1$s</xliff:g> के लिए सेटिंग खोलने में विफल रहा"</string>
-    <!-- no translation found for keyboard_and_input_methods_category (6035224122054465137) -->
-    <skip />
+    <string name="keyboard_and_input_methods_category" msgid="6035224122054465137">"कीबोर्ड और इनपुट"</string>
     <string name="virtual_keyboard_category" msgid="1012830752318677119">"वर्चुअल कीबोर्ड"</string>
     <string name="available_virtual_keyboard_category" msgid="7645766574969139819">"उपलब्‍ध वर्चुअल कीबोर्ड"</string>
     <string name="add_virtual_keyboard" msgid="3302152381456516928">"कीबोर्ड प्रबंधित करें"</string>
@@ -1826,8 +1800,7 @@
     <string name="usage_time_label" msgid="295954901452833058">"उपयोग समय"</string>
     <string name="accessibility_settings" msgid="3975902491934816215">"सरल उपयोग"</string>
     <string name="accessibility_settings_title" msgid="2130492524656204459">"सरल उपयोग सेटिंग"</string>
-    <!-- no translation found for accessibility_settings_summary (981260486011624939) -->
-    <skip />
+    <string name="accessibility_settings_summary" msgid="981260486011624939">"स्क्रीन रीडर, प्रदर्शन, इंटरैक्शन नियंत्रण"</string>
     <string name="vision_settings_title" msgid="4204111425716868288">"दृश्य संबंधी सेटिंग"</string>
     <string name="vision_settings_description" msgid="5679491180156408260">"आप अपनी आवश्यकताओं के अनुरूप इस डिवाइस को कस्टमाइज़ कर सकते हैं. ये एक्सेस-योग्यता सुविधाएं बाद में सेटिंग में बदली जा सकती हैं."</string>
     <string name="screen_reader_category_title" msgid="7739154903913400641">"स्क्रीन रीडर"</string>
@@ -1835,22 +1808,19 @@
     <string name="display_category_title" msgid="685461049938269166">"प्रदर्शन"</string>
     <string name="interaction_control_category_title" msgid="7836591031872839151">"इंटरैक्शन नियंत्रण"</string>
     <string name="user_installed_services_category_title" msgid="6426376488922158647">"डाउनलोड की गई सेवाएं"</string>
-    <!-- no translation found for experimental_category_title (5272318666666893547) -->
-    <skip />
+    <string name="experimental_category_title" msgid="5272318666666893547">"प्रयोगात्मक"</string>
     <string name="talkback_title" msgid="7912059827205988080">"Talkback"</string>
     <string name="talkback_summary" msgid="8331244650729024963">"स्क्रीन रीडर प्राथमिक रूप से दृष्टिहीन और कमज़ोर दृष्टि वाले लोगों के लिए है"</string>
     <string name="select_to_speak_summary" msgid="4282846695497544515">"अपनी स्क्रीन पर दिए गए आइटम तेज़ आवाज़ में सुनने के लिए उन्हें टैप करें"</string>
     <string name="accessibility_captioning_title" msgid="7589266662024836291">"कैप्शन"</string>
-    <!-- no translation found for accessibility_screen_magnification_title (6001128808776506021) -->
-    <skip />
+    <string name="accessibility_screen_magnification_title" msgid="6001128808776506021">"आवर्धन"</string>
     <!-- no translation found for accessibility_screen_magnification_gestures_title (3719929521571489913) -->
     <skip />
     <!-- no translation found for accessibility_screen_magnification_navbar_title (7141753038957538230) -->
     <skip />
     <!-- no translation found for accessibility_screen_magnification_state_navbar_gesture (2760906043221923793) -->
     <skip />
-    <!-- no translation found for accessibility_preference_magnification_summary (5867883657521404509) -->
-    <skip />
+    <string name="accessibility_preference_magnification_summary" msgid="5867883657521404509">"स्क्रीन पर ज़ूम इन करें"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="3411979839172752057">"ज़ूम करने के लिए 3 बार टैप करें"</string>
     <!-- no translation found for accessibility_screen_magnification_navbar_short_summary (3693116360267980492) -->
     <skip />
@@ -1876,8 +1846,7 @@
     <string name="accessibility_toggle_master_mono_summary" msgid="5634277025251530927">"ऑडियो चलाते समय चैनल संयोजित करें"</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="6708467774619266508">"स्‍पर्श करके रखने पर विलंब"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="2119647786141420802">"रंग को पलटें"</string>
-    <!-- no translation found for accessibility_display_inversion_preference_subtitle (7052959202195368109) -->
-    <skip />
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7052959202195368109">"प्रदर्शन प्रभावित हो सकता है"</string>
     <string name="accessibility_autoclick_preference_title" msgid="7014499339068449623">"पॉइंटर रुकने के बाद क्लिक करें"</string>
     <string name="accessibility_autoclick_delay_preference_title" msgid="3962261178385106006">"क्लिक करने से पहले का विलंब"</string>
     <!-- no translation found for accessibility_summary_default_combination (90096949592817459) -->
@@ -2004,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"स्क्रीन के लिए खपत"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"मोबाइल नेटवर्क स्कैनिंग"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
@@ -2457,8 +2428,7 @@
     <string name="data_usage_background_label" msgid="2722008379947694926">"पृष्ठभूमि:"</string>
     <string name="data_usage_app_settings" msgid="2279171379771253165">"ऐप्स सेटिंग"</string>
     <string name="data_usage_app_restrict_background" msgid="7359227831562303223">"पृष्‍ठभूमि डेटा"</string>
-    <!-- no translation found for data_usage_app_restrict_background_summary (5853552187570622572) -->
-    <skip />
+    <string name="data_usage_app_restrict_background_summary" msgid="5853552187570622572">"बैकग्राउंड में मोबाइल डेटा का उपयोग करना सक्षम करें"</string>
     <string name="data_usage_app_restrict_background_summary_disabled" msgid="7401927377070755054">"इस एप्‍लि. के लिए पृष्ठभूमि डेटा प्रतिबंधित करने के लिए, पहले मो. डेटा सीमा सेट करें."</string>
     <string name="data_usage_app_restrict_dialog_title" msgid="1613108390242737923">"पृष्ठभूमि डेटा प्रतिबंधित करें?"</string>
     <string name="data_usage_app_restrict_dialog" msgid="1466689968707308512">"यह सुविधा केवल मोबाइल नेटवर्क उपलब्ध होने पर उस एप्ल‍िकेशन को कार्य करने से रोक सकती है जो पृष्ठभूमि डेटा पर निर्भर है.\n\nआपको एप्ल‍िकेशन में उपलब्ध सेटिंग में अधिक उपयुक्त डेटा उपयोग नियंत्रण मिल सकते हैं."</string>
@@ -2568,8 +2538,7 @@
     <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"हमेशा-चालू VPN के लिए, सर्वर और DNS दोनों के लिए IP पता होना आवश्यक है."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"कोई नेटवर्क कनेक्शन नहीं है. कृपया बाद में पुन: प्रयास करें."</string>
     <string name="vpn_disconnected" msgid="280531508768927471">"VPN से डिसकनेक्ट किया गया"</string>
-    <!-- no translation found for vpn_disconnected_summary (3082851661207900606) -->
-    <skip />
+    <string name="vpn_disconnected_summary" msgid="3082851661207900606">"कोई नहीं"</string>
     <!-- no translation found for vpn_missing_cert (5357192202207234745) -->
     <skip />
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"सिस्‍टम"</string>
@@ -2801,12 +2770,10 @@
     <string name="network_dashboard_title" msgid="4771589228992391573">"नेटवर्क और इंटरनेट"</string>
     <string name="network_dashboard_summary" msgid="3274556191585905652">"वाई-फ़ाई, मोबाइल, डेटा उपयोग, हॉटस्पॉट"</string>
     <string name="connected_devices_dashboard_title" msgid="2355264951438890709">"कनेक्ट किए गए डिवाइस"</string>
-    <!-- no translation found for connected_devices_dashboard_summary (2390582103384791904) -->
-    <skip />
+    <string name="connected_devices_dashboard_summary" msgid="2390582103384791904">"ब्लूटूथ, कास्ट, NFC"</string>
     <string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"ऐप्लिकेशन और नोटिफ़िकेशन"</string>
     <string name="app_and_notification_dashboard_summary" msgid="2363314178802548682">"अनुमतियां, डिफ़ॉल्ट ऐप"</string>
-    <!-- no translation found for account_dashboard_title (4936890821712178853) -->
-    <skip />
+    <string name="account_dashboard_title" msgid="4936890821712178853">"उपयोगकर्ता और खाते"</string>
     <string name="app_default_dashboard_title" msgid="7342549305933047317">"डिफ़ॉल्‍ट ऐप्लिकेशन"</string>
     <!-- no translation found for system_dashboard_summary (5797743225249766685) -->
     <skip />
@@ -2991,22 +2958,17 @@
     <string name="picture_in_picture_empty_text" msgid="685224245260197779">"इंस्टॉल किए हुए किसी भी ऐप्लिकेशन में तस्वीर-में-तस्वीर सुविधा काम नहीं करती है"</string>
     <string name="picture_in_picture_keywords" msgid="8361318686701764690">"पीआईपी तस्वीर डालें"</string>
     <string name="picture_in_picture_app_detail_title" msgid="4080800421316791732">"तस्वीर-में-तस्वीर"</string>
-    <!-- no translation found for picture_in_picture_app_detail_switch (1131910667023738296) -->
-    <skip />
-    <!-- no translation found for picture_in_picture_app_detail_summary (7942592478427522244) -->
-    <skip />
-    <!-- no translation found for picture_in_picture_on (6103704909710176555) -->
-    <skip />
-    <!-- no translation found for picture_in_picture_off (5654388666434625247) -->
-    <skip />
+    <string name="picture_in_picture_app_detail_switch" msgid="1131910667023738296">"तस्वीर-में-तस्वीर की अनुमति दें"</string>
+    <string name="picture_in_picture_app_detail_summary" msgid="7942592478427522244">"इस ऐप्लिकेशन के खुले होने पर या आप उसे छोड़ दें, उसके बाद (उदाहरण के लिए, कोई वीडियो देखते रहने के लिए), उसे एक तस्वीर-में-तस्वीर विंडो बनाने दें. यह विंडो उन दूसरे ऐप्लिकेशन के ऊपर दिखाई देती है जिनका आप उपयोग कर रहे हैं."</string>
+    <string name="picture_in_picture_on" msgid="6103704909710176555">"हां"</string>
+    <string name="picture_in_picture_off" msgid="5654388666434625247">"नहीं"</string>
     <string name="manage_zen_access_title" msgid="2611116122628520522">"परेशान ना करें ऐक्सेस"</string>
     <string name="zen_access_empty_text" msgid="8772967285742259540">"इंस्टॉल किए गए किसी भी ऐप द्वारा परेशान ना करें ऐक्सेस का अनुरोध नहीं किया है"</string>
     <string name="loading_notification_apps" msgid="5031818677010335895">"ऐप्स लोड हो रहे हैं..."</string>
     <string name="notification_channels" msgid="5346841743182627500">"श्रेणियां"</string>
     <string name="notification_channels_other" msgid="5645317113885788226">"अन्य"</string>
     <string name="no_channels" msgid="3077375508177744586">"इस ऐप्लिकेशन ने कोई भी नोटिफ़िकेशन पोस्ट नहीं किया है"</string>
-    <!-- no translation found for app_settings_link (8894946007543660906) -->
-    <skip />
+    <string name="app_settings_link" msgid="8894946007543660906">"ऐप्लिकेशन में मौजूद दूसरी सेटिंग"</string>
     <!-- no translation found for app_notification_listing_summary_zero (6482582965081108108) -->
     <skip />
     <!-- no translation found for app_notification_listing_summary_others (5668835155965827890) -->
@@ -3228,8 +3190,7 @@
     <string name="configure_apps" msgid="6685680790825882528">"ऐप्स कॉन्‍फ़िगर करें"</string>
     <string name="unknown_app" msgid="5275921288718717656">"अज्ञात ऐप"</string>
     <string name="app_permissions" msgid="4148222031991883874">"ऐप अनुमतियां"</string>
-    <!-- no translation found for app_permissions_summary (5163974162150406324) -->
-    <skip />
+    <string name="app_permissions_summary" msgid="5163974162150406324">"<xliff:g id="APPS">%1$s</xliff:g> का उपयोग करने वाले ऐप्लिकेशन"</string>
     <string name="tap_to_wake" msgid="7211944147196888807">"वेक करने के लिए टैप करें"</string>
     <string name="tap_to_wake_summary" msgid="4341387904987585616">"डिवाइस को वेक करने के लिए स्क्रीन पर कहीं भी डबल-टैप करें"</string>
     <string name="domain_urls_title" msgid="3132983644568821250">"खुलने वाले लिंक"</string>
@@ -3306,14 +3267,11 @@
     <!-- no translation found for usb_use_power_only (8082507981891392824) -->
     <skip />
     <string name="usb_use_power_only_desc" msgid="4912352581010190141">"अन्य कनेक्ट डिवाइस के लिए पावर की आपूर्ति करें"</string>
-    <!-- no translation found for usb_use_file_transfers (338076823500744605) -->
-    <skip />
+    <string name="usb_use_file_transfers" msgid="338076823500744605">"फ़ाइलें स्थानान्तरित करना"</string>
     <string name="usb_use_file_transfers_desc" msgid="4235764784331804488">"किसी अन्य डिवाइस पर फ़ाइलें स्थानान्तरित करें"</string>
-    <!-- no translation found for usb_use_photo_transfers (6743967116266105718) -->
-    <skip />
+    <string name="usb_use_photo_transfers" msgid="6743967116266105718">"फ़ोटो स्थानान्तरित करना (PTP)"</string>
     <string name="usb_use_photo_transfers_desc" msgid="2963034811151325996">"MTP समर्थित नहीं होने पर फ़ोटो या फ़ाइलें ट्रांसफर करें (PTP)"</string>
-    <!-- no translation found for usb_use_MIDI (8405244560919283714) -->
-    <skip />
+    <string name="usb_use_MIDI" msgid="8405244560919283714">"डिवाइस का उपयोग MIDI के रूप में करना"</string>
     <string name="usb_use_MIDI_desc" msgid="8473936990076693175">"इस डिवाइस का उपयोग MIDI के रूप में करें"</string>
     <string name="usb_use" msgid="3256040963685055320">"इसके लिए USB का उपयोग करें"</string>
     <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
@@ -3361,35 +3319,23 @@
     <!-- no translation found for work_profile_usage_access_warning (2918050775124911939) -->
     <skip />
     <string name="accessibility_lock_screen_progress" msgid="2408292742980383166">"<xliff:g id="COUNT_1">%2$d</xliff:g> में से <xliff:g id="COUNT_0">%1$d</xliff:g> वर्णों का उपयोग किया गया"</string>
-    <!-- no translation found for draw_overlay_title (7524215631960029502) -->
-    <skip />
-    <!-- no translation found for draw_overlay (6564116025404257047) -->
-    <skip />
-    <!-- no translation found for system_alert_window_settings (8466613169103527868) -->
-    <skip />
+    <string name="draw_overlay_title" msgid="7524215631960029502">"ऐसे ऐप्स जो दूसरे ऐप्स के ऊपर प्रदर्शित हो सकते हैं"</string>
+    <string name="draw_overlay" msgid="6564116025404257047">"दूसरे ऐप्स पर प्रदर्शित करें"</string>
+    <string name="system_alert_window_settings" msgid="8466613169103527868">"दूसरे ऐप्स पर प्रदर्शित करें"</string>
     <string name="system_alert_window_apps_title" msgid="7005760279028569491">"ऐप्स"</string>
-    <!-- no translation found for system_alert_window_access_title (6297115362542361241) -->
-    <skip />
-    <!-- no translation found for permit_draw_overlay (7456536798718633432) -->
-    <skip />
-    <!-- no translation found for app_overlay_permission_preference (9039432222453006038) -->
-    <skip />
-    <!-- no translation found for allow_overlay_description (3879905262954599959) -->
-    <skip />
+    <string name="system_alert_window_access_title" msgid="6297115362542361241">"दूसरे ऐप्स पर प्रदर्शित करें"</string>
+    <string name="permit_draw_overlay" msgid="7456536798718633432">"हमेशा दूसरे ऐप्लिकेशन के ऊपर प्रदर्शित करें"</string>
+    <string name="app_overlay_permission_preference" msgid="9039432222453006038">"ऊपर दिखाई देने वाले ऐप्लिकेशन की अनुमति"</string>
+    <string name="allow_overlay_description" msgid="3879905262954599959">"इस सुविधा से कोई ऐप्लिकेशन उन दूसरे ऐप्लिकेशन के ऊपर दिखाई देता है जिनका आप उपयोग कर रहे हैं. यह उन ऐप्लिकेशन के आपके उपयोग में दखल दे सकती है या उनके दिखाई देने या व्यवहार करने के तरीके में बदलाव कर सकती है."</string>
     <string name="keywords_vr_listener" msgid="7441221822576384680">"vr आभासी वास्तविकता श्रोता स्टीरियो सहायक सेवा"</string>
-    <!-- no translation found for keywords_system_alert_window (5049498015597864850) -->
-    <skip />
-    <!-- no translation found for overlay_settings (6930854109449524280) -->
-    <skip />
-    <!-- no translation found for system_alert_window_summary (602892301318324492) -->
-    <skip />
+    <string name="keywords_system_alert_window" msgid="5049498015597864850">"सिस्टम अलर्ट विंडो संवाद को दूसरे ऐप्लिकेशन के ऊपर प्रदर्शित करें"</string>
+    <string name="overlay_settings" msgid="6930854109449524280">"दूसरे ऐप्स पर प्रदर्शित करें"</string>
+    <string name="system_alert_window_summary" msgid="602892301318324492">"<xliff:g id="COUNT_1">%2$d</xliff:g> में से <xliff:g id="COUNT_0">%1$d</xliff:g> ऐप्स को दूसरे ऐप्स पर प्रदर्शित होने की अनुमति है"</string>
     <string name="filter_overlay_apps" msgid="6965969283342557573">"अनुमति वाले ऐप्‍स"</string>
     <string name="system_alert_window_on" msgid="2939489395109048888">"हां"</string>
     <string name="system_alert_window_off" msgid="6189115687233061992">"नहीं"</string>
-    <!-- no translation found for install_other_apps (6986686991775883017) -->
-    <skip />
-    <!-- no translation found for keywords_install_other_apps (761078076051006558) -->
-    <skip />
+    <string name="install_other_apps" msgid="6986686991775883017">"अनजान ऐप्लिकेशन इंस्टॉल करें"</string>
+    <string name="keywords_install_other_apps" msgid="761078076051006558">"अनजान स्रोतों से आने वाले ऐप्लिकेशन इंस्टॉल करें"</string>
     <string name="write_settings" msgid="4797457275727195681">"सिस्‍टम सेटिंग बदलें"</string>
     <string name="keywords_write_settings" msgid="6415597272561105138">"सिस्‍टम सेटिंग में बदलाव करें लिखें"</string>
     <string name="write_settings_summary" msgid="4302268998611412696">"<xliff:g id="COUNT_1">%2$d</xliff:g> में से <xliff:g id="COUNT_0">%1$d</xliff:g> ऐप्स को सिस्टम सेटिंग बदलने की अनुमति दी गई"</string>
@@ -3404,8 +3350,7 @@
     <string name="write_settings_off" msgid="5156104383386336233">"नहीं"</string>
     <string name="external_source_trusted" msgid="6857780460845250885">"हां"</string>
     <string name="external_source_untrusted" msgid="6608922938133896956">"नहीं"</string>
-    <!-- no translation found for external_source_switch_title (5581865736984836418) -->
-    <skip />
+    <string name="external_source_switch_title" msgid="5581865736984836418">"ऐप्लिकेशन इंस्टॉल की अनुमति दें"</string>
     <string name="camera_gesture_title" msgid="1075838577642393011">"कैमरे के लिए दो बार मोड़ना"</string>
     <string name="camera_gesture_desc" msgid="1831390075255870960">"अपनी कलाई को दो बार मोड़कर कैमरा ऐप खोलें"</string>
     <string name="camera_double_tap_power_gesture_title" msgid="1651873760405034645">"कैमरे के लिए पावर बटन दो बार दबाएं"</string>
@@ -3427,8 +3372,7 @@
     <string name="screen_zoom_conversation_timestamp_2" msgid="7107225702890747588">"मंगलवार शाम 6:01 बजे"</string>
     <string name="screen_zoom_conversation_timestamp_3" msgid="3785674344762707688">"मंगलवार शाम 6:02 बजे"</string>
     <string name="screen_zoom_conversation_timestamp_4" msgid="2511469395448561259">"मंगलवार शाम 6:03 बजे"</string>
-    <!-- no translation found for disconnected (4836600637485526329) -->
-    <skip />
+    <string name="disconnected" msgid="4836600637485526329">"कनेक्ट नहीं है"</string>
     <string name="data_usage_summary_format" msgid="7507047900192160585">"<xliff:g id="AMOUNT">%1$s</xliff:g> डेटा का उपयोग किया गया है"</string>
     <!-- no translation found for notification_summary (3941492005316143599) -->
     <!-- no translation found for notification_summary_none (4586376436702610) -->
@@ -3450,8 +3394,7 @@
     <string name="location_on_summary" msgid="5127631544018313587">"चालू / <xliff:g id="LOCATION_MODE">%1$s</xliff:g>"</string>
     <string name="location_off_summary" msgid="6474350053215707957">"बंद"</string>
     <string name="backup_disabled" msgid="485189128759595412">"बैक अप अक्षम किया गया"</string>
-    <!-- no translation found for about_summary (924181828102801010) -->
-    <skip />
+    <string name="about_summary" msgid="924181828102801010">"Android <xliff:g id="VERSION">%1$s</xliff:g> में अपडेट किया गया"</string>
     <string name="disabled_by_policy_title" msgid="627023216027648534">"कार्रवाई की अनुमति नहीं"</string>
     <string name="disabled_by_policy_title_adjust_volume" msgid="7399450998356045023">"वॉल्यूम बदला नहीं जा सकता"</string>
     <string name="disabled_by_policy_title_outgoing_calls" msgid="7919816644946067058">"कॉल करने की अनुमति नहीं है"</string>
@@ -3513,7 +3456,10 @@
     <string name="billing_cycle_summary" msgid="9009106526129293752">"मासिक चक्र प्रत्येक माह के <xliff:g id="ID_1">%1$s</xliff:g> को शुरू होगा"</string>
     <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"<xliff:g id="ID_1">%1$s</xliff:g> से मासिक रूप से शुरू"</string>
     <string name="network_restrictions" msgid="8234695294536675380">"नेटवर्क प्रतिबंध"</string>
-    <!-- no translation found for network_restrictions_summary (4301618027244595839) -->
+    <plurals name="network_restrictions_summary" formatted="false" msgid="4301618027244595839">
+      <item quantity="one"><xliff:g id="COUNT">%1$d</xliff:g> प्रतिबंध</item>
+      <item quantity="other"><xliff:g id="COUNT">%1$d</xliff:g> प्रतिबंध</item>
+    </plurals>
     <string name="operator_warning" msgid="1862988028996859195">"वाहक डेटा गणना डिवाइस गणना से भिन्न हो सकती है"</string>
     <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> का उपयोग किया गया"</string>
     <string name="set_data_warning" msgid="6115364758236594593">"डेटा चेतावनी सेट करें"</string>
@@ -3596,8 +3542,7 @@
     <string name="premium_sms_none" msgid="8268105565738040566">"इंस्टॉल किए गए किसी भी ऐप्लिकेशन द्वारा प्रीमियम SMS एक्सेस का अनुरोध नहीं किया गया"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"प्रीमियम SMS से शुल्क लग सकता है और इससे आपके वाहक बिल में बढ़ोतरी हो जाएगी. यदि आप किसी ऐप्लिकेशन के लिए अनुमति सक्षम करते हैं, तो आप उस ऐप्लिकेशन का उपयोग करके प्रीमियम SMS भेज सकेंगे."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"प्रीमियम SMS एक्सेस"</string>
-    <!-- no translation found for bluetooth_disabled (2456198532288640046) -->
-    <skip />
+    <string name="bluetooth_disabled" msgid="2456198532288640046">"दूसरे डिवाइसों को दिखाई नहीं देता"</string>
     <!-- no translation found for bluetooth_connected_summary (8733997010923307915) -->
     <skip />
     <string name="demo_mode" msgid="2798762752209330277">"सिस्टम UI डेमो मोड"</string>
@@ -3675,8 +3620,7 @@
     <string name="ambient_display_pickup_summary" product="default" msgid="8696432220086951466">"अपने नोटिफ़िकेशन तुरंत देखने के लिए, अपना फ़ोन उठाएं."</string>
     <string name="ambient_display_pickup_summary" product="tablet" msgid="2442551819015699120">"अपने नोटिफ़िकेशन तुरंत देखने के लिए, अपना टैबलेट उठाएं."</string>
     <string name="ambient_display_pickup_summary" product="device" msgid="2369325441608811599">"अपने नोटिफ़िकेशन तुरंत देखने के लिए, अपना डिवाइस उठाएं."</string>
-    <!-- no translation found for fingerprint_swipe_for_notifications_title (5816346492253270243) -->
-    <skip />
+    <string name="fingerprint_swipe_for_notifications_title" msgid="5816346492253270243">"नोटिफ़िकेशन के लिए फ़िंगरप्रिंट स्वाइप करें"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="1770661868393713922">"अपने नोटिफ़िकेशन देखने के लिए, अपने फ़ोन के पीछे फ़िंगरप्रिंट सेंसर पर नीचे स्वाइप करें."</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="tablet" msgid="902719947767712895">"अपने नोटिफ़िकेशन देखने के लिए, अपने टैबलेट के पीछे फ़िंगरप्रिंट सेंसर पर नीचे स्वाइप करें."</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="device" msgid="5372926094116306647">"अपने नोटिफ़िकेशन देखने के लिए, अपने डिवाइस के पीछे फ़िंगरप्रिंट सेंसर पर नीचे स्वाइप करें."</string>
@@ -3706,8 +3650,7 @@
     <!-- no translation found for auto_sync_account_summary (692499211629185107) -->
     <skip />
     <string name="account_sync_title" msgid="7214747784136106491">"खाता सिंक"</string>
-    <!-- no translation found for enterprise_privacy_settings (1177106810374146496) -->
-    <skip />
+    <string name="enterprise_privacy_settings" msgid="1177106810374146496">"प्रबंधित डिवाइस की जानकारी"</string>
     <string name="enterprise_privacy_settings_summary_generic" msgid="5853292305730761128">"आपके संगठन की ओर से प्रबंधित किए जाने वाले बदलाव और सेटिंग"</string>
     <string name="enterprise_privacy_settings_summary_with_name" msgid="4266234968317996188">"<xliff:g id="ORGANIZATION_NAME">%s</xliff:g> की ओर से प्रबंधित किए जाने वाले बदलाव और सेटिंग"</string>
     <string name="enterprise_privacy_header" msgid="7402406406883832509">"आपके कार्य डेटा का एक्सेस देने के लिए, आपका संगठन सेटिंग में बदलाव कर सकता है और आपके डिवाइस पर सॉफ़्टवेयर इंस्टॉल कर सकता है.\n\nअधिक जानकारी के लिए, अपने संगठन के व्यवस्थापक से संपर्क करें."</string>
@@ -3727,14 +3670,10 @@
     <!-- no translation found for enterprise_privacy_apps_count_estimation_info (7433213592572082606) -->
     <skip />
     <!-- no translation found for enterprise_privacy_number_packages_lower_bound (3005116533873542976) -->
-    <!-- no translation found for enterprise_privacy_location_access (4158197200885270634) -->
-    <skip />
-    <!-- no translation found for enterprise_privacy_microphone_access (5717375623568864441) -->
-    <skip />
-    <!-- no translation found for enterprise_privacy_camera_access (4858146118537519375) -->
-    <skip />
-    <!-- no translation found for enterprise_privacy_enterprise_set_default_apps (3288495615791128724) -->
-    <skip />
+    <string name="enterprise_privacy_location_access" msgid="4158197200885270634">"स्थान अनुमतियां"</string>
+    <string name="enterprise_privacy_microphone_access" msgid="5717375623568864441">"माइक्रोफ़ोन अनुमतियां"</string>
+    <string name="enterprise_privacy_camera_access" msgid="4858146118537519375">"कैमरा अनुमतियां"</string>
+    <string name="enterprise_privacy_enterprise_set_default_apps" msgid="3288495615791128724">"डिफ़ॉल्‍ट ऐप्लिकेशन"</string>
     <plurals name="enterprise_privacy_number_packages" formatted="false" msgid="2765037387436064893">
       <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> ऐप्लिकेशन</item>
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> ऐप्लिकेशन</item>
@@ -3745,8 +3684,7 @@
     <string name="enterprise_privacy_always_on_vpn_personal" msgid="9217774730260037434">"आपकी व्यक्तिगत प्रोफ़ाइल में हमेशा-चालू VPN चालू है"</string>
     <string name="enterprise_privacy_always_on_vpn_work" msgid="7244472958208315814">"आपकी कार्य प्रोफ़ाइल में हमेशा-चालू VPN चालू है"</string>
     <string name="enterprise_privacy_global_http_proxy" msgid="7936664553416257333">"वैश्विक HTTP प्रॉक्सी सेट है"</string>
-    <!-- no translation found for enterprise_privacy_ca_certs (5885892204903688909) -->
-    <skip />
+    <string name="enterprise_privacy_ca_certs" msgid="5885892204903688909">"विश्वसनीय क्रेडेंशियल"</string>
     <!-- no translation found for enterprise_privacy_number_ca_certs (526375234629534165) -->
     <string name="enterprise_privacy_lock_device" msgid="8791656477097208540">"व्यवस्थापक डिवाइस को लॉक कर सकता है और पासवर्ड रीसेट कर सकता है"</string>
     <string name="enterprise_privacy_wipe_device" msgid="2821960015797241790">"व्यवस्थापक डिवाइस का सभी डेटा हटा सकता है"</string>
@@ -3778,12 +3716,10 @@
     <string name="storage_games" msgid="7703159201697117621">"गेम"</string>
     <string name="storage_other_apps" msgid="5524321740031718083">"अन्य ऐप्लिकेशन"</string>
     <string name="storage_files" msgid="8581083146777364063">"फ़ाइलें"</string>
-    <!-- no translation found for storage_settings_2 (1939009096334525216) -->
-    <skip />
+    <string name="storage_settings_2" product="tablet" msgid="1939009096334525216">"टैबलेट में जगह"</string>
     <string name="storage_settings_2" product="default" msgid="4306047711760327031">"फ़ोन की जगह"</string>
     <string name="storage_size_large_alternate" msgid="3550744227788333060">"<xliff:g id="NUMBER">^1</xliff:g>"<small>" <xliff:g id="UNIT">^2</xliff:g>"</small>""</string>
-    <!-- no translation found for storage_volume_total (3499221850532701342) -->
-    <skip />
+    <string name="storage_volume_total" msgid="3499221850532701342">"<xliff:g id="TOTAL">%1$s</xliff:g> में से उपयोग किया गया"</string>
     <!-- no translation found for storage_percent_full (7052264724265314100) -->
     <skip />
     <!-- no translation found for clear_instant_app_data (2004222610585890909) -->
@@ -3792,8 +3728,7 @@
     <string name="audio_files_title" msgid="4777048870657911307">"ऑडियो फ़ाइलें"</string>
     <string name="webview_uninstalled_for_user" msgid="1819903169194420983">"(उपयोगकर्ता <xliff:g id="USER">%s</xliff:g> के लिए अनइंस्टॉल है)"</string>
     <string name="webview_disabled_for_user" msgid="1216426047631256825">"(उपयोगकर्ता <xliff:g id="USER">%s</xliff:g> के लिए अक्षम है)"</string>
-    <!-- no translation found for autofill_app (7338387238377914374) -->
-    <skip />
+    <string name="autofill_app" msgid="7338387238377914374">"ऑटोमैटिक भरने की सेवा"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"ऑटो, भरना, ऑटोमैटिक भरना"</string>
     <string name="autofill_confirmation_message" msgid="7368058965765225486">"<xliff:g id="APP_NAME_0">%1$s</xliff:g> को आपका ऑटोमैटिक भरने वाला ऐप्लिकेशन बनाएं? <xliff:g id="APP_NAME_1">%1$s</xliff:g> आपकी स्क्रीन को पढ़ सकेगा और दूसरे ऐप्लिकेशन के फ़ील्ड भर सकेगा."</string>
     <string name="device_theme" msgid="4571803018917608588">"डिवाइस की थीम"</string>
@@ -3802,8 +3737,7 @@
     <string name="storage_manager_indicator_off" msgid="7488057587180724388">"बंद"</string>
     <string name="storage_manager_indicator_on" msgid="8625551710194584733">"चालू"</string>
     <string name="install_type_instant" msgid="3174425974536078647">"झटपट ऐप"</string>
-    <!-- no translation found for automatic_storage_manager_deactivation_warning (5605210730828410482) -->
-    <skip />
+    <string name="automatic_storage_manager_deactivation_warning" msgid="5605210730828410482">"जगह प्रबंधक को बंद करना चाहते हैं?"</string>
     <!-- no translation found for storage_movies_tv (5498394447562086890) -->
     <skip />
     <!-- no translation found for app_info_storage_title (5554719444625611987) -->
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index b27d82a..ce276d8 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -1990,7 +1990,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Potrošnja za zaslon"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Pretraživanje mobilnih mreža"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index ebfb912..061051c 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"A képernyő energiafogyasztása"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Mobilhálózat keresése"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 7a522e2..868932d 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Էկրան"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Բջջային ցանցի որոնում"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 2c75256..1e0ac2e 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -810,7 +810,7 @@
     <string name="no_internet_access_text" msgid="7133561752896706392">"Jaringan ini tidak memiliki akses internet. Tetap sambungkan?"</string>
     <string name="no_internet_access_remember" msgid="4697314331614625075">"Jangan tanya lagi untuk jaringan ini"</string>
     <string name="lost_internet_access_title" msgid="6228530645663584505">"Wi-Fi tidak tersambung ke internet"</string>
-    <string name="lost_internet_access_text" msgid="9029649339816197345">"Anda dapat beralih ke jaringan seluler jika sambungan Wi-Fi buruk. Mungkin dikenai tagihan penggunaan data."</string>
+    <string name="lost_internet_access_text" msgid="9029649339816197345">"Anda dapat beralih ke jaringan seluler jika sambungan Wi-Fi buruk. Mungkin dikenai biaya penggunaan data."</string>
     <string name="lost_internet_access_switch" msgid="2262459569601190039">"Beralih ke seluler"</string>
     <string name="lost_internet_access_cancel" msgid="338273139419871110">"Tetap di Wi-Fi"</string>
     <string name="lost_internet_access_persist" msgid="7634876061262676255">"Jangan tampilkan lagi"</string>
@@ -1531,8 +1531,8 @@
     <string name="applications_settings_header" msgid="1014813055054356646">"Setelan apl"</string>
     <string name="install_applications" msgid="4872012136210802181">"Sumber tidak dikenal"</string>
     <string name="install_applications_title" msgid="4987712352256508946">"Izinkan semua sumber aplikasi"</string>
-    <string name="install_all_warning" product="tablet" msgid="8310489909586138165">"Tablet dan data pribadi lebih rentan terhadap serangan oleh aplikasi yang tidak dikenal. Dengan menginstal aplikasi dari sumber ini, Anda setuju bahwa Anda bertanggung jawab atas kerusakan tablet atau kehilangan data yang mungkin diakibatkan penggunaannya."</string>
-    <string name="install_all_warning" product="default" msgid="1952257127370115988">"Ponsel dan data pribadi lebih rentan terhadap serangan oleh aplikasi yang tidak dikenal. Dengan menginstal aplikasi dari sumber ini, Anda setuju bahwa Anda bertanggung jawab atas kerusakan ponsel atau kehilangan data yang mungkin diakibatkan penggunaannya."</string>
+    <string name="install_all_warning" product="tablet" msgid="8310489909586138165">"Tablet dan data pribadi lebih rentan terhadap serangan oleh aplikasi yang tidak dikenal. Dengan menginstal aplikasi dari sumber ini, Anda setuju bahwa Anda bertanggung jawab atas kerusakan tablet atau kehilangan data yang mungkin terjadi akibat penggunaannya."</string>
+    <string name="install_all_warning" product="default" msgid="1952257127370115988">"Ponsel dan data pribadi lebih rentan terhadap serangan oleh aplikasi yang tidak dikenal. Dengan menginstal aplikasi dari sumber ini, Anda setuju bahwa Anda bertanggung jawab atas kerusakan ponsel atau kehilangan data yang mungkin terjadi akibat penggunaannya."</string>
     <string name="advanced_settings" msgid="1777249286757067969">"Setelan lanjutan"</string>
     <string name="advanced_settings_summary" msgid="4016682978071086747">"Aktifkan opsi setelan yang lain"</string>
     <string name="application_info_label" msgid="5736524913065714880">"Info aplikasi"</string>
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Konsumsi layar"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Pemindaian jaringan seluler"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
@@ -2957,7 +2959,7 @@
     <string name="picture_in_picture_keywords" msgid="8361318686701764690">"masukkan gambar"</string>
     <string name="picture_in_picture_app_detail_title" msgid="4080800421316791732">"Gambar-dalam-gambar"</string>
     <string name="picture_in_picture_app_detail_switch" msgid="1131910667023738296">"Izinkan gambar-dalam-gambar"</string>
-    <string name="picture_in_picture_app_detail_summary" msgid="7942592478427522244">"Mengizinkan aplikasi ini membuat jendela gambar-dalam-gambar saat aplikasi terbuka atau setelah Anda membiarkannya (misalnya, untuk melanjutkan menonton video). Jendela ini ditampilkan di atas aplikasi lain yang sedang digunakan."</string>
+    <string name="picture_in_picture_app_detail_summary" msgid="7942592478427522244">"Mengizinkan aplikasi ini membuat jendela gambar-dalam-gambar saat aplikasi terbuka atau setelah Anda membiarkannya terbuka (misalnya, untuk melanjutkan menonton video). Jendela ini ditampilkan di atas aplikasi lain yang sedang digunakan."</string>
     <string name="picture_in_picture_on" msgid="6103704909710176555">"Ya"</string>
     <string name="picture_in_picture_off" msgid="5654388666434625247">"Tidak"</string>
     <string name="manage_zen_access_title" msgid="2611116122628520522">"Akses Jangan Ganggu"</string>
@@ -3348,7 +3350,7 @@
     <string name="write_settings_off" msgid="5156104383386336233">"Tidak"</string>
     <string name="external_source_trusted" msgid="6857780460845250885">"Ya"</string>
     <string name="external_source_untrusted" msgid="6608922938133896956">"Tidak"</string>
-    <string name="external_source_switch_title" msgid="5581865736984836418">"Izinkan instal aplikasi"</string>
+    <string name="external_source_switch_title" msgid="5581865736984836418">"Izinkan penginstalan aplikasi"</string>
     <string name="camera_gesture_title" msgid="1075838577642393011">"Putar dua kali untuk kamera"</string>
     <string name="camera_gesture_desc" msgid="1831390075255870960">"Membuka aplikasi kamera dengan memutar pergelangan tangan dua kali"</string>
     <string name="camera_double_tap_power_gesture_title" msgid="1651873760405034645">"Tekan tombol daya dua kali untuk kamera"</string>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 449f288..74a3c0e 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Orkunotkun skjásins"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Leit að farsímaneti"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 103bbc9..ba7a4757 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Consumo dello schermo"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Scansione rete mobile"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 23f2861..e2f1532 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -2007,7 +2007,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"צריכת החשמל של המסך"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"סריקה של רשתות סלולריות"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 54ccffc..5dcb5f4 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"画面消費"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"モバイル ネットワークのスキャン"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 5ff47f9..1a8f76c 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"ეკრანის მოხმარება"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"მობილური ქსელის სკანირება"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 3d68e01..697ae03 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Экран жарығына жұмсалатын заряд шығыны"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Мобильдік желіні сканерлеу"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index 6901ca6..0269b98 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"ការប្រើប្រាស់​អេក្រង់"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"ការស្កេន​បណ្ដាញ​ទូរសព្ទ​ចល័ត"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index a228213..831dc03 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"ಪರದೆ ಬಳಕೆ ಮಾಡಿದ್ದು"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"ಮೊಬೈಲ್ ನೆಟ್‌ವರ್ಕ್‌ ಸ್ಕ್ಯಾನ್ ಮಾಡುವುದು"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 920836c..7ca3e9f 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"화면 소비 전력"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"모바일 네트워크 검색"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 191d146..0977565 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -1972,7 +1972,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Экран керектеген кубат"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Мобилдик тармак скандалууда"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 9129333..5dba4cb 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"ການໃຊ້ພະລັງງານໄປກັບໜ້າຈໍ"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"ການສະແກນເຄືອຂ່າຍມືຖື"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 4064762..3075e8c 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -2007,7 +2007,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Ekrano suvartojama energija"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Mobiliojo ryšio tinklo nuskaitymas"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 9ee3333..f802ba6 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -1990,7 +1990,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Ekrāna lietojuma patēriņš"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Mobilo tīklu meklēšana"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 5182626..5dec17f 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Потрошувачка на екранот"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Скенирање мобилна мрежа"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index cf4278b..7f05b0c 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"സ്‌ക്രീൻ ഉപഭോഗം"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"മൊബൈൽ നെറ്റ്‌വർക്ക് സ്‌കാൻ ചെയ്യൽ"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index e5793d6..3d410d5 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Дэлгэцийн хэрэглээ"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Мобайл сүлжээний скан"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 9e23b70..778e186 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"स्क्रीन उपयोग"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"मोबाइल नेटवर्क स्कॅनिंग"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index f10751a..d7df6f2 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Penggunaan skrin"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Pengimbasan rangkaian mudah alih"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 3a9fd3f..392c836 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -585,7 +585,7 @@
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"ရှေ့သို့"</string>
     <string name="lock_setup" msgid="3355847066343753943">"အစီအမံ ပြီးပါပြီ"</string>
     <string name="manage_device_admin" msgid="537804979483211453">"စက်ပစ္စည်း စီမံခန့်ခွဲသူအတွက် အက်ပ်များ"</string>
-    <string name="number_of_device_admins_none" msgid="7185056721919496069">"ပွင့်နေသည့် အက်ပ်တစ်ခုမျှမရှိပါ"</string>
+    <string name="number_of_device_admins_none" msgid="7185056721919496069">"ပွင့်နေသည့်အက်ပ် မရှိပါ"</string>
     <plurals name="number_of_device_admins" formatted="false" msgid="3361891840111523393">
       <item quantity="other">ဖွင့်ထားသည့်အက်ပ် <xliff:g id="COUNT_1">%d</xliff:g> ခု</item>
       <item quantity="one">ဖွင့်ထားသည့်အက်ပ် <xliff:g id="COUNT_0">%d</xliff:g> ခု</item>
@@ -810,7 +810,7 @@
     <string name="no_internet_access_text" msgid="7133561752896706392">"ဤကွန်ယက်တွင် အင်တာနက်ဝင်ရောက်သုံးခွင့် မရှိပါ။ ဆက်လက် ချိတ်ဆက်ထားမည်လား?"</string>
     <string name="no_internet_access_remember" msgid="4697314331614625075">"ဤကွန်ယက်အား ထပ်မံမေးမြန်းခြင်း မပြုရန်"</string>
     <string name="lost_internet_access_title" msgid="6228530645663584505">"Wi-Fi သည် အင်တာနက်နှင့် ချိတ်ဆက်မထားပါ"</string>
-    <string name="lost_internet_access_text" msgid="9029649339816197345">"Wi‑Fi ချိတ်ဆက်မှု မကောင်းသည့်အခါတိုင်း မိုင်းဘိုင်းကွန်ရက်သို့ ပြောင်းလဲ ချိတ်ဆက်နိုင်သည်။ ဒေတာ သုံးစွဲခများ ကျသင့်နိုင်ပါသည်။"</string>
+    <string name="lost_internet_access_text" msgid="9029649339816197345">"Wi‑Fi ချိတ်ဆက်မှု မကောင်းသည့်အခါတိုင်း မိုဘိုင်းကွန်ရက်သို့ ပြောင်းလဲ ချိတ်ဆက်နိုင်သည်။ ဒေတာ သုံးစွဲခများ ကျသင့်နိုင်ပါသည်။"</string>
     <string name="lost_internet_access_switch" msgid="2262459569601190039">"မိုဘိုင်းသို့ ပြောင်းရန်"</string>
     <string name="lost_internet_access_cancel" msgid="338273139419871110">"Wi-Fi ဆက်ချိတ်ထားရန်"</string>
     <string name="lost_internet_access_persist" msgid="7634876061262676255">"လုံးဝ ထပ်မပြပါနှင့်"</string>
@@ -1369,8 +1369,8 @@
     <string name="usb_tethering_turnon_subtext" msgid="4748616058219273033">"ဖွင့်ပေးရန် ချိတ်ဆက်ပါ"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"USBမှတဆင့်ပြန်လည်ချိတ်ဆက်ခြင်း အမှား"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="2379175828878753652">"ဘလူးတုသ်မှတဆင့်ပြန်လည်ချိတ်ဆက်ခြင်း"</string>
-    <string name="bluetooth_tethering_available_subtext" product="tablet" msgid="2092766774943506688">"ဤတက်ဘလက်၏ အင်တာနက်ကို ဘလူးတုသ်မှတစ်ဆင့် မျှဝေနေသည်"</string>
-    <string name="bluetooth_tethering_available_subtext" product="default" msgid="313873759999970236">"ဤဖုန်း၏ အင်တာနက်ကို ဘလူးတုသ်မှတစ်ဆင့် မျှဝေနေသည်"</string>
+    <string name="bluetooth_tethering_available_subtext" product="tablet" msgid="2092766774943506688">"ဤတက်ဘလက်၏ အင်တာနက်ကို ဘလူးတုသ်မှတစ်ဆင့် မျှဝေပါသည်"</string>
+    <string name="bluetooth_tethering_available_subtext" product="default" msgid="313873759999970236">"ဤဖုန်း၏ အင်တာနက်ကို ဘလူးတုသ်မှတစ်ဆင့် မျှဝေပါသည်"</string>
     <string name="bluetooth_tethering_device_connected_subtext" product="tablet" msgid="6388191062495199481">"ဤတက်ဘလက်၏အင်တာနက်ကို စက် ၁ ခုသို့ဘလူးတုသ်မှတစ်ဆင့်မျှဝေနေသည်"</string>
     <string name="bluetooth_tethering_device_connected_subtext" product="default" msgid="5970460338828861091">"ဤဖုန်း၏အင်တာနက်ကို စက် ၁ ခုသို့ ဘလူးတုသ်မှတစ်ဆင့် မျှဝေနေသည်"</string>
     <string name="bluetooth_tethering_devices_connected_subtext" product="tablet" msgid="3253150865825199632">"ဤတက်ဘလက်၏အင်တာနက်ကို စက် <xliff:g id="CONNECTEDDEVICECOUNT">%1$d</xliff:g> ခုသို့ ဘလူးတုသ်မှတစ်ဆင့်မျှဝေနေသည်"</string>
@@ -1531,8 +1531,8 @@
     <string name="applications_settings_header" msgid="1014813055054356646">"အပ်ပလီကေးရှင်းဆက်တင်များ"</string>
     <string name="install_applications" msgid="4872012136210802181">"မူရင်းမသိရသော အရင်းအမြစ်များ"</string>
     <string name="install_applications_title" msgid="4987712352256508946">"အက်ပ်ရင်းမြစ်များ ခွင့်ပြုရန်"</string>
-    <string name="install_all_warning" product="tablet" msgid="8310489909586138165">"သင်၏တက်ဘလက်နှင့် ကိုယ်ရေးကိုယ်တာ အချက်အလက်များကို အမျိုးအမည် မသိသောအက်ပ်များ၏ တိုက်ခိုက်ခြင်းကို ပိုမိုခံရနိုင်ပါသည်။ ဤနေရာမှ ရယူထားသည့် အက်ပ်များကို ထည့်သွင်းအသုံးပြုခြင်းဖြင့် ဖြစ်ပေါ်လာနိုင်သော ဖုန်းပျက်စီးမှု သို့မဟုတ် ဒေတာဆုံးရှုံးမှုများအတွက် သင့်ထံ၌သာ တာဝန်ရှိကြောင်းကို သင်က သဘောတူရာရောက်ပါသည်။"</string>
-    <string name="install_all_warning" product="default" msgid="1952257127370115988">"သင်၏ဖုန်းနှင့် ကိုယ်ရေးကိုယ်တာ အချက်အလက်များကို အမျိုးအမည် မသိသောအက်ပ်များ၏ တိုက်ခိုက်ခြင်းကို ပိုမိုခံရနိုင်ပါသည်။ ဤနေရာမှ ရယူထားသည့် အက်ပ်များကို ထည့်သွင်းအသုံးပြုခြင်းဖြင့် ဖြစ်ပေါ်လာနိုင်သော ဖုန်းပျက်စီးမှု သို့မဟုတ် ဒေတာဆုံးရှုံးမှုများအတွက် သင့်ထံ၌သာ တာဝန်ရှိကြောင်းကို သင်က သဘောတူရာရောက်ပါသည်။"</string>
+    <string name="install_all_warning" product="tablet" msgid="8310489909586138165">"သင်၏တက်ဘလက်နှင့် ကိုယ်ရေးကိုယ်တာ အချက်အလက်များသည် အမျိုးအမည် မသိသောအက်ပ်များ၏ တိုက်ခိုက်ခြင်းကို ပိုမိုခံရနိုင်ပါသည်။ ဤနေရာမှ ရယူထားသည့် အက်ပ်များကို ထည့်သွင်းအသုံးပြုခြင်းဖြင့် ဖြစ်ပေါ်လာနိုင်သော ဖုန်းပျက်စီးမှု သို့မဟုတ် ဒေတာဆုံးရှုံးမှုများအတွက် သင့်ထံ၌သာ တာဝန်ရှိကြောင်းကို သင်က သဘောတူရာရောက်ပါသည်။"</string>
+    <string name="install_all_warning" product="default" msgid="1952257127370115988">"သင်၏ဖုန်းနှင့် ကိုယ်ရေးကိုယ်တာ အချက်အလက်များသည် အမျိုးအမည် မသိသောအက်ပ်များ၏ တိုက်ခိုက်ခြင်းကို ပိုမိုခံရနိုင်ပါသည်။ ဤနေရာမှ ရယူထားသည့် အက်ပ်များကို ထည့်သွင်းအသုံးပြုခြင်းဖြင့် ဖြစ်ပေါ်လာနိုင်သော ဖုန်းပျက်စီးမှု သို့မဟုတ် ဒေတာဆုံးရှုံးမှုများအတွက် သင့်ထံ၌သာ တာဝန်ရှိကြောင်းကို သင်က သဘောတူရာရောက်ပါသည်။"</string>
     <string name="advanced_settings" msgid="1777249286757067969">"အဆင့်မြင့်အပြင်အဆင်များ"</string>
     <string name="advanced_settings_summary" msgid="4016682978071086747">"ပိုမိုပြီးရွေးချယ်နိုင်သော အပြင်အဆင်များ ရရှိခြင်း"</string>
     <string name="application_info_label" msgid="5736524913065714880">"အက်ပ်အချက်အလက်များ"</string>
@@ -1808,7 +1808,7 @@
     <string name="display_category_title" msgid="685461049938269166">"မျက်နှာပြင်ပြသမှု"</string>
     <string name="interaction_control_category_title" msgid="7836591031872839151">"အပြန်အလှန်ဆက်သွယ်ခြင်း ထိန်းချုပ်မှုများ"</string>
     <string name="user_installed_services_category_title" msgid="6426376488922158647">"ဒေါင်းလုဒ်လုပ်ထားသည့် ဝန်ဆောင်မှုများ"</string>
-    <string name="experimental_category_title" msgid="5272318666666893547">"စမ်းသပ်မှု"</string>
+    <string name="experimental_category_title" msgid="5272318666666893547">"စမ်းသပ်ဆဲ"</string>
     <string name="talkback_title" msgid="7912059827205988080">"Talkback"</string>
     <string name="talkback_summary" msgid="8331244650729024963">"မျက်နှာပြင်ဖတ်စနစ်သည် မျက်မမြင်နှင့် မျက်စိမှုန်သူများအတွက် အဓိကဖြစ်ပါသည်"</string>
     <string name="select_to_speak_summary" msgid="4282846695497544515">"သင့်မျက်နှာပြင်ပေါ်ရှိ အရာများကို အသံထွက်ဖတ်စေရန်အတွက် ၎င်းတို့ကို တို့ပါ"</string>
@@ -1820,7 +1820,7 @@
     <skip />
     <!-- no translation found for accessibility_screen_magnification_state_navbar_gesture (2760906043221923793) -->
     <skip />
-    <string name="accessibility_preference_magnification_summary" msgid="5867883657521404509">"မျက်နှာပြင်တွင်ဇူးမ်ဆွဲပါ"</string>
+    <string name="accessibility_preference_magnification_summary" msgid="5867883657521404509">"မျက်နှာပြင် ဇူးမ်ဆွဲပါ"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="3411979839172752057">"ဇူးမ်အသုံးပြုရန် ၃ ကြိမ်တို့ပါ"</string>
     <!-- no translation found for accessibility_screen_magnification_navbar_short_summary (3693116360267980492) -->
     <skip />
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"မျက်နှာပြင် သုံးစွဲမှု"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"မိုဘိုင်းကွန်ရက် ရှာဖွေခြင်း"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
@@ -2957,7 +2959,7 @@
     <string name="picture_in_picture_keywords" msgid="8361318686701764690">"တစ်ခုပေါ်တစ်ခု ထပ်၍ ဖွင့်ခြင်း"</string>
     <string name="picture_in_picture_app_detail_title" msgid="4080800421316791732">"တစ်ခုပေါ်တစ်ခု ထပ်၍ ဖွင့်ခြင်း"</string>
     <string name="picture_in_picture_app_detail_switch" msgid="1131910667023738296">"တစ်ခုပေါ်တစ်ခု ထပ်၍ ခွင့်ပြုရန်"</string>
-    <string name="picture_in_picture_app_detail_summary" msgid="7942592478427522244">"အက်ပ်ပွင့်နေစဉ် သို့မဟုတ် သင်ထွက်လိုက်ချိန်တွင် ဤအက်အား တစ်ခုပေါ် တစ်ခုထပ်၍ဖွင့်ခွင့်ပြုပါ (ဥပမာ  ဗီဒီယိုဆက်ကြည့်ရန်)။ ဤဝင်းဒိုးသည် သင်သုံးနေသော အခြားအက်များ၏ အပေါ်တွင် ပြသပါလိမ့်မည်။"</string>
+    <string name="picture_in_picture_app_detail_summary" msgid="7942592478427522244">"အက်ပ်ပွင့်နေစဉ် သို့မဟုတ် သင်ထွက်လိုက်ချိန်တွင် ဤအက်ပ်အား တစ်ခုပေါ် တစ်ခုထပ်၍ဖွင့်ခွင့်ပြုပါ (ဥပမာ၊  ဗီဒီယိုဆက်ကြည့်ရန်)။ ဤဝင်းဒိုးသည် သင်သုံးနေသော အခြားအက်များ၏ အပေါ်တွင် ပြသပါလိမ့်မည်။"</string>
     <string name="picture_in_picture_on" msgid="6103704909710176555">"Yes"</string>
     <string name="picture_in_picture_off" msgid="5654388666434625247">"No"</string>
     <string name="manage_zen_access_title" msgid="2611116122628520522">"မနှောင့်ယှက်ရန် အသုံးပြုခြင်း"</string>
@@ -3318,7 +3320,7 @@
     <skip />
     <string name="accessibility_lock_screen_progress" msgid="2408292742980383166">"<xliff:g id="COUNT_1">%2$d</xliff:g> ၏<xliff:g id="COUNT_0">%1$d</xliff:g> စကားလုံးအသုံးပြုခဲ့သည်"</string>
     <string name="draw_overlay_title" msgid="7524215631960029502">"အခြားအက်ပ်များ အပေါ်တွင်ပြသနိုင်သော အက်ပ်များ"</string>
-    <string name="draw_overlay" msgid="6564116025404257047">"အခြားအက်ပ်များအပေါ်တွင် ပြသခြင်း"</string>
+    <string name="draw_overlay" msgid="6564116025404257047">"အခြားအက်ပ်ပေါ်တွင် ပြသခြင်း"</string>
     <string name="system_alert_window_settings" msgid="8466613169103527868">"အခြားအက်ပ်များအပေါ်တွင် ပြသခွင့် ပြုခြင်း"</string>
     <string name="system_alert_window_apps_title" msgid="7005760279028569491">"အက်ပ်များ"</string>
     <string name="system_alert_window_access_title" msgid="6297115362542361241">"အခြားအက်ပ်များအပေါ်တွင် ပြသခွင့် ပြုခြင်း"</string>
@@ -3326,14 +3328,14 @@
     <string name="app_overlay_permission_preference" msgid="9039432222453006038">"အက်ပ်ကို အပေါ်ဆုံးတွင် ပြသခွင့်"</string>
     <string name="allow_overlay_description" msgid="3879905262954599959">"ဤလုပ်ဆောင်ချက်သည် အက်ပ်တစ်ခုကို သင်သုံးနေသော အခြားအက်ပ်များအပေါ်မှ ပြသခွင့်ပြုသည်။ ၎င်းက ထိုအက်ပ်များအသုံးပြုရာတွင် အနှောင့်အယှက်ဖြစ်စေနိုင်ပါသည် သို့မဟုတ် ၎င်းတို့၏ အသွင်အပြင် သို့မဟုတ် အပြုအမူတို့ကို ပြောင်းလဲစေနိုင်ပါသည်။"</string>
     <string name="keywords_vr_listener" msgid="7441221822576384680">"vr ပကတိအသွင် နားထောင်မှုစနစ် စတီရီယိုအထောက်အကူပြု ဝန်ဆောင်မှု"</string>
-    <string name="keywords_system_alert_window" msgid="5049498015597864850">"စနစ်သတိပေးချက် အကွက်ကို အခြားအက်ပ်များအပေါ်တွင် ပြသပါမည်"</string>
-    <string name="overlay_settings" msgid="6930854109449524280">"အခြားအက်ပ်များ အပေါ်မှပြသခြင်း"</string>
+    <string name="keywords_system_alert_window" msgid="5049498015597864850">"စနစ်သတိပေးချက် ဝင်းဒိုး အကွက် အခြားအက်ပ်များအပေါ် ပြသ"</string>
+    <string name="overlay_settings" msgid="6930854109449524280">"အခြားအက်ပ်များပေါ်မှ ပြသခြင်း"</string>
     <string name="system_alert_window_summary" msgid="602892301318324492">"အက်ပ် <xliff:g id="COUNT_1">%2$d</xliff:g> ခုအနက်မှ <xliff:g id="COUNT_0">%1$d</xliff:g> ခုသည် အခြားအက်ပ်များပေါ်တွင် ပြသခွင့်ပြုသည်"</string>
     <string name="filter_overlay_apps" msgid="6965969283342557573">"ခွင့်ပြုချက်များဖြင့် အပ်ဖ်များ"</string>
     <string name="system_alert_window_on" msgid="2939489395109048888">"Yes"</string>
     <string name="system_alert_window_off" msgid="6189115687233061992">"No"</string>
     <string name="install_other_apps" msgid="6986686991775883017">"အမျိုးအမည်မသိသော အက်ပ်များကို ထည့်သွင်းခြင်း"</string>
-    <string name="keywords_install_other_apps" msgid="761078076051006558">"မူရင်းမသိရှိ​သော အရင်းအမြစ်မှ အက်ပ်များကို ထည့်သွင်းခြင်း"</string>
+    <string name="keywords_install_other_apps" msgid="761078076051006558">"မူရင်းမသိ အရင်းအမြစ် အက်ပ်များ ထည့်သွင်း"</string>
     <string name="write_settings" msgid="4797457275727195681">"စနစ်ချိန်ညှိချက်များကို ပြန်ပြင်ရန်"</string>
     <string name="keywords_write_settings" msgid="6415597272561105138">"စနစ်ချိန်ညှိချက်များကို ရေးသားပြုပြင်မည်"</string>
     <string name="write_settings_summary" msgid="4302268998611412696">"<xliff:g id="COUNT_1">%2$d</xliff:g> ၏ <xliff:g id="COUNT_0">%1$d</xliff:g> အပ်ဖ်များကို စနစ်ချိန်ညှချက်များအား ပြန်ပြင်ရန် ခွင့်ပြုသည်"</string>
@@ -3648,7 +3650,7 @@
     <!-- no translation found for auto_sync_account_summary (692499211629185107) -->
     <skip />
     <string name="account_sync_title" msgid="7214747784136106491">"အကောင့်ကို စင့်ခ်လုပ်ရန်"</string>
-    <string name="enterprise_privacy_settings" msgid="1177106810374146496">"စီမန်ခန့်ခွဲထားသည့် စက်ပစ္စည်း၏ အချက်အလက်များ"</string>
+    <string name="enterprise_privacy_settings" msgid="1177106810374146496">"စီမံခန့်ခွဲထားသည့် စက်ပစ္စည်း၏ အချက်အလက်များ"</string>
     <string name="enterprise_privacy_settings_summary_generic" msgid="5853292305730761128">"သင်၏ အဖွဲ့အစည်းက စီမံခန့်ခွဲထားသည့် အပြောင်းအလဲများနှင့် ဆက်တင်များ"</string>
     <string name="enterprise_privacy_settings_summary_with_name" msgid="4266234968317996188">"<xliff:g id="ORGANIZATION_NAME">%s</xliff:g> က စီမံခန့်ခွဲထားသည့် အပြောင်းအလဲများနှင့် ဆက်တင်များ"</string>
     <string name="enterprise_privacy_header" msgid="7402406406883832509">"အလုပ်ဒေတာများကို အသုံးပြုခွင့်ပေးရန် သင့်အဖွဲ့အစည်းက သင်၏စက်ပစ္စည်းထဲသို့ ဆော့ဖ်ဝဲထည့်သွင်းခြင်းနှင့် ဆက်တင်များပြောင်းခြင်းတို့ကို ပြုလုပ်နိုင်ပါသည်။\n\nအသေးစိတ် သိရှိလိုပါက သင့်အဖွဲ့အစည်း၏ စီမံခန့်ခွဲသူကို ဆက်သွယ်ပါ။"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 2758515..60f7796 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Strømforbruk fra skjermen"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Skanning etter mobilnettverk"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index e3abbb1..f51c342 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"स्क्रिनले गरेको पावरको खपत"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"मोबाइल नेटवर्क स्क्यान गर्ने कार्य"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index d7aad96..f05abb3 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Schermverbruik"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Scannen naar mobiele netwerken"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 39ce923..dc11370 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"ਸਕ੍ਰੀਨ ਖਪਤ"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ ਸਕੈਨਿੰਗ"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index a141f13..4d35182 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -2007,7 +2007,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Zużycie przez ekran"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Skanowanie sieci komórkowej"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index cc82661..3d95690 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Consumo da tela"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Verificação de rede móvel"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 91c4daf..9c34cbc 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -1369,15 +1369,15 @@
     <string name="usb_tethering_turnon_subtext" msgid="4748616058219273033">"Ligar para ativar"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Erro na associação USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="2379175828878753652">"Ligação Bluetooth"</string>
-    <string name="bluetooth_tethering_available_subtext" product="tablet" msgid="2092766774943506688">"A partilhar ligação Internet tablet por Bluetooth"</string>
-    <string name="bluetooth_tethering_available_subtext" product="default" msgid="313873759999970236">"A partilhar ligação Internet telem. por Bluetooth"</string>
-    <string name="bluetooth_tethering_device_connected_subtext" product="tablet" msgid="6388191062495199481">"A partilhar ligação Internet tablet com 1 disp. por Bluetooth"</string>
-    <string name="bluetooth_tethering_device_connected_subtext" product="default" msgid="5970460338828861091">"A partilhar ligação Internet telem. com 1 disp. por Bluetooth"</string>
+    <string name="bluetooth_tethering_available_subtext" product="tablet" msgid="2092766774943506688">"A partilhar a ligação de Internet do tablet por Bluetooth"</string>
+    <string name="bluetooth_tethering_available_subtext" product="default" msgid="313873759999970236">"A partilhar a ligação de Internet do telemóvel por Bluetooth"</string>
+    <string name="bluetooth_tethering_device_connected_subtext" product="tablet" msgid="6388191062495199481">"A partilhar a ligação de Internet do tablet com 1 dispositivo por Bluetooth"</string>
+    <string name="bluetooth_tethering_device_connected_subtext" product="default" msgid="5970460338828861091">"A partilhar a ligação de Internet do telemóvel com 1 dispositivo por Bluetooth"</string>
     <string name="bluetooth_tethering_devices_connected_subtext" product="tablet" msgid="3253150865825199632">"A partilhar ligação Internet tablet com <xliff:g id="CONNECTEDDEVICECOUNT">%1$d</xliff:g> disp. por Bluetooth"</string>
     <string name="bluetooth_tethering_devices_connected_subtext" product="default" msgid="8268867745495039177">"A partilhar ligação Internet telem. com <xliff:g id="CONNECTEDDEVICECOUNT">%1$d</xliff:g> disp. por Bluetooth"</string>
-    <string name="bluetooth_tethering_off_subtext_config" msgid="6326877798974938021">"A partilhar ligação Internet deste <xliff:g id="DEVICE_NAME">%1$d</xliff:g> por Bluetooth"</string>
-    <string name="bluetooth_tethering_off_subtext" product="tablet" msgid="1889565070769307732">"Não partilhar ligação Internet tablet por Bluetooth"</string>
-    <string name="bluetooth_tethering_off_subtext" product="default" msgid="1838503633450298902">"Não partilhar ligação Internet telem. por Bluetooth"</string>
+    <string name="bluetooth_tethering_off_subtext_config" msgid="6326877798974938021">"A partilhar a ligação de Internet deste <xliff:g id="DEVICE_NAME">%1$d</xliff:g> por Bluetooth"</string>
+    <string name="bluetooth_tethering_off_subtext" product="tablet" msgid="1889565070769307732">"Não partilhar a ligação de Internet deste tablet por Bluetooth"</string>
+    <string name="bluetooth_tethering_off_subtext" product="default" msgid="1838503633450298902">"Não partilhar a ligação de Internet deste telemóvel por Bluetooth"</string>
     <string name="bluetooth_tethering_errored_subtext" msgid="4926566308991142264">"Não ligado"</string>
     <string name="bluetooth_tethering_overflow_error" msgid="2135590598511178690">"Não é possível ligar mais de <xliff:g id="MAXCONNECTION">%1$d</xliff:g> aparelhos."</string>
     <string name="bluetooth_untether_blank" msgid="2871192409329334813">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> será desligado."</string>
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Consumo do ecrã"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Procura de redes móveis"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index cc82661..3d95690 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Consumo da tela"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Verificação de rede móvel"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index d7eba5e..0c04c6f 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -1990,7 +1990,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Consumul ecranului"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Scanarea rețelei mobile"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 3a06245..313894a 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -2007,7 +2007,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Потребление энергии экраном"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Сканирование мобильной сети"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index ce3bd35..af6e185 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"තිර පරිභෝජනය"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"ජංගම ජාල පරිලෝකනය කරමින්"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index dd1a75b..45b3c14 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -2007,7 +2007,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Spotreba obrazovkou"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Vyhľadávanie mobilnej siete"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 5160f24..58857bc 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -1377,7 +1377,7 @@
     <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Prenosna dostopna točka"</string>
     <string name="tether_settings_title_bluetooth" msgid="355855408317564420">"Internet prek Bluetootha"</string>
     <string name="tether_settings_title_usb_bluetooth" msgid="5355828977109785001">"Internet prek mob. napr."</string>
-    <string name="tether_settings_title_all" msgid="3058586928118801157">"Dostopna točka in povezava z internetom"</string>
+    <string name="tether_settings_title_all" msgid="3058586928118801157">"Dostopna točka in skupna raba mobilnega interneta"</string>
     <string name="tether_settings_summary_hotspot_on_tether_on" msgid="930464462687425777">"Dostopna točka je vklopljena, internetna povezava prek telefona"</string>
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="3473671453891735907">"Dostopna točka je vklopljena"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="1618256180720077354">"Internetna povezava prek telefona"</string>
@@ -1391,15 +1391,15 @@
     <string name="usb_tethering_turnon_subtext" msgid="4748616058219273033">"Za vklop se povežite"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Zaradi povezave USB je prišlo do napake internetne povezave prek telefona"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="2379175828878753652">"Internet prek Bluetootha"</string>
-    <string name="bluetooth_tethering_available_subtext" product="tablet" msgid="2092766774943506688">"Skup. raba intern. pov. tabl. rač. prek Bluetootha"</string>
-    <string name="bluetooth_tethering_available_subtext" product="default" msgid="313873759999970236">"Skup. raba intern. pov. telefona prek Bluetootha"</string>
-    <string name="bluetooth_tethering_device_connected_subtext" product="tablet" msgid="6388191062495199481">"Skup. raba intern. pov. tabl. rač. z 1 nap. prek Bluetootha"</string>
-    <string name="bluetooth_tethering_device_connected_subtext" product="default" msgid="5970460338828861091">"Skup. raba intern. pov. telefona z 1 nap. prek Bluetootha"</string>
-    <string name="bluetooth_tethering_devices_connected_subtext" product="tablet" msgid="3253150865825199632">"Skup. raba inter. pov. tab. rač. z več (<xliff:g id="CONNECTEDDEVICECOUNT">%1$d</xliff:g>) nap. prek Bluetootha"</string>
-    <string name="bluetooth_tethering_devices_connected_subtext" product="default" msgid="8268867745495039177">"Skup. raba intern. pov. tel. z več (<xliff:g id="CONNECTEDDEVICECOUNT">%1$d</xliff:g>) nap. prek Bluetootha"</string>
-    <string name="bluetooth_tethering_off_subtext_config" msgid="6326877798974938021">"Skupna raba intern. pov. naprave <xliff:g id="DEVICE_NAME">%1$d</xliff:g> prek Bluetootha"</string>
-    <string name="bluetooth_tethering_off_subtext" product="tablet" msgid="1889565070769307732">"Brez skup. rabe inter. pov. tab. rač. prek Bluetootha"</string>
-    <string name="bluetooth_tethering_off_subtext" product="default" msgid="1838503633450298902">"Brez skupne rabe intern. pov. tel. prek Bluetootha"</string>
+    <string name="bluetooth_tethering_available_subtext" product="tablet" msgid="2092766774943506688">"Deljenje internetne povezave tabličnega računalnika prek Bluetootha"</string>
+    <string name="bluetooth_tethering_available_subtext" product="default" msgid="313873759999970236">"Deljenje internetne povezave telefona prek Bluetootha"</string>
+    <string name="bluetooth_tethering_device_connected_subtext" product="tablet" msgid="6388191062495199481">"Deljenje internetne povezave tabličnega računalnika z 1 napravo prek Bluetootha"</string>
+    <string name="bluetooth_tethering_device_connected_subtext" product="default" msgid="5970460338828861091">"Deljenje internetne povezave telefona z 1 napravo prek Bluetootha"</string>
+    <string name="bluetooth_tethering_devices_connected_subtext" product="tablet" msgid="3253150865825199632">"Deljenje internetne povezave tabličnega računalnika z več (<xliff:g id="CONNECTEDDEVICECOUNT">%1$d</xliff:g>) napravami prek Bluetootha"</string>
+    <string name="bluetooth_tethering_devices_connected_subtext" product="default" msgid="8268867745495039177">"Deljenje internetne povezave telefona z več (<xliff:g id="CONNECTEDDEVICECOUNT">%1$d</xliff:g>) napravami prek Bluetootha"</string>
+    <string name="bluetooth_tethering_off_subtext_config" msgid="6326877798974938021">"Deljenje internetne poezave naprave <xliff:g id="DEVICE_NAME">%1$d</xliff:g> prek Bluetootha"</string>
+    <string name="bluetooth_tethering_off_subtext" product="tablet" msgid="1889565070769307732">"Brez deljenja internetne povezave tabličnega računalnika prek Bluetootha"</string>
+    <string name="bluetooth_tethering_off_subtext" product="default" msgid="1838503633450298902">"Brez deljenja internetne povezave telefona prek Bluetootha"</string>
     <string name="bluetooth_tethering_errored_subtext" msgid="4926566308991142264">"Ni povezave"</string>
     <string name="bluetooth_tethering_overflow_error" msgid="2135590598511178690">"Internetna povezava ni mogoča z več kot <xliff:g id="MAXCONNECTION">%1$d</xliff:g> naprav."</string>
     <string name="bluetooth_untether_blank" msgid="2871192409329334813">"Internetna povezava z napravo <xliff:g id="DEVICE_NAME">%1$s</xliff:g> bo prekinjena."</string>
@@ -2007,7 +2007,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Poraba zaslona"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Pregledovanje mobilnih omrežij"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
@@ -3381,7 +3383,7 @@
     <string name="system_alert_window_apps_title" msgid="7005760279028569491">"Aplikacije"</string>
     <string name="system_alert_window_access_title" msgid="6297115362542361241">"Prekrivanje drugih aplikacij"</string>
     <string name="permit_draw_overlay" msgid="7456536798718633432">"Dovoli prekrivanje drugih aplikacij"</string>
-    <string name="app_overlay_permission_preference" msgid="9039432222453006038">"Dovoljenje za prikaz aplikacije nad drugimi"</string>
+    <string name="app_overlay_permission_preference" msgid="9039432222453006038">"Dovoljenje za prikaz aplikacije čez druge"</string>
     <string name="allow_overlay_description" msgid="3879905262954599959">"Ta funkcija omogoča, da aplikacija prekrije druge aplikacije, ki jih uporabljate. To lahko vpliva na uporabo teh aplikacij ali spremeni njihov običajen videz ali delovanje."</string>
     <string name="keywords_vr_listener" msgid="7441221822576384680">"vr navidezna resničnost poslušalec stereo storitev za pomoč"</string>
     <string name="keywords_system_alert_window" msgid="5049498015597864850">"sistemsko opozorilo pogovorno okno prikaz s prekrivanjem drugih aplikacij"</string>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 926328d..41bdcb2 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Konsumi i ekranit"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Skanimi i rrjetit celular"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 441b2e8..4027029 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -1990,7 +1990,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Потрошња за екран"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Скенирање мобилних мрежа"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
@@ -3355,14 +3357,14 @@
     <string name="app_overlay_permission_preference" msgid="9039432222453006038">"Дозвола за приказ апликације преко нечега"</string>
     <string name="allow_overlay_description" msgid="3879905262954599959">"Ова функција омогућава апликацији да се приказује преко других апликација које користите. Може да омета коришћење тих апликација или да промени њихов изглед или понашање."</string>
     <string name="keywords_vr_listener" msgid="7441221822576384680">"вр виртуелна реалност обрађивач услуга стерео помагача"</string>
-    <string name="keywords_system_alert_window" msgid="5049498015597864850">"систем, обавештење, прозор, дијалог, приказ преко других апликација"</string>
+    <string name="keywords_system_alert_window" msgid="5049498015597864850">"систем обавештење прозор дијалог приказ преко других апликација"</string>
     <string name="overlay_settings" msgid="6930854109449524280">"Приказ преко других апликација"</string>
     <string name="system_alert_window_summary" msgid="602892301318324492">"Апликације са дозволом за приказ преко других: <xliff:g id="COUNT_0">%1$d</xliff:g> од <xliff:g id="COUNT_1">%2$d</xliff:g>"</string>
     <string name="filter_overlay_apps" msgid="6965969283342557573">"Апликације са дозволом"</string>
     <string name="system_alert_window_on" msgid="2939489395109048888">"Да"</string>
     <string name="system_alert_window_off" msgid="6189115687233061992">"Не"</string>
     <string name="install_other_apps" msgid="6986686991775883017">"Инсталирајте непознате апликације"</string>
-    <string name="keywords_install_other_apps" msgid="761078076051006558">"инсталирај апликације, непознати извори"</string>
+    <string name="keywords_install_other_apps" msgid="761078076051006558">"инсталирање апликације непознати извори"</string>
     <string name="write_settings" msgid="4797457275727195681">"Мењање подешавања система"</string>
     <string name="keywords_write_settings" msgid="6415597272561105138">"уписивати мењати систем подешавања"</string>
     <string name="write_settings_summary" msgid="4302268998611412696">"<xliff:g id="COUNT_0">%1$d</xliff:g> од <xliff:g id="COUNT_1">%2$d</xliff:g> аплик. има(ју) дозволу за измену подешавања система"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 7ef389a..ce44f02 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Skärmens förbrukning"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Genomsökning av mobilnätverk"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 334dbe8..66cd1b1 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Kutumia skrini"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Kutafuta mitandao ya simu"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index ade266b..5bdb1f4 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -585,8 +585,7 @@
     <string name="lockpattern_tutorial_continue_label" msgid="3559793618653400434">"அடுத்து"</string>
     <string name="lock_setup" msgid="3355847066343753943">"அமைக்கப்பட்டது."</string>
     <string name="manage_device_admin" msgid="537804979483211453">"சாதன நிர்வாகிப் பயன்பாடுகள்"</string>
-    <!-- no translation found for number_of_device_admins_none (7185056721919496069) -->
-    <skip />
+    <string name="number_of_device_admins_none" msgid="7185056721919496069">"பயன்பாடுகள் எதுவும் செயலில் இல்லை"</string>
     <plurals name="number_of_device_admins" formatted="false" msgid="3361891840111523393">
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> பயன்பாடுகள் செயலில் உள்ளன</item>
       <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> பயன்பாடு செயலில் உள்ளது</item>
@@ -711,8 +710,7 @@
     <string name="wifi_poor_network_detection" msgid="4925789238170207169">"வேகம் குறைந்த இணைப்புகளைத் தவிர்"</string>
     <string name="wifi_poor_network_detection_summary" msgid="2784135142239546291">"சிறப்பான இணைய இணைப்பைப் பெறும் வரை வைஃபை நெட்வொர்க்கைப் பயன்படுத்தாதே"</string>
     <string name="wifi_avoid_poor_network_detection_summary" msgid="4674423884870027498">"நல்ல இணைய இணைப்பு கொண்ட நெட்வொர்க்குகளை மட்டும் பயன்படுத்து"</string>
-    <!-- no translation found for use_open_wifi_automatically_title (6851951242903078588) -->
-    <skip />
+    <string name="use_open_wifi_automatically_title" msgid="6851951242903078588">"திறந்த நெட்வொர்க்குகளுடன் இணை"</string>
     <!-- no translation found for use_open_wifi_automatically_summary (2982091714252931713) -->
     <skip />
     <string name="wifi_install_credentials" msgid="3551143317298272860">"சான்றிதழ்களை நிறுவு"</string>
@@ -812,8 +810,7 @@
     <string name="no_internet_access_text" msgid="7133561752896706392">"இந்த நெட்வொர்க்கில் இணைய அணுகல் இல்லை. இணைந்திருக்கவா?"</string>
     <string name="no_internet_access_remember" msgid="4697314331614625075">"இந்த நெட்வொர்க்கை மீண்டும் உறுதிப்படுத்தக் கேட்காதே"</string>
     <string name="lost_internet_access_title" msgid="6228530645663584505">"வைஃபையில் இணைய இணைப்பு இல்லை"</string>
-    <!-- no translation found for lost_internet_access_text (9029649339816197345) -->
-    <skip />
+    <string name="lost_internet_access_text" msgid="9029649339816197345">"வைஃபை இணைப்பு மோசமாக இருக்கும் போது, மொபைல் நெட்வொர்க்கிற்கு மாற்றிக்கொள்ளலாம். தரவு உபயோகத்திற்குக் கட்டணம் விதிக்கப்படலாம்."</string>
     <string name="lost_internet_access_switch" msgid="2262459569601190039">"மொபைல் நெட்வொர்க்கிற்கு மாறு"</string>
     <string name="lost_internet_access_cancel" msgid="338273139419871110">"வைஃபையில் தொடர்க"</string>
     <string name="lost_internet_access_persist" msgid="7634876061262676255">"இனி ஒருபோதும் காட்டாதே"</string>
@@ -865,21 +862,16 @@
     <string name="wifi_tether_checkbox_text" msgid="1847167643625779136">"போர்ட்டபில் வைஃபை ஹாட்ஸ்பாட்"</string>
     <string name="wifi_hotspot_checkbox_text" msgid="7763495093333664887">"வைஃபை ஹாட்ஸ்பாட்"</string>
     <string name="wifi_hotspot_checkbox_text_summary" msgid="5347703013899354452">"வைஃபை நெட்வொர்க்கை வழங்க மொபைல் இணைப்பைப் பயன்படுத்து"</string>
-    <!-- no translation found for wifi_hotspot_off_subtext (2745508221200463254) -->
-    <skip />
-    <!-- no translation found for wifi_hotspot_off_subtext (7746761268472599794) -->
-    <skip />
+    <string name="wifi_hotspot_off_subtext" product="tablet" msgid="2745508221200463254">"ஹாட்ஸ்பாட் மூலம் டேப்லெட்டின் இணைய இணைப்பைப் பகிரவில்லை"</string>
+    <string name="wifi_hotspot_off_subtext" product="default" msgid="7746761268472599794">"ஹாட்ஸ்பாட் மூலம் மொபைலின் இணைய இணைப்பைப் பகிரவில்லை"</string>
     <string name="wifi_tether_starting" msgid="1322237938998639724">"ஹாட்ஸ்பாட்டை இயக்குகிறது…"</string>
     <string name="wifi_tether_stopping" msgid="4835852171686388107">"ஹாட்ஸ்பாட்டை முடக்குகிறது…"</string>
-    <!-- no translation found for wifi_tether_enabled_subtext (7842111748046063857) -->
-    <skip />
+    <string name="wifi_tether_enabled_subtext" msgid="7842111748046063857">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> செயலில் உள்ளது"</string>
     <string name="wifi_tether_failed_subtext" msgid="1484941858530919002">"போர்ட்டபில் வைஃபை ஹாட்ஸ்பாட் பிழை"</string>
     <string name="wifi_tether_configure_ap_text" msgid="7974681394041609308">"வைஃபை ஹாட்ஸ்பாட்டை அமை"</string>
     <string name="wifi_hotspot_configure_ap_text" msgid="5478614731464220432">"வைஃபை ஹாட்ஸ்பாட் அமைவு"</string>
-    <!-- no translation found for wifi_hotspot_configure_ap_text_summary (5560680057727007011) -->
-    <skip />
-    <!-- no translation found for wifi_tether_configure_subtext (2050196439900426456) -->
-    <skip />
+    <string name="wifi_hotspot_configure_ap_text_summary" msgid="5560680057727007011">"AndroidAP WPA2 PSK ஹாட்ஸ்பாட்"</string>
+    <string name="wifi_tether_configure_subtext" msgid="2050196439900426456">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> ஹாட்ஸ்பாட்"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string>
     <string name="wifi_calling_settings_title" msgid="4102921303993404577">"வைஃபை அழைப்பு"</string>
     <string name="wifi_calling_suggestion_title" msgid="9008010480466359578">"வைஃபை அழைப்பை இயக்கு"</string>
@@ -1026,8 +1018,7 @@
     <string name="night_display_auto_mode_twilight" msgid="2123345097508167094">"சூரிய அஸ்தமனம் - சூரிய உதயம்"</string>
     <string name="night_display_start_time_title" msgid="8918016772613689584">"தொடக்க நேரம்"</string>
     <string name="night_display_end_time_title" msgid="8286061578083519350">"முடிவு நேரம்"</string>
-    <!-- no translation found for night_display_temperature_title (1435292789272017136) -->
-    <skip />
+    <string name="night_display_temperature_title" msgid="1435292789272017136">"ஒளிச்செறிவு"</string>
     <string name="night_display_summary_off" msgid="7009821232380000786">"முடக்கத்தில் உள்ளது. <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="night_display_summary_off_auto_mode_never" msgid="2305501561697289620">"ஒருபோதும் தானாக இயக்கப்படாது."</string>
     <string name="night_display_summary_off_auto_mode_custom" msgid="1548073080728058384">"<xliff:g id="ID_1">%1$s</xliff:g>க்குத் தானாக இயக்கப்படும்."</string>
@@ -1250,8 +1241,7 @@
     <string name="storage_detail_dialog_other" msgid="8907101974576694793">"பயன்பாடுகள் சேமித்த பகிர்ந்த கோப்புகள், இணையம் அல்லது புளூடூத்திலிருந்து இறக்கிய கோப்புகள், Android கோப்புகள் போன்றவை மற்றவையில் அடங்கும். \n\n<xliff:g id="NAME">^1</xliff:g> இன் பார்க்கக்கூடிய உள்ளடக்கத்தைப் பார்க்க, உலாவுக என்பதைத் தட்டவும்."</string>
     <!-- no translation found for storage_detail_dialog_system (862835644848361569) -->
     <skip />
-    <!-- no translation found for storage_detail_dialog_user (3267254783294197804) -->
-    <skip />
+    <string name="storage_detail_dialog_user" msgid="3267254783294197804">"<xliff:g id="USER_0">^1</xliff:g> சேமிப்பகத்தின் <xliff:g id="SIZE">^2</xliff:g> அளவைப் பயன்படுத்தி, படங்கள், இசை, பயன்பாடுகள் அல்லது பிற தரவைச் சேமித்திருக்கலாம். \n\nவிவரங்களைப் பார்க்க, <xliff:g id="USER_1">^1</xliff:g>க்கு மாறவும்."</string>
     <string name="storage_wizard_init_title" msgid="5085400514028585772">"<xliff:g id="NAME">^1</xliff:g>ஐ அமைக்கவும்"</string>
     <string name="storage_wizard_init_external_title" msgid="4867326438945303598">"கையடக்க சேமிப்பகமாகப் பயன்படுத்தவும்"</string>
     <string name="storage_wizard_init_external_summary" msgid="7476105886344565074">"சாதனங்களுக்கிடையே படங்களையும் பிற மீடியாவையும் நகர்த்தலாம்."</string>
@@ -1365,8 +1355,7 @@
     <string name="tether_settings_title_wifi" msgid="3277144155960302049">"போர்ட்டபிள் ஹாட்ஸ்பாட்"</string>
     <string name="tether_settings_title_bluetooth" msgid="355855408317564420">"புளூடூத் டெதெரிங்"</string>
     <string name="tether_settings_title_usb_bluetooth" msgid="5355828977109785001">"டெதெரிங்"</string>
-    <!-- no translation found for tether_settings_title_all (3058586928118801157) -->
-    <skip />
+    <string name="tether_settings_title_all" msgid="3058586928118801157">"ஹாட்ஸ்பாட்டும் இணைப்பு முறையும்"</string>
     <string name="tether_settings_summary_hotspot_on_tether_on" msgid="930464462687425777">"ஹாட்ஸ்பாட்டும் இணைப்பு முறையும் இயக்கத்திலுள்ளன"</string>
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="3473671453891735907">"ஹாட்ஸ்பாட் இயக்கத்திலுள்ளது"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="1618256180720077354">"இணைப்பு முறை"</string>
@@ -1380,32 +1369,21 @@
     <string name="usb_tethering_turnon_subtext" msgid="4748616058219273033">"இயக்க இணைக்கவும்"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"USB டெதெரிங் பிழை"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="2379175828878753652">"புளூடூத் டெதெரிங்"</string>
-    <!-- no translation found for bluetooth_tethering_available_subtext (2092766774943506688) -->
-    <skip />
-    <!-- no translation found for bluetooth_tethering_available_subtext (313873759999970236) -->
-    <skip />
-    <!-- no translation found for bluetooth_tethering_device_connected_subtext (6388191062495199481) -->
-    <skip />
-    <!-- no translation found for bluetooth_tethering_device_connected_subtext (5970460338828861091) -->
-    <skip />
-    <!-- no translation found for bluetooth_tethering_devices_connected_subtext (3253150865825199632) -->
-    <skip />
-    <!-- no translation found for bluetooth_tethering_devices_connected_subtext (8268867745495039177) -->
-    <skip />
-    <!-- no translation found for bluetooth_tethering_off_subtext_config (6326877798974938021) -->
-    <skip />
-    <!-- no translation found for bluetooth_tethering_off_subtext (1889565070769307732) -->
-    <skip />
-    <!-- no translation found for bluetooth_tethering_off_subtext (1838503633450298902) -->
-    <skip />
+    <string name="bluetooth_tethering_available_subtext" product="tablet" msgid="2092766774943506688">"புளூடூத் மூலம் டேப்லெட்டின் இணைய இணைப்பை பகிர்கிறது"</string>
+    <string name="bluetooth_tethering_available_subtext" product="default" msgid="313873759999970236">"புளூடூத் மூலம் மொபைலின் இணைய இணைப்பைப் பகிர்கிறது"</string>
+    <string name="bluetooth_tethering_device_connected_subtext" product="tablet" msgid="6388191062495199481">"புளூடூத் மூலம் டேப்லெட்டின் இணைய இணைப்பை 1 சாதனத்துடன் பகிர்கிறது"</string>
+    <string name="bluetooth_tethering_device_connected_subtext" product="default" msgid="5970460338828861091">"புளூடூத் மூலம் மொபைலின் இணைய இணைப்பை 1 சாதனத்துடன் பகிர்கிறது"</string>
+    <string name="bluetooth_tethering_devices_connected_subtext" product="tablet" msgid="3253150865825199632">"புளூடூத் மூலம் டேப்லெட்டின் இணைய இணைப்பை <xliff:g id="CONNECTEDDEVICECOUNT">%1$d</xliff:g> சாதனங்களுடன் பகிர்கிறது"</string>
+    <string name="bluetooth_tethering_devices_connected_subtext" product="default" msgid="8268867745495039177">"புளூடூத் மூலம் மொபைலின் இணைய இணைப்பை <xliff:g id="CONNECTEDDEVICECOUNT">%1$d</xliff:g> சாதனங்களுடன் பகிர்கிறது"</string>
+    <string name="bluetooth_tethering_off_subtext_config" msgid="6326877798974938021">"புளூடூத் மூலம் <xliff:g id="DEVICE_NAME">%1$d</xliff:g> இன் இணைய இணைப்பைப் பகிரவில்லை"</string>
+    <string name="bluetooth_tethering_off_subtext" product="tablet" msgid="1889565070769307732">"புளூடூத் மூலம் டேப்லெட்டின் இணைய இணைப்பை பகிரவில்லை"</string>
+    <string name="bluetooth_tethering_off_subtext" product="default" msgid="1838503633450298902">"புளூடூத் மூலம் மொபைலின் இணைய இணைப்பைப் பகிரவில்லை"</string>
     <string name="bluetooth_tethering_errored_subtext" msgid="4926566308991142264">"இணைக்கப்படவில்லை"</string>
     <string name="bluetooth_tethering_overflow_error" msgid="2135590598511178690">"<xliff:g id="MAXCONNECTION">%1$d</xliff:g> சாதனங்களுக்கு மேல் இணைக்க முடியாது."</string>
     <string name="bluetooth_untether_blank" msgid="2871192409329334813">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> இன் இணைப்புமுறை நீக்கப்படும்."</string>
-    <!-- no translation found for tethering_footer_info (7287131664937054043) -->
-    <skip />
+    <string name="tethering_footer_info" msgid="7287131664937054043">"மொபைல் தரவு இணைப்பு வழியாக பிற சாதனங்களுக்கு இணையத்தை வழங்க, ஹாட்ஸ்பாட் மற்றும் இணைப்பு முறையைப் பயன்படுத்தவும்."</string>
     <string name="tethering_help_button_text" msgid="656117495547173630">"உதவி"</string>
-    <!-- no translation found for network_settings_title (2876509814832830757) -->
-    <skip />
+    <string name="network_settings_title" msgid="2876509814832830757">"மொபைல் நெட்வொர்க்"</string>
     <string name="manage_mobile_plan_title" msgid="7630170375010107744">"மொபைல் திட்டம்"</string>
     <string name="sms_application_title" msgid="4903928270533250448">"SMS பயன்பாடு"</string>
     <string name="sms_change_default_dialog_title" msgid="1958688831875804286">"SMS பயன்பாட்டை மாற்றவா?"</string>
@@ -1553,10 +1531,8 @@
     <string name="applications_settings_header" msgid="1014813055054356646">"பயன்பாட்டு அமைப்பு"</string>
     <string name="install_applications" msgid="4872012136210802181">"அறியப்படாத மூலங்கள்"</string>
     <string name="install_applications_title" msgid="4987712352256508946">"எல்லா பயன்பாட்டு ஆதாரங்களையும் அனுமதி"</string>
-    <!-- no translation found for install_all_warning (8310489909586138165) -->
-    <skip />
-    <!-- no translation found for install_all_warning (1952257127370115988) -->
-    <skip />
+    <string name="install_all_warning" product="tablet" msgid="8310489909586138165">"அறியப்படாத பயன்பாடுகளால் உங்கள் டேப்லெட்டும் தனிப்பட்ட தரவும் அதிகம் பாதிப்பிற்கு உள்ளாகும். இந்த மூலத்திலிருந்து பயன்பாடுகளை நிறுவுவதால், அவற்றைப் பயன்படுத்தும் போது உங்கள் டேப்லெட்டுக்கு ஏதேனும் சேதம் ஏற்பட்டாலோ அல்லது தரவை இழந்தாலோ, அதற்கு நீங்கள்தான் பொறுப்பாவீர்கள் என்பதை ஏற்கிறீர்கள்."</string>
+    <string name="install_all_warning" product="default" msgid="1952257127370115988">"அறியப்படாத பயன்பாடுககளால் உங்கள் மொபைலும் தனிப்பட்ட தரவும் அதிகம் பாதிப்பிற்கு உள்ளாகும். இந்த மூலத்திலிருந்து பயன்பாடுகளை நிறுவுவதால், அவற்றைப் பயன்படுத்தும் போது உங்கள் மொபைலுக்கு ஏதேனும் சேதம் ஏற்பட்டாலோ அல்லது தரவை இழந்தாலோ, அதற்கு நீங்கள்தான் பொறுப்பாவீர்கள் என்பதை ஏற்கிறீர்கள்."</string>
     <string name="advanced_settings" msgid="1777249286757067969">"மேம்பட்ட அமைப்பு"</string>
     <string name="advanced_settings_summary" msgid="4016682978071086747">"மேலும் அமைப்பு விருப்பங்களை இயக்கு"</string>
     <string name="application_info_label" msgid="5736524913065714880">"பயன்பாட்டுத் தகவல்"</string>
@@ -1728,8 +1704,7 @@
     <string name="runningservicedetails_stop_dlg_text" product="default" msgid="3920243762189484756">"இந்தச் சேவையை நீங்கள் நிறுத்தினால், உங்கள் மொபைலை ஸ்விட்ச் ஆஃப் செய்து ஸ்டார்ட் செய்யும் வரை அதன் அம்சங்களில் சில வேலைசெய்யாமல் போகலாம்."</string>
     <string name="language_settings" msgid="8758655933029560944">"மொழிகள் &amp; உள்ளீடு"</string>
     <string name="language_keyboard_settings_title" msgid="3709159207482544398">"மொழிகள் &amp; உள்ளீடு"</string>
-    <!-- no translation found for input_assistance (7577795275222555487) -->
-    <skip />
+    <string name="input_assistance" msgid="7577795275222555487">"உள்ளிடுவதற்கான உதவி"</string>
     <string name="keyboard_settings_category" msgid="8275523930352487827">"விசைப்பலகை &amp; உள்ளீட்டு முறைகள்"</string>
     <string name="phone_language" msgid="7116581601133118044">"மொழிகள்"</string>
     <string name="phone_language_summary" msgid="3871309445655554211"></string>
@@ -1747,8 +1722,7 @@
     <string name="spellchecker_quick_settings" msgid="246728645150092058">"அமைப்பு"</string>
     <string name="spellchecker_language" msgid="6041050114690541437">"மொழி"</string>
     <string name="failed_to_open_app_settings_toast" msgid="1251067459298072462">"<xliff:g id="SPELL_APPLICATION_NAME">%1$s</xliff:g> க்கான அமைப்புகளைத் திறப்பதில் தோல்வி"</string>
-    <!-- no translation found for keyboard_and_input_methods_category (6035224122054465137) -->
-    <skip />
+    <string name="keyboard_and_input_methods_category" msgid="6035224122054465137">"விசைப்பலகையும் உள்ளீடுகளும்"</string>
     <string name="virtual_keyboard_category" msgid="1012830752318677119">"விர்ச்சுவல் விசைப்பலகை"</string>
     <string name="available_virtual_keyboard_category" msgid="7645766574969139819">"கிடைக்கும் விர்ச்சுவல் விசைப்பலகை"</string>
     <string name="add_virtual_keyboard" msgid="3302152381456516928">"விசைப்பலகைகளை நிர்வகி"</string>
@@ -1826,8 +1800,7 @@
     <string name="usage_time_label" msgid="295954901452833058">"பயன்படுத்திய நேரம்"</string>
     <string name="accessibility_settings" msgid="3975902491934816215">"அணுகல்தன்மை"</string>
     <string name="accessibility_settings_title" msgid="2130492524656204459">"அணுகல்தன்மை அமைப்பு"</string>
-    <!-- no translation found for accessibility_settings_summary (981260486011624939) -->
-    <skip />
+    <string name="accessibility_settings_summary" msgid="981260486011624939">"திரைப் படிப்பான்கள், திரை, ஊடாடல் கட்டுப்பாடுகள்"</string>
     <string name="vision_settings_title" msgid="4204111425716868288">"காட்சி அமைப்புகள்"</string>
     <string name="vision_settings_description" msgid="5679491180156408260">"உங்கள் தேவைகளுக்கேற்ப இந்தச் சாதனத்தைத் தனிப்பயனாக்கலாம். இந்த அணுகல்தன்மை அம்சங்களை அமைப்புகளுக்குச் சென்று மாற்றலாம்."</string>
     <string name="screen_reader_category_title" msgid="7739154903913400641">"திரைப் படிப்பான்கள்"</string>
@@ -1835,22 +1808,19 @@
     <string name="display_category_title" msgid="685461049938269166">"காட்சி"</string>
     <string name="interaction_control_category_title" msgid="7836591031872839151">"ஊடாடல் கட்டுப்பாடுகள்"</string>
     <string name="user_installed_services_category_title" msgid="6426376488922158647">"பதிவிறக்கிய சேவைகள்"</string>
-    <!-- no translation found for experimental_category_title (5272318666666893547) -->
-    <skip />
+    <string name="experimental_category_title" msgid="5272318666666893547">"சோதனை முயற்சி"</string>
     <string name="talkback_title" msgid="7912059827205988080">"Talkback"</string>
     <string name="talkback_summary" msgid="8331244650729024963">"திரைப் படிப்பான் முக்கியமாக பார்வையற்றோர் மற்றும் பார்வைக் குறைபாடு உள்ளவர்களுக்காக வடிவமைக்கப்பட்டது"</string>
     <string name="select_to_speak_summary" msgid="4282846695497544515">"உங்கள் திரையில் உள்ளவற்றைச் சத்தமாகப் படித்துக் காட்ட, அவற்றைத் தட்டவும்"</string>
     <string name="accessibility_captioning_title" msgid="7589266662024836291">"தலைப்புகள்"</string>
-    <!-- no translation found for accessibility_screen_magnification_title (6001128808776506021) -->
-    <skip />
+    <string name="accessibility_screen_magnification_title" msgid="6001128808776506021">"பெரிதாக்கல்"</string>
     <!-- no translation found for accessibility_screen_magnification_gestures_title (3719929521571489913) -->
     <skip />
     <!-- no translation found for accessibility_screen_magnification_navbar_title (7141753038957538230) -->
     <skip />
     <!-- no translation found for accessibility_screen_magnification_state_navbar_gesture (2760906043221923793) -->
     <skip />
-    <!-- no translation found for accessibility_preference_magnification_summary (5867883657521404509) -->
-    <skip />
+    <string name="accessibility_preference_magnification_summary" msgid="5867883657521404509">"திரையில் பெரிதாக்குவதை இயக்கும்"</string>
     <string name="accessibility_screen_magnification_short_summary" msgid="3411979839172752057">"அளவை மாற்ற, 3 முறை தட்டவும்"</string>
     <!-- no translation found for accessibility_screen_magnification_navbar_short_summary (3693116360267980492) -->
     <skip />
@@ -1876,8 +1846,7 @@
     <string name="accessibility_toggle_master_mono_summary" msgid="5634277025251530927">"ஆடியோ இயக்கத்தில் இருக்கும் போது சேனல்களை ஒன்றிணைக்கலாம்"</string>
     <string name="accessibility_long_press_timeout_preference_title" msgid="6708467774619266508">"தொட்டுப் பிடித்தல் தாமதம்"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="2119647786141420802">"வண்ணத்தின் நேர்மாறான முறை"</string>
-    <!-- no translation found for accessibility_display_inversion_preference_subtitle (7052959202195368109) -->
-    <skip />
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7052959202195368109">"செயல்திறனைப் பாதிக்கலாம்"</string>
     <string name="accessibility_autoclick_preference_title" msgid="7014499339068449623">"குறிப்பான் நகர்வதை நிறுத்தியதும் கிளிக் செய்"</string>
     <string name="accessibility_autoclick_delay_preference_title" msgid="3962261178385106006">"கிளிக்கிற்கு முந்தைய தாமதம்"</string>
     <!-- no translation found for accessibility_summary_default_combination (90096949592817459) -->
@@ -2004,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"திரை நுகர்வு"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"மொபைல் நெட்வொர்க்கை ஸ்கேன் செய்தல்"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
@@ -2457,8 +2428,7 @@
     <string name="data_usage_background_label" msgid="2722008379947694926">"பின்புலம்:"</string>
     <string name="data_usage_app_settings" msgid="2279171379771253165">"பயன்பாட்டு அமைப்பு"</string>
     <string name="data_usage_app_restrict_background" msgid="7359227831562303223">"பின்புலத் தரவு"</string>
-    <!-- no translation found for data_usage_app_restrict_background_summary (5853552187570622572) -->
-    <skip />
+    <string name="data_usage_app_restrict_background_summary" msgid="5853552187570622572">"பின்னணியில் மொபைல் தரவைப் பயன்படுத்துவதை இயக்கு"</string>
     <string name="data_usage_app_restrict_background_summary_disabled" msgid="7401927377070755054">"இந்தப் பயன்பாட்டிற்கான பின்புலத் தரவை வரம்பிட, முதலில் மொபைல் தரவு வரம்பை அமைக்கவும்."</string>
     <string name="data_usage_app_restrict_dialog_title" msgid="1613108390242737923">"பின்புலத் தரவை வரம்பிடவா?"</string>
     <string name="data_usage_app_restrict_dialog" msgid="1466689968707308512">"மொபைல் நெட்வொர்க்குகள் மட்டும் கிடைக்கும்போது பின்புலத் தரவைச் சார்ந்திருக்கும் பயன்பாட்டின் வேலையை இந்த அம்சம் நிறுத்தலாம்.\n\nபயன்பாட்டில் மிகவும் பொருத்தமான தரவு பயன்பாட்டின் கட்டுப்பாடுகளை அமைப்புகளில் கண்டறியலாம்."</string>
@@ -2568,8 +2538,7 @@
     <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"எப்போதும் இயக்கத்தில் இருக்கும் VPN க்கு சேவையகங்கள் மற்றும் DNS ஆகியவற்றின் IP முகவரி தேவைப்படுகிறது."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"நெட்வொர்க் இணைப்பு இல்லை. பிறகு முயற்சிக்கவும்."</string>
     <string name="vpn_disconnected" msgid="280531508768927471">"VPN இலிருந்து துண்டிக்கப்பட்டது"</string>
-    <!-- no translation found for vpn_disconnected_summary (3082851661207900606) -->
-    <skip />
+    <string name="vpn_disconnected_summary" msgid="3082851661207900606">"ஏதுமில்லை"</string>
     <!-- no translation found for vpn_missing_cert (5357192202207234745) -->
     <skip />
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"அமைப்பு"</string>
@@ -2801,12 +2770,10 @@
     <string name="network_dashboard_title" msgid="4771589228992391573">"நெட்வொர்க் &amp; இணையம்"</string>
     <string name="network_dashboard_summary" msgid="3274556191585905652">"வைஃபை, மொபைல், தரவு உபயோகம், ஹாட்ஸ்பாட்"</string>
     <string name="connected_devices_dashboard_title" msgid="2355264951438890709">"இணைத்த சாதனங்கள்"</string>
-    <!-- no translation found for connected_devices_dashboard_summary (2390582103384791904) -->
-    <skip />
+    <string name="connected_devices_dashboard_summary" msgid="2390582103384791904">"புளூடூத், Cast, NFC"</string>
     <string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"பயன்பாடுகள் &amp; அறிவிப்புகள்"</string>
     <string name="app_and_notification_dashboard_summary" msgid="2363314178802548682">"அனுமதிகள், இயல்புப் பயன்பாடுகள்"</string>
-    <!-- no translation found for account_dashboard_title (4936890821712178853) -->
-    <skip />
+    <string name="account_dashboard_title" msgid="4936890821712178853">"பயனர்களும் கணக்குகளும்"</string>
     <string name="app_default_dashboard_title" msgid="7342549305933047317">"இயல்புப் பயன்பாடுகள்"</string>
     <!-- no translation found for system_dashboard_summary (5797743225249766685) -->
     <skip />
@@ -2991,22 +2958,17 @@
     <string name="picture_in_picture_empty_text" msgid="685224245260197779">"நிறுவிய பயன்பாடுகள் எதுவும் பிக்ச்சர் இன் பிக்ச்சரை ஆதரிக்கவில்லை"</string>
     <string name="picture_in_picture_keywords" msgid="8361318686701764690">"pip பிக்ச்சர் இன்"</string>
     <string name="picture_in_picture_app_detail_title" msgid="4080800421316791732">"பிக்ச்சர் இன் பிக்ச்சர்"</string>
-    <!-- no translation found for picture_in_picture_app_detail_switch (1131910667023738296) -->
-    <skip />
-    <!-- no translation found for picture_in_picture_app_detail_summary (7942592478427522244) -->
-    <skip />
-    <!-- no translation found for picture_in_picture_on (6103704909710176555) -->
-    <skip />
-    <!-- no translation found for picture_in_picture_off (5654388666434625247) -->
-    <skip />
+    <string name="picture_in_picture_app_detail_switch" msgid="1131910667023738296">"பிக்ச்சர் இன் பிக்ச்சரை அனுமதி"</string>
+    <string name="picture_in_picture_app_detail_summary" msgid="7942592478427522244">"பயன்பாடு திறந்திருக்கும் போது அல்லது அதிலிருந்து வெளியேறும் போது (எடுத்துக்காட்டாக, வீடியோவைத் தொடர்ந்து பார்க்க), பிக்ச்சர் இன் பிக்ச்சர் சாளரத்தை உருவாக்க, இந்தப் பயன்பாட்டை அனுமதிக்கும். இந்தச் சாளரம் நீங்கள் பயன்படுத்தும் பிற பயன்பாடுகளின் மேல் காட்டப்படும்."</string>
+    <string name="picture_in_picture_on" msgid="6103704909710176555">"ஆம்"</string>
+    <string name="picture_in_picture_off" msgid="5654388666434625247">"வேண்டாம்"</string>
     <string name="manage_zen_access_title" msgid="2611116122628520522">"தொந்தரவு செய்ய வேண்டாம் என்பதன் அணுகல்"</string>
     <string name="zen_access_empty_text" msgid="8772967285742259540">"தொந்தரவு செய்ய வேண்டாம் என்பதன் அணுகலை நிறுவப்பட்ட பயன்பாடுகள் எதுவும் கோரவில்லை"</string>
     <string name="loading_notification_apps" msgid="5031818677010335895">"பயன்பாடுகளை ஏற்றுகிறது..."</string>
     <string name="notification_channels" msgid="5346841743182627500">"வகைகள்"</string>
     <string name="notification_channels_other" msgid="5645317113885788226">"மற்றவை"</string>
     <string name="no_channels" msgid="3077375508177744586">"இந்தப் பயன்பாடு எந்த அறிவிப்புகளையும் இடுகையிடவில்லை"</string>
-    <!-- no translation found for app_settings_link (8894946007543660906) -->
-    <skip />
+    <string name="app_settings_link" msgid="8894946007543660906">"பயன்பாட்டில் உள்ள கூடுதல் அமைப்புகள்"</string>
     <!-- no translation found for app_notification_listing_summary_zero (6482582965081108108) -->
     <skip />
     <!-- no translation found for app_notification_listing_summary_others (5668835155965827890) -->
@@ -3228,8 +3190,7 @@
     <string name="configure_apps" msgid="6685680790825882528">"பயன்பாடுகளை உள்ளமை"</string>
     <string name="unknown_app" msgid="5275921288718717656">"அறியப்படாத பயன்பாடு"</string>
     <string name="app_permissions" msgid="4148222031991883874">"பயன்பாட்டு அனுமதிகள்"</string>
-    <!-- no translation found for app_permissions_summary (5163974162150406324) -->
-    <skip />
+    <string name="app_permissions_summary" msgid="5163974162150406324">"<xliff:g id="APPS">%1$s</xliff:g>ஐப் பயன்படுத்தும் பயன்பாடுகள்"</string>
     <string name="tap_to_wake" msgid="7211944147196888807">"இயக்க, தட்டவும்"</string>
     <string name="tap_to_wake_summary" msgid="4341387904987585616">"சாதனத்தை இயக்க, திரையின் எந்த இடத்திலும் இருமுறை தட்டவும்"</string>
     <string name="domain_urls_title" msgid="3132983644568821250">"திறக்கும் இணைப்புகள்"</string>
@@ -3306,14 +3267,11 @@
     <!-- no translation found for usb_use_power_only (8082507981891392824) -->
     <skip />
     <string name="usb_use_power_only_desc" msgid="4912352581010190141">"இணைக்கப்பட்ட பிற சாதனத்திற்குப் பவரை சப்ளை செய்யும்"</string>
-    <!-- no translation found for usb_use_file_transfers (338076823500744605) -->
-    <skip />
+    <string name="usb_use_file_transfers" msgid="338076823500744605">"கோப்புகளை இடமாற்று"</string>
     <string name="usb_use_file_transfers_desc" msgid="4235764784331804488">"கோப்புகளை மற்றொரு சாதனத்திற்கு இடமாற்றும்"</string>
-    <!-- no translation found for usb_use_photo_transfers (6743967116266105718) -->
-    <skip />
+    <string name="usb_use_photo_transfers" msgid="6743967116266105718">"படங்களை இடமாற்று (PTP)"</string>
     <string name="usb_use_photo_transfers_desc" msgid="2963034811151325996">"MTP ஆதரிக்கப்படவில்லை எனில், படங்கள் அல்லது கோப்புகளைப் பரிமாற்றும் (PTP)"</string>
-    <!-- no translation found for usb_use_MIDI (8405244560919283714) -->
-    <skip />
+    <string name="usb_use_MIDI" msgid="8405244560919283714">"சாதனத்தை MIDI ஆகப் பயன்படுத்து"</string>
     <string name="usb_use_MIDI_desc" msgid="8473936990076693175">"இந்தச் சாதனத்தை MIDI ஆகப் பயன்படுத்தும்"</string>
     <string name="usb_use" msgid="3256040963685055320">"USBஐ இதற்குப் பயன்படுத்து:"</string>
     <string name="usb_pref" msgid="1400617804525116158">"USB"</string>
@@ -3361,35 +3319,23 @@
     <!-- no translation found for work_profile_usage_access_warning (2918050775124911939) -->
     <skip />
     <string name="accessibility_lock_screen_progress" msgid="2408292742980383166">"<xliff:g id="COUNT_1">%2$d</xliff:g> இல் <xliff:g id="COUNT_0">%1$d</xliff:g> எழுத்துக்குறிகள் பயன்படுத்தப்பட்டன"</string>
-    <!-- no translation found for draw_overlay_title (7524215631960029502) -->
-    <skip />
-    <!-- no translation found for draw_overlay (6564116025404257047) -->
-    <skip />
-    <!-- no translation found for system_alert_window_settings (8466613169103527868) -->
-    <skip />
+    <string name="draw_overlay_title" msgid="7524215631960029502">"பிற பயன்பாடுகளின் மேலே காட்டக்கூடிய பயன்பாடுகள்"</string>
+    <string name="draw_overlay" msgid="6564116025404257047">"பிற பயன்பாடுகளின் மேலே காட்டு"</string>
+    <string name="system_alert_window_settings" msgid="8466613169103527868">"பிற பயன்பாடுகளின் மேலே காட்டு"</string>
     <string name="system_alert_window_apps_title" msgid="7005760279028569491">"பயன்பாடுகள்"</string>
-    <!-- no translation found for system_alert_window_access_title (6297115362542361241) -->
-    <skip />
-    <!-- no translation found for permit_draw_overlay (7456536798718633432) -->
-    <skip />
-    <!-- no translation found for app_overlay_permission_preference (9039432222453006038) -->
-    <skip />
-    <!-- no translation found for allow_overlay_description (3879905262954599959) -->
-    <skip />
+    <string name="system_alert_window_access_title" msgid="6297115362542361241">"பிற பயன்பாடுகளின் மேலே காட்டு"</string>
+    <string name="permit_draw_overlay" msgid="7456536798718633432">"பிற பயன்பாடுகளின் மேலே காட்டுவதை அனுமதி"</string>
+    <string name="app_overlay_permission_preference" msgid="9039432222453006038">"பிற பயன்பாடுகளின் மேலே காட்டுவதற்கான அனுமதி"</string>
+    <string name="allow_overlay_description" msgid="3879905262954599959">"இந்த அம்சமானது, நீங்கள் பயன்படுத்தும் பிற பயன்பாடுகளின் மேலே உள்ளடக்கத்தைக் காட்ட, பயன்பாட்டை அனுமதிக்கும். மேலும், அந்தப் பயன்பாடுகளை நீங்கள் பயன்படுத்தும் போது இது குறுக்கிடலாம் அல்லது அவை தோன்றும் விதத்தை அல்லது செயல்படும் விதத்தை மாற்றலாம்."</string>
     <string name="keywords_vr_listener" msgid="7441221822576384680">"vr விர்ச்சுவல் ரியாலிட்டி லிஷனர் ஸ்டீரியோ உதவிச் சேவை"</string>
-    <!-- no translation found for keywords_system_alert_window (5049498015597864850) -->
-    <skip />
-    <!-- no translation found for overlay_settings (6930854109449524280) -->
-    <skip />
-    <!-- no translation found for system_alert_window_summary (602892301318324492) -->
-    <skip />
+    <string name="keywords_system_alert_window" msgid="5049498015597864850">"சாதனம் விழிப்பூட்டல் சாளரம் உரையாடல் காட்டு பிற பயன்பாடுகளின் மேல்"</string>
+    <string name="overlay_settings" msgid="6930854109449524280">"பிற பயன்பாடுகளின் மேலே காட்டு"</string>
+    <string name="system_alert_window_summary" msgid="602892301318324492">"பிற பயன்பாடுகளின் மேலே காட்டுவதற்கு <xliff:g id="COUNT_1">%2$d</xliff:g> இல் <xliff:g id="COUNT_0">%1$d</xliff:g> பயன்பாடுகள் அனுமதிக்கப்பட்டுள்ளன"</string>
     <string name="filter_overlay_apps" msgid="6965969283342557573">"அனுமதி பெற்ற பயன்பாடுகள்"</string>
     <string name="system_alert_window_on" msgid="2939489395109048888">"அனுமதிக்கப்பட்டது"</string>
     <string name="system_alert_window_off" msgid="6189115687233061992">"அனுமதிக்கப்படவில்லை"</string>
-    <!-- no translation found for install_other_apps (6986686991775883017) -->
-    <skip />
-    <!-- no translation found for keywords_install_other_apps (761078076051006558) -->
-    <skip />
+    <string name="install_other_apps" msgid="6986686991775883017">"அறியப்படாத பயன்பாடுகளை நிறுவு"</string>
+    <string name="keywords_install_other_apps" msgid="761078076051006558">"நிறுவு பயன்பாடுகள் அறியப்படாத மூலங்கள்"</string>
     <string name="write_settings" msgid="4797457275727195681">"முறைமை அமைப்புகளை மாற்று"</string>
     <string name="keywords_write_settings" msgid="6415597272561105138">"முறைமை அமைப்புகளை எழுது மாற்று"</string>
     <string name="write_settings_summary" msgid="4302268998611412696">"<xliff:g id="COUNT_1">%2$d</xliff:g> இல் <xliff:g id="COUNT_0">%1$d</xliff:g> பயன்பாடுகள் முறைமை அமைப்புகளை மாற்ற அனுமதிக்கப்பட்டுள்ளன"</string>
@@ -3404,8 +3350,7 @@
     <string name="write_settings_off" msgid="5156104383386336233">"அனுமதிக்கப்படவில்லை"</string>
     <string name="external_source_trusted" msgid="6857780460845250885">"ஆம்"</string>
     <string name="external_source_untrusted" msgid="6608922938133896956">"இல்லை"</string>
-    <!-- no translation found for external_source_switch_title (5581865736984836418) -->
-    <skip />
+    <string name="external_source_switch_title" msgid="5581865736984836418">"பயன்பாட்டு நிறுவல்களை அனுமதி"</string>
     <string name="camera_gesture_title" msgid="1075838577642393011">"கேமராவைத் திறக்க, இருமுறை திருப்புதல்"</string>
     <string name="camera_gesture_desc" msgid="1831390075255870960">"உங்கள் மணிக்கட்டை இருமுறை திருப்புவதன் மூலம் கேமரா பயன்பாட்டைத் திறக்கலாம்"</string>
     <string name="camera_double_tap_power_gesture_title" msgid="1651873760405034645">"கேமராவிற்கு பவர் பட்டனை இருமுறை அழுத்துக"</string>
@@ -3427,8 +3372,7 @@
     <string name="screen_zoom_conversation_timestamp_2" msgid="7107225702890747588">"செவ் 6:01PM"</string>
     <string name="screen_zoom_conversation_timestamp_3" msgid="3785674344762707688">"செவ் 6:02PM"</string>
     <string name="screen_zoom_conversation_timestamp_4" msgid="2511469395448561259">"செவ் 6:03PM"</string>
-    <!-- no translation found for disconnected (4836600637485526329) -->
-    <skip />
+    <string name="disconnected" msgid="4836600637485526329">"இணைக்கப்படவில்லை"</string>
     <string name="data_usage_summary_format" msgid="7507047900192160585">"<xliff:g id="AMOUNT">%1$s</xliff:g> தரவு பயன்படுத்தப்பட்டுள்ளது"</string>
     <!-- no translation found for notification_summary (3941492005316143599) -->
     <!-- no translation found for notification_summary_none (4586376436702610) -->
@@ -3450,8 +3394,7 @@
     <string name="location_on_summary" msgid="5127631544018313587">"இயக்கு / <xliff:g id="LOCATION_MODE">%1$s</xliff:g>"</string>
     <string name="location_off_summary" msgid="6474350053215707957">"முடக்கு"</string>
     <string name="backup_disabled" msgid="485189128759595412">"காப்புப் பிரதி முடக்கப்பட்டுள்ளது"</string>
-    <!-- no translation found for about_summary (924181828102801010) -->
-    <skip />
+    <string name="about_summary" msgid="924181828102801010">"Android <xliff:g id="VERSION">%1$s</xliff:g>க்குப் புதுப்பிக்கப்பட்டது"</string>
     <string name="disabled_by_policy_title" msgid="627023216027648534">"செயல் அனுமதிக்கப்படவில்லை"</string>
     <string name="disabled_by_policy_title_adjust_volume" msgid="7399450998356045023">"ஒலியளவை மாற்ற முடியாது"</string>
     <string name="disabled_by_policy_title_outgoing_calls" msgid="7919816644946067058">"அழைப்பு அனுமதிக்கப்படவில்லை"</string>
@@ -3513,7 +3456,10 @@
     <string name="billing_cycle_summary" msgid="9009106526129293752">"மாதாந்திரச் சுழற்சி தொடங்கும் தேதி: ஒவ்வொரு மாதத்தின் <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="billing_cycle_fragment_summary" msgid="1940518156600077066">"மாதந்தோறும் தொடங்கும் தேதி: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="network_restrictions" msgid="8234695294536675380">"நெட்வொர்க் கட்டுப்பாடுகள்"</string>
-    <!-- no translation found for network_restrictions_summary (4301618027244595839) -->
+    <plurals name="network_restrictions_summary" formatted="false" msgid="4301618027244595839">
+      <item quantity="other"><xliff:g id="COUNT">%1$d</xliff:g> கட்டுப்பாடுகள்</item>
+      <item quantity="one">1 கட்டுப்பாடு</item>
+    </plurals>
     <string name="operator_warning" msgid="1862988028996859195">"மொபைல் நிறுவனத்தின் தரவு கணக்கிடலானது சாதனத்தின் கணக்கிடலிலிருந்து வேறுபடலாம்"</string>
     <string name="data_used_template" msgid="3245919669966296505">"<xliff:g id="ID_1">%1$s</xliff:g> பயன்படுத்தப்பட்டது"</string>
     <string name="set_data_warning" msgid="6115364758236594593">"தரவு எச்சரிக்கையை அமை"</string>
@@ -3596,8 +3542,7 @@
     <string name="premium_sms_none" msgid="8268105565738040566">"பிரீமிய SMS அணுகலைக் கோரும் பயன்பாடுகள் எதுவும் நிறுவப்படவில்லை"</string>
     <string name="premium_sms_warning" msgid="9086859595338944882">"பிரீமிய SMSக்குக் கட்டணம் விதிக்கப்படலாம், அது மொபைல் நிறுவன பில்களில் சேர்க்கப்படும். பயன்பாட்டிற்கான அனுமதியை இயக்கினால், அந்தப் பயன்பாட்டைப் பயன்படுத்தி பிரீமிய SMSஐ அனுப்ப முடியும்."</string>
     <string name="premium_sms_access" msgid="4660047004791638305">"பிரீமிய SMS அணுகல்"</string>
-    <!-- no translation found for bluetooth_disabled (2456198532288640046) -->
-    <skip />
+    <string name="bluetooth_disabled" msgid="2456198532288640046">"பிற சாதனங்களுக்குத் தெரியாது"</string>
     <!-- no translation found for bluetooth_connected_summary (8733997010923307915) -->
     <skip />
     <string name="demo_mode" msgid="2798762752209330277">"சிஸ்டம் பயனர் இடைமுக டெமோ பயன்முறை"</string>
@@ -3675,8 +3620,7 @@
     <string name="ambient_display_pickup_summary" product="default" msgid="8696432220086951466">"அறிவிப்புகளை விரைவாகப் பார்க்க, மொபைலைக் கையில் எடுக்கவும்."</string>
     <string name="ambient_display_pickup_summary" product="tablet" msgid="2442551819015699120">"அறிவிப்புகளை விரைவாகப் பார்க்க, டேப்லெட்டைக் கையில் எடுக்கவும்."</string>
     <string name="ambient_display_pickup_summary" product="device" msgid="2369325441608811599">"அறிவிப்புகளை விரைவாகப் பார்க்க, சாதனத்தைக் கையில் எடுக்கவும்."</string>
-    <!-- no translation found for fingerprint_swipe_for_notifications_title (5816346492253270243) -->
-    <skip />
+    <string name="fingerprint_swipe_for_notifications_title" msgid="5816346492253270243">"அறிவிப்புகளுக்கு, உணர்வியின் மீது ஸ்வைப் செய்க"</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="default" msgid="1770661868393713922">"அறிவிப்புகளைப் பார்க்க, மொபைலின் பின்புறத்தில் உள்ள கைரேகை உணர்வியில் கீழே ஸ்வைப் செய்யவும்."</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="tablet" msgid="902719947767712895">"அறிவிப்புகளைப் பார்க்க, டேப்லெட்டின் பின்புறத்தில் உள்ள கைரேகை உணர்வியில் கீழே ஸ்வைப் செய்யவும்."</string>
     <string name="fingerprint_swipe_for_notifications_summary" product="device" msgid="5372926094116306647">"அறிவிப்புகளைப் பார்க்க, சாதனத்தின் பின்புறத்தில் உள்ள கைரேகை உணர்வியில் கீழே ஸ்வைப் செய்யவும்."</string>
@@ -3706,8 +3650,7 @@
     <!-- no translation found for auto_sync_account_summary (692499211629185107) -->
     <skip />
     <string name="account_sync_title" msgid="7214747784136106491">"கணக்கு ஒத்திசைவு"</string>
-    <!-- no translation found for enterprise_privacy_settings (1177106810374146496) -->
-    <skip />
+    <string name="enterprise_privacy_settings" msgid="1177106810374146496">"நிர்வகிக்கப்படும் சாதனத் தகவல்"</string>
     <string name="enterprise_privacy_settings_summary_generic" msgid="5853292305730761128">"உங்கள் நிறுவனம் நிர்வகிக்கும் மாற்றங்களும் அமைப்புகளும்"</string>
     <string name="enterprise_privacy_settings_summary_with_name" msgid="4266234968317996188">"<xliff:g id="ORGANIZATION_NAME">%s</xliff:g> நிர்வகிக்கும் மாற்றங்களும் அமைப்புகளும்"</string>
     <string name="enterprise_privacy_header" msgid="7402406406883832509">"உங்கள் பணித் தரவிற்கு அணுகல் வழங்க, நிறுவனமானது சாதனத்தில் அமைப்புகளை மாற்றி, மென்பொருளை நிறுவக்கூடும்.\n\nமேலும் விவரங்களுக்கு, உங்கள் நிறுவனத்தின் நிர்வாகியைத் தொடர்புகொள்ளவும்."</string>
@@ -3727,14 +3670,10 @@
     <!-- no translation found for enterprise_privacy_apps_count_estimation_info (7433213592572082606) -->
     <skip />
     <!-- no translation found for enterprise_privacy_number_packages_lower_bound (3005116533873542976) -->
-    <!-- no translation found for enterprise_privacy_location_access (4158197200885270634) -->
-    <skip />
-    <!-- no translation found for enterprise_privacy_microphone_access (5717375623568864441) -->
-    <skip />
-    <!-- no translation found for enterprise_privacy_camera_access (4858146118537519375) -->
-    <skip />
-    <!-- no translation found for enterprise_privacy_enterprise_set_default_apps (3288495615791128724) -->
-    <skip />
+    <string name="enterprise_privacy_location_access" msgid="4158197200885270634">"இருப்பிடத்திற்கான அனுமதிகள்"</string>
+    <string name="enterprise_privacy_microphone_access" msgid="5717375623568864441">"மைக்ரோஃபோனுக்கான அனுமதிகள்"</string>
+    <string name="enterprise_privacy_camera_access" msgid="4858146118537519375">"கேமராவிற்கான அனுமதிகள்"</string>
+    <string name="enterprise_privacy_enterprise_set_default_apps" msgid="3288495615791128724">"இயல்புப் பயன்பாடுகள்"</string>
     <plurals name="enterprise_privacy_number_packages" formatted="false" msgid="2765037387436064893">
       <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> பயன்பாடுகள்</item>
       <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> பயன்பாடு</item>
@@ -3745,8 +3684,7 @@
     <string name="enterprise_privacy_always_on_vpn_personal" msgid="9217774730260037434">"\"VPNஐ எப்போதும் இயக்கத்தில் வை\" என்பது உங்கள் தனிப்பட்ட சுயவிவரத்தில் இயக்கப்பட்டுள்ளது"</string>
     <string name="enterprise_privacy_always_on_vpn_work" msgid="7244472958208315814">"\"VPNஐ எப்போதும் இயக்கத்தில் வை\" என்பது உங்கள் பணி விவரத்தில் இயக்கப்பட்டுள்ளது"</string>
     <string name="enterprise_privacy_global_http_proxy" msgid="7936664553416257333">"குளோபல் HTTP ப்ராக்ஸி அமைக்கப்பட்டுள்ளது"</string>
-    <!-- no translation found for enterprise_privacy_ca_certs (5885892204903688909) -->
-    <skip />
+    <string name="enterprise_privacy_ca_certs" msgid="5885892204903688909">"நம்பகமான அனுமதிச் சான்றுகள்"</string>
     <!-- no translation found for enterprise_privacy_number_ca_certs (526375234629534165) -->
     <string name="enterprise_privacy_lock_device" msgid="8791656477097208540">"நிர்வாகியானவர் சாதனத்தைப் பூட்டலாம், கடவுச்சொல்லை மீட்டமைக்கலாம்"</string>
     <string name="enterprise_privacy_wipe_device" msgid="2821960015797241790">"நிர்வாகியானவர் சாதனத் தரவு முழுவதையும் நீக்கலாம்"</string>
@@ -3778,12 +3716,10 @@
     <string name="storage_games" msgid="7703159201697117621">"கேம்கள்"</string>
     <string name="storage_other_apps" msgid="5524321740031718083">"பிற பயன்பாடுகள்"</string>
     <string name="storage_files" msgid="8581083146777364063">"கோப்புகள்"</string>
-    <!-- no translation found for storage_settings_2 (1939009096334525216) -->
-    <skip />
+    <string name="storage_settings_2" product="tablet" msgid="1939009096334525216">"டேப்லெட் சேமிப்பகம்"</string>
     <string name="storage_settings_2" product="default" msgid="4306047711760327031">"மொபைல் சேமிப்பகம்"</string>
     <string name="storage_size_large_alternate" msgid="3550744227788333060">"<xliff:g id="NUMBER">^1</xliff:g>"<small>" <xliff:g id="UNIT">^2</xliff:g>"</small>""</string>
-    <!-- no translation found for storage_volume_total (3499221850532701342) -->
-    <skip />
+    <string name="storage_volume_total" msgid="3499221850532701342">"<xliff:g id="TOTAL">%1$s</xliff:g> இல் பயன்படுத்தியது:"</string>
     <!-- no translation found for storage_percent_full (7052264724265314100) -->
     <skip />
     <!-- no translation found for clear_instant_app_data (2004222610585890909) -->
@@ -3792,8 +3728,7 @@
     <string name="audio_files_title" msgid="4777048870657911307">"ஆடியோ கோப்புகள்"</string>
     <string name="webview_uninstalled_for_user" msgid="1819903169194420983">"(<xliff:g id="USER">%s</xliff:g>க்கு நிறுவல்நீக்கப்பட்டது)"</string>
     <string name="webview_disabled_for_user" msgid="1216426047631256825">"(<xliff:g id="USER">%s</xliff:g>க்கு முடக்கப்பட்டது)"</string>
-    <!-- no translation found for autofill_app (7338387238377914374) -->
-    <skip />
+    <string name="autofill_app" msgid="7338387238377914374">"தன்னிரப்பிச் சேவை"</string>
     <string name="autofill_keywords" msgid="7485591824120812710">"தானாக, நிரப்பு, தானாக நிரப்பு, தன்னிரப்பி"</string>
     <string name="autofill_confirmation_message" msgid="7368058965765225486">"<xliff:g id="APP_NAME_0">%1$s</xliff:g>ஐ உங்கள் தன்னிரப்பிப் பயன்பாடாக அமைக்கவா? <xliff:g id="APP_NAME_1">%1$s</xliff:g> உங்கள் திரையைப் படித்து, பிற பயன்பாடுகளில் உள்ள புலங்களை நிரப்பலாம்."</string>
     <string name="device_theme" msgid="4571803018917608588">"சாதனத்தின் தீம்"</string>
@@ -3802,8 +3737,7 @@
     <string name="storage_manager_indicator_off" msgid="7488057587180724388">"ஆஃப்"</string>
     <string name="storage_manager_indicator_on" msgid="8625551710194584733">"ஆன்"</string>
     <string name="install_type_instant" msgid="3174425974536078647">"இன்ஸ்டண்ட் பயன்பாடு"</string>
-    <!-- no translation found for automatic_storage_manager_deactivation_warning (5605210730828410482) -->
-    <skip />
+    <string name="automatic_storage_manager_deactivation_warning" msgid="5605210730828410482">"சேமிப்பக நிர்வாகியை முடக்கவா?"</string>
     <!-- no translation found for storage_movies_tv (5498394447562086890) -->
     <skip />
     <!-- no translation found for app_info_storage_title (5554719444625611987) -->
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 0d7791f..ff31979 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"స్క్రీన్ ఉపయోగం"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"మొబైల్ నెట్‌వర్క్ స్కానింగ్"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 8e20df6..593dc36 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"การใช้งานหน้าจอ"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"การสแกนเครือข่ายมือถือ"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index a56af65..a98f6fb 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Pagkonsumo ng screen"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Pag-scan ng mobile network"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 3e66760..d92925b 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Ekranın pil tüketimi"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Mobil ağ tarama"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index ee4d4d5..0ee95fb 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -2007,7 +2007,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Споживання заряду екраном"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Сканування мобільної мережі"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 9d64b9e..0b5a9d8 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"اسکرین کی کھپت"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"موبائل نیٹ ورک اسکیننگ"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index dd5f93c..8e2a68c 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -870,8 +870,8 @@
     <string name="wifi_tether_failed_subtext" msgid="1484941858530919002">"Wi‑Fi ulanish nuqtasi bilan bog‘liq xato"</string>
     <string name="wifi_tether_configure_ap_text" msgid="7974681394041609308">"Wi‑Fi ulanish nuqtasini sozlash"</string>
     <string name="wifi_hotspot_configure_ap_text" msgid="5478614731464220432">"Wi‑Fi ulanish nuqtasini sozlash"</string>
-    <string name="wifi_hotspot_configure_ap_text_summary" msgid="5560680057727007011">"AndroidAP WPA2 PSK hotspoti"</string>
-    <string name="wifi_tether_configure_subtext" msgid="2050196439900426456">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> hotspoti"</string>
+    <string name="wifi_hotspot_configure_ap_text_summary" msgid="5560680057727007011">"AndroidAP WPA2 PSK hotspot"</string>
+    <string name="wifi_tether_configure_subtext" msgid="2050196439900426456">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g> hotspot"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"AndroidHotspot"</string>
     <string name="wifi_calling_settings_title" msgid="4102921303993404577">"Wi-Fi qo‘ng‘iroq"</string>
     <string name="wifi_calling_suggestion_title" msgid="9008010480466359578">"Wi-Fi qo‘ng‘iroqni yoqing"</string>
@@ -1018,7 +1018,7 @@
     <string name="night_display_auto_mode_twilight" msgid="2123345097508167094">"Kun botishidan to chiqqunicha"</string>
     <string name="night_display_start_time_title" msgid="8918016772613689584">"Boshlanish vaqti"</string>
     <string name="night_display_end_time_title" msgid="8286061578083519350">"Tugash vaqti"</string>
-    <string name="night_display_temperature_title" msgid="1435292789272017136">"Yorug‘lik"</string>
+    <string name="night_display_temperature_title" msgid="1435292789272017136">"Yorqinlik"</string>
     <string name="night_display_summary_off" msgid="7009821232380000786">"O‘chiq. <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="night_display_summary_off_auto_mode_never" msgid="2305501561697289620">"Hech qachon avtomatik yoqilmaydi."</string>
     <string name="night_display_summary_off_auto_mode_custom" msgid="1548073080728058384">"<xliff:g id="ID_1">%1$s</xliff:g> da avtomatik yoqiladi."</string>
@@ -1373,8 +1373,8 @@
     <string name="bluetooth_tethering_available_subtext" product="default" msgid="313873759999970236">"Bu telefon interneti Bluetooth orqali tarqatilmoqda"</string>
     <string name="bluetooth_tethering_device_connected_subtext" product="tablet" msgid="6388191062495199481">"Bu planshet interneti Bluetooth orqali 1 ta qurilmaga tarqatilmoqda"</string>
     <string name="bluetooth_tethering_device_connected_subtext" product="default" msgid="5970460338828861091">"Bu telefon interneti Bluetooth orqali 1 ta qurilmaga tarqatilmoqda"</string>
-    <string name="bluetooth_tethering_devices_connected_subtext" product="tablet" msgid="3253150865825199632">"Bu planshet interneti Bluetooth orqali <xliff:g id="CONNECTEDDEVICECOUNT">%1$d</xliff:g> qurilmalariga tarqatilmoqda"</string>
-    <string name="bluetooth_tethering_devices_connected_subtext" product="default" msgid="8268867745495039177">"Bu telefon interneti Bluetooth orqali <xliff:g id="CONNECTEDDEVICECOUNT">%1$d</xliff:g> qurilmalariga tarqatilmoqda"</string>
+    <string name="bluetooth_tethering_devices_connected_subtext" product="tablet" msgid="3253150865825199632">"Bu planshet interneti Bluetooth orqali <xliff:g id="CONNECTEDDEVICECOUNT">%1$d</xliff:g> ta qurilmaga tarqatilmoqda"</string>
+    <string name="bluetooth_tethering_devices_connected_subtext" product="default" msgid="8268867745495039177">"Bu telefon interneti Bluetooth orqali <xliff:g id="CONNECTEDDEVICECOUNT">%1$d</xliff:g> ta qurilmaga tarqatilmoqda"</string>
     <string name="bluetooth_tethering_off_subtext_config" msgid="6326877798974938021">"<xliff:g id="DEVICE_NAME">%1$d</xliff:g> interneti Bluetooth orqali tarqatilmoqda"</string>
     <string name="bluetooth_tethering_off_subtext" product="tablet" msgid="1889565070769307732">"Bu planshet interneti Bluetooth orqali tarqatilmayapti"</string>
     <string name="bluetooth_tethering_off_subtext" product="default" msgid="1838503633450298902">"Bu telefon interneti Bluetooth orqali tarqatilmayapti"</string>
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Ekran sarfi"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Mobil tarmoqni tekshirish"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
@@ -2536,7 +2538,7 @@
     <string name="vpn_lockdown_config_error" msgid="3898576754914217248">"Server va DNS uchun IP manzilini ko‘rsating."</string>
     <string name="vpn_no_network" msgid="3050233675132726155">"Tarmoqqa ulanish yo‘q. Keyinroq qayta urinib ko‘ring."</string>
     <string name="vpn_disconnected" msgid="280531508768927471">"VPN tarmog‘idan uzildi"</string>
-    <string name="vpn_disconnected_summary" msgid="3082851661207900606">"Hech biri"</string>
+    <string name="vpn_disconnected_summary" msgid="3082851661207900606">"Yo‘q"</string>
     <!-- no translation found for vpn_missing_cert (5357192202207234745) -->
     <skip />
     <string name="trusted_credentials_system_tab" msgid="3984284264816924534">"Tizim"</string>
@@ -2768,7 +2770,7 @@
     <string name="network_dashboard_title" msgid="4771589228992391573">"Tarmoq va Internet"</string>
     <string name="network_dashboard_summary" msgid="3274556191585905652">"Wi-Fi, mobil, trafik sarfi, hotspot"</string>
     <string name="connected_devices_dashboard_title" msgid="2355264951438890709">"Ulangan qurilmalar"</string>
-    <string name="connected_devices_dashboard_summary" msgid="2390582103384791904">"Bluetooth, Cast, NFC"</string>
+    <string name="connected_devices_dashboard_summary" msgid="2390582103384791904">"Bluetooth, translatsiya, NFC"</string>
     <string name="app_and_notification_dashboard_title" msgid="7838365599185397539">"Ilova va bildirishnomalar"</string>
     <string name="app_and_notification_dashboard_summary" msgid="2363314178802548682">"Ruxsatnomalar, birlamchi ilovalar"</string>
     <string name="account_dashboard_title" msgid="4936890821712178853">"Foydalanuvchilar va hisoblar"</string>
@@ -3188,7 +3190,7 @@
     <string name="configure_apps" msgid="6685680790825882528">"Ilovalarni sozlash"</string>
     <string name="unknown_app" msgid="5275921288718717656">"Noma’lum ilova"</string>
     <string name="app_permissions" msgid="4148222031991883874">"Ilovalar uchun ruxsatlar"</string>
-    <string name="app_permissions_summary" msgid="5163974162150406324">"<xliff:g id="APPS">%1$s</xliff:g> ishlatayotgan ilovalar"</string>
+    <string name="app_permissions_summary" msgid="5163974162150406324">"Ruxsat berilgan ilovalar (<xliff:g id="APPS">%1$s</xliff:g>)"</string>
     <string name="tap_to_wake" msgid="7211944147196888807">"Teginib yoqish"</string>
     <string name="tap_to_wake_summary" msgid="4341387904987585616">"Qurilmani yoqish uchun ekranning istalgan joyiga ikki marta bosing"</string>
     <string name="domain_urls_title" msgid="3132983644568821250">"Ishga tushirish uchun havolalar"</string>
@@ -3317,18 +3319,18 @@
     <!-- no translation found for work_profile_usage_access_warning (2918050775124911939) -->
     <skip />
     <string name="accessibility_lock_screen_progress" msgid="2408292742980383166">"Ishlatilgan belgilar soni: <xliff:g id="COUNT_0">%1$d</xliff:g> / <xliff:g id="COUNT_1">%2$d</xliff:g>"</string>
-    <string name="draw_overlay_title" msgid="7524215631960029502">"Boshqa ilovalar ustidan ko‘rinadigan ilovalar"</string>
-    <string name="draw_overlay" msgid="6564116025404257047">"Boshqa oynalar ustidan ko‘rsatish"</string>
-    <string name="system_alert_window_settings" msgid="8466613169103527868">"Boshqa oynalar ustidan ko‘rsatish"</string>
+    <string name="draw_overlay_title" msgid="7524215631960029502">"Boshqa ilovalar ustidan ochiladigan ilovalar"</string>
+    <string name="draw_overlay" msgid="6564116025404257047">"Boshqa oynalar ustidan ochish"</string>
+    <string name="system_alert_window_settings" msgid="8466613169103527868">"Boshqa oynalar ustidan ochish"</string>
     <string name="system_alert_window_apps_title" msgid="7005760279028569491">"Ilovalar"</string>
-    <string name="system_alert_window_access_title" msgid="6297115362542361241">"Boshqa oynalar ustidan ko‘rsatish"</string>
-    <string name="permit_draw_overlay" msgid="7456536798718633432">"Boshqa ilovalar ustidan ko‘rinishga ruxsat berish"</string>
-    <string name="app_overlay_permission_preference" msgid="9039432222453006038">"Ilovani barcha oynalar ustidan ko‘rsatish"</string>
+    <string name="system_alert_window_access_title" msgid="6297115362542361241">"Boshqa oynalar ustidan ochish"</string>
+    <string name="permit_draw_overlay" msgid="7456536798718633432">"Boshqa ilovalar ustidan ochilishiga ruxsat"</string>
+    <string name="app_overlay_permission_preference" msgid="9039432222453006038">"Ilovani barcha oynalar ustidan ochish"</string>
     <string name="allow_overlay_description" msgid="3879905262954599959">"Interfeys elementlarini boshqa oynalar ustidan ko‘rsatish. Bu ilovalar bilan ishlashingizga xalaqit qilishi yoki ularning interfeysini buzib tashlashi mumkin."</string>
     <string name="keywords_vr_listener" msgid="7441221822576384680">"vr virtual borliq tinglovchi stereo yordamchi xizmat"</string>
     <string name="keywords_system_alert_window" msgid="5049498015597864850">"tizim signal muloqot oynasi boshqa ilovalar ustidan ochilish"</string>
-    <string name="overlay_settings" msgid="6930854109449524280">"Boshqa oynalar ustidan ko‘rsatish"</string>
-    <string name="system_alert_window_summary" msgid="602892301318324492">"<xliff:g id="COUNT_0">%1$d</xliff:g> / <xliff:g id="COUNT_1">%2$d</xliff:g> ta ilova boshqa oynalar ustidan ko‘rsatilishi mumkin"</string>
+    <string name="overlay_settings" msgid="6930854109449524280">"Boshqa oynalar ustidan ochish"</string>
+    <string name="system_alert_window_summary" msgid="602892301318324492">"<xliff:g id="COUNT_0">%1$d</xliff:g> ta ilova boshqa oynalar ustidan ochilishi mumkin (jami: <xliff:g id="COUNT_1">%2$d</xliff:g>)"</string>
     <string name="filter_overlay_apps" msgid="6965969283342557573">"Ruxsatga ega ilovalar"</string>
     <string name="system_alert_window_on" msgid="2939489395109048888">"Ha"</string>
     <string name="system_alert_window_off" msgid="6189115687233061992">"Yo‘q"</string>
@@ -3668,8 +3670,8 @@
     <!-- no translation found for enterprise_privacy_apps_count_estimation_info (7433213592572082606) -->
     <skip />
     <!-- no translation found for enterprise_privacy_number_packages_lower_bound (3005116533873542976) -->
-    <string name="enterprise_privacy_location_access" msgid="4158197200885270634">"Joylashuv uchun ruxsatlar"</string>
-    <string name="enterprise_privacy_microphone_access" msgid="5717375623568864441">"Mikrofon uchun ruxsatlar"</string>
+    <string name="enterprise_privacy_location_access" msgid="4158197200885270634">"Joylashuv axborotiga ruxsat"</string>
+    <string name="enterprise_privacy_microphone_access" msgid="5717375623568864441">"Mikrofonga ruxsat"</string>
     <string name="enterprise_privacy_camera_access" msgid="4858146118537519375">"Kamera uchun ruxsatlar"</string>
     <string name="enterprise_privacy_enterprise_set_default_apps" msgid="3288495615791128724">"Birlamchi ilovalar"</string>
     <plurals name="enterprise_privacy_number_packages" formatted="false" msgid="2765037387436064893">
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 6744c5b..70295ea 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Mức tiêu thụ của màn hình"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Quét mạng di động"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 535cf02..ff909f9 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"屏幕耗电量"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"移动网络扫描"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index a380467..1d15cfb 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -1974,7 +1974,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"螢幕耗電量"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"流動網絡掃瞄"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
@@ -3326,7 +3328,7 @@
     <string name="system_alert_window_apps_title" msgid="7005760279028569491">"應用程式"</string>
     <string name="system_alert_window_access_title" msgid="6297115362542361241">"在其他應用程式上顯示內容"</string>
     <string name="permit_draw_overlay" msgid="7456536798718633432">"允許在其他應用程式上顯示內容"</string>
-    <string name="app_overlay_permission_preference" msgid="9039432222453006038">"允許應用程式在上層顯示的權限設定"</string>
+    <string name="app_overlay_permission_preference" msgid="9039432222453006038">"允許應用程式在頂端顯示"</string>
     <string name="allow_overlay_description" msgid="3879905262954599959">"此功能可讓某個應用程式在您目前使用的其他應用程式上層顯示內容，因此可能會干擾您使用相關應用程式，或變更這些應用程式的顯示或運作方式。"</string>
     <string name="keywords_vr_listener" msgid="7441221822576384680">"VR 虛擬實境 接聽器 立體聲 協助服務"</string>
     <string name="keywords_system_alert_window" msgid="5049498015597864850">"系統提示視窗對話框在其他應用程式上層顯示"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index a04a35a..ebbd16d 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -1973,7 +1973,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"螢幕耗電量"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"行動網路掃描作業"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index e75f0ee..70cf9d5 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -1974,7 +1974,9 @@
     <skip />
     <string name="device_screen_consumption" msgid="4607589286438986687">"Ukusetshenziswa kwesikrini"</string>
     <string name="device_cellular_network" msgid="4724773411762382950">"Ukuskena kwenethiwekhi yeselula"</string>
-    <!-- no translation found for power_usage_list_summary (8021153615115240403) -->
+    <!-- no translation found for power_last_full_charge_summary (532845389094620657) -->
+    <skip />
+    <!-- no translation found for power_usage_list_summary (6775339745194635000) -->
     <skip />
     <!-- no translation found for screen_usage_summary (6687403051423153550) -->
     <skip />
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 6578374..4ebc07b 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -3880,13 +3880,6 @@
     <string name="show_password">Show passwords</string>
     <!-- On Security & location settings screen. This is a short summary text describing what "Show passwords" setting does -->
     <string name="show_password_summary">Display characters briefly as you type</string>
-    <!-- Warning message about security implications of enabling an input method, displayed as a dialog
-         message when the user selects to enable an IME. -->
-    <string name="ime_security_warning">This input method may be able to collect
-    all the text you type, including personal data like passwords and credit
-    card numbers.  It comes from the app
-    <xliff:g id="ime_application_name">%1$s</xliff:g>.
-    Use this input method?</string>
     <!-- Warning message about security implications of enabling a spell checker, displayed as a dialog
          message when the user selects to enable a spell checker. -->
     <string name="spellchecker_security_warning">This spell checker may be able to collect
@@ -3898,9 +3891,6 @@
     <string name="spellchecker_quick_settings">Settings</string>
     <!-- Image button description for spell checker language. -->
     <string name="spellchecker_language">Language</string>
-    <!-- Toast that settings for an application is failed to open. -->
-    <string name="failed_to_open_app_settings_toast">Failed to open settings for <xliff:g id="spell_application_name">%1$s</xliff:g></string>
-
     <!-- Title for the 'keyboard and input methods' preference category. [CHAR LIMIT=45] -->
     <string name="keyboard_and_input_methods_category">Keyboard &amp; inputs</string>
     <!-- Title for the 'virtual keyboard' preference sub-screen. [CHAR LIMIT=35] -->
@@ -5656,6 +5646,8 @@
     <string name="vpn_always_on_summary">Stay connected to VPN at all times</string>
     <!-- Preference summary for app not supporting always-on VPN [CHAR LIMIT=40] -->
     <string name="vpn_always_on_summary_not_supported">Not supported by this app</string>
+    <!-- Preference summary for a VPN app that is set to be always-on. [CHAR LIMIT=40]  -->
+    <string name="vpn_always_on_summary_active">Always-on active</string>
     <!-- Preference title for the toggle that controls whether to force all network connections to
         go through VPN. [CHAR LIMIT=40] -->
     <string name="vpn_require_connection">Block connections without VPN</string>
@@ -7434,7 +7426,7 @@
     <!-- Title of one of the choices in a dialog (with title defined in usb_use) that lets the user
          select what the USB connection for this device should be used for. This choice
          is for charging only. -->
-    <string name="usb_use_charging_only">Charging this device</string>
+    <string name="usb_use_charging_only">Charge this device</string>
     <!-- Decription of one of the choices in a dialog (with title defined in usb_use) that lets the
          user select what the USB connection for this device should be used for. This choice
          is for charging only. -->
@@ -7442,15 +7434,15 @@
     <!-- Title of one of the choices in a dialog (with title defined in usb_use) that lets the user
          select what the USB connection for this device should be used for. This choice
          is for powering the other device only. -->
-    <string name="usb_use_power_only">Supplying power</string>
+    <string name="usb_use_power_only">Supply power</string>
     <!-- Decription of one of the choices in a dialog (with title defined in usb_use) that lets the
          user select what the USB connection for this device should be used for. This choice
          is for powering the other device. -->
-    <string name="usb_use_power_only_desc">Supply power to the other connected device</string>
+    <string name="usb_use_power_only_desc">Charge the connected device. Works only with devices that support USB charging.</string>
     <!-- Title of one of the choices in a dialog (with title defined in usb_use) that lets the user
          select what the USB connection for this device should be used for. This choice
          is for transferring files via MTP. -->
-    <string name="usb_use_file_transfers">Transferring files</string>
+    <string name="usb_use_file_transfers">Transfer files</string>
     <!-- Description of one of the choices in a dialog (with title defined in usb_use) that lets the user
          select what the USB connection for this device should be used for. This choice
          is for transferring files via MTP. -->
@@ -7458,7 +7450,7 @@
     <!-- Title of one of the choices in a dialog (with title defined in usb_use) that lets the user
          select what the USB connection for this device should be used for. This choice
          is for transferring photos via PTP. -->
-    <string name="usb_use_photo_transfers">Transferring photos (PTP)</string>
+    <string name="usb_use_photo_transfers">Transfer photos (PTP)</string>
     <!-- Description of one of the choices in a dialog (with title defined in usb_use) that lets the user
          select what the USB connection for this device should be used for. This choice
          is for transferring photos via PTP. -->
@@ -7466,7 +7458,7 @@
     <!-- Title of one of the choices in a dialog (with title defined in usb_use) that lets the user
          select what the USB connection for this device should be used for. This choice
          is for entering MIDI mode. -->
-    <string name="usb_use_MIDI">Using device as MIDI</string>
+    <string name="usb_use_MIDI">Use device as MIDI</string>
     <!-- Description of one of the choices in a dialog (with title defined in usb_use) that lets the user
          select what the USB connection for this device should be used for. This choice
          is for entering MIDI mode. -->
@@ -7479,6 +7471,17 @@
     <!-- Settings item title for USB preference [CHAR LIMIT=35] -->
     <string name="usb_pref">USB</string>
 
+    <!-- Settings item summary for USB preference when set to charging only [CHAR LIMIT=NONE] -->
+    <string name="usb_summary_charging_only">Charging this device</string>
+    <!-- Settings item summary for USB preference when set to powering the other device only [CHAR LIMIT=NONE] -->
+    <string name="usb_summary_power_only">Supplying power</string>
+    <!-- Settings item summary for USB preference when set to transferring files via MTP [CHAR LIMIT=NONE] -->
+    <string name="usb_summary_file_transfers">Transferring files</string>
+    <!-- Settings item summary for USB preference when set to transferring photos via PTP [CHAR LIMIT=NONE] -->
+    <string name="usb_summary_photo_transfers">Transferring photos (PTP)</string>
+    <!-- Settings item summary for USB preference when set to entering MIDI mode [CHAR LIMIT=NONE] -->
+    <string name="usb_summary_MIDI">Using device as MIDI</string>
+
     <!-- Settings item title for background check prefs [CHAR LIMIT=35] -->
     <string name="background_check_pref">Background check</string>
 
@@ -7618,7 +7621,7 @@
     <!-- Link to the apps page for SYSTEM_ALERT_WINDOW settings [CHAR LIMIT=45] -->
     <string name="app_overlay_permission_preference">App display on top permission</string>
     <!-- Description of allowing overlay setting [CHAR LIMIT=NONE] -->
-    <string name="allow_overlay_description">This feature allows an app to display on top of other apps you\u2019re using. It may interfere with your use of those apps or change the way they seem to appear or behave.</string>
+    <string name="allow_overlay_description">Allow this app to display on top of other apps you\u2019re using. It may interfere with your use of those apps or change the way they seem to appear or behave.</string>
 
     <!-- Keyword for VR setting -->
     <string name="keywords_vr_listener">vr virtual reality listener stereo helper service</string>
@@ -8594,8 +8597,11 @@
     <string name="storage_percent_full">full</string>
 
 
-    <!-- Label for button allow user to clear the data for an instant app -->
+    <!-- Label for button allow user to remove the instant app from the device. -->
     <string name="clear_instant_app_data">Clear app</string>
+    <!-- Confirmation message displayed when the user taps Clear app, to ensure they want to remove
+         the instant app from the device. -->
+    <string name="clear_instant_app_confirmation">Do you want to remove this instant app?</string>
 
     <!-- Title of games app storage screen [CHAR LIMIT=30] -->
     <string name="game_storage_settings">Games</string>
diff --git a/res/xml/enterprise_privacy_settings.xml b/res/xml/enterprise_privacy_settings.xml
index aee897d..3ea0860 100644
--- a/res/xml/enterprise_privacy_settings.xml
+++ b/res/xml/enterprise_privacy_settings.xml
@@ -39,7 +39,6 @@
         <com.android.settings.DividerPreference
                 android:key="network_logs"
                 android:title="@string/enterprise_privacy_network_logs"
-                android:visibility="gone"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="bug_reports"
@@ -48,7 +47,6 @@
         <com.android.settings.DividerPreference
                 android:key="security_logs"
                 android:title="@string/enterprise_privacy_security_logs"
-                android:visibility="gone"
                 settings:multiLine="true"/>
     </PreferenceCategory>
 
@@ -56,51 +54,41 @@
         <com.android.settings.DividerPreference
                 android:key="number_enterprise_installed_packages"
                 android:title="@string/enterprise_privacy_enterprise_installed_packages"
-                android:visibility="gone"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="enterprise_privacy_number_location_access_packages"
                 android:title="@string/enterprise_privacy_location_access"
-                android:visibility="gone"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="enterprise_privacy_number_microphone_access_packages"
                 android:title="@string/enterprise_privacy_microphone_access"
-                android:visibility="gone"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="enterprise_privacy_number_camera_access_packages"
                 android:title="@string/enterprise_privacy_camera_access"
-                android:visibility="gone"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="number_enterprise_set_default_apps"
                 android:title="@string/enterprise_privacy_enterprise_set_default_apps"
-                android:visibility="gone"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="always_on_vpn_primary_user"
-                android:visibility="gone"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="always_on_vpn_managed_profile"
                 android:title="@string/enterprise_privacy_always_on_vpn_work"
-                android:visibility="gone"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="input_method"
                 android:title="@string/enterprise_privacy_input_method"
-                android:visibility="gone"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="global_http_proxy"
                 android:title="@string/enterprise_privacy_global_http_proxy"
-                android:visibility="gone"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="ca_certs"
                 android:title="@string/enterprise_privacy_ca_certs"
-                android:visibility="gone"
                 settings:multiLine="true"/>
     </PreferenceCategory>
 
@@ -112,14 +100,12 @@
                 android:title="@string/enterprise_privacy_wipe_device"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
-                android:key="failed_password_wipe_primary_user"
+                android:key="failed_password_wipe_current_user"
                 android:title="@string/enterprise_privacy_failed_password_wipe_device"
-                android:visibility="gone"
                 settings:multiLine="true"/>
         <com.android.settings.DividerPreference
                 android:key="failed_password_wipe_managed_profile"
                 android:title="@string/enterprise_privacy_failed_password_wipe_work"
-                android:visibility="gone"
                 settings:multiLine="true"/>
     </PreferenceCategory>
 </PreferenceScreen>
diff --git a/res/xml/external_sources_details.xml b/res/xml/external_sources_details.xml
index fb443f4..6bc7390 100644
--- a/res/xml/external_sources_details.xml
+++ b/res/xml/external_sources_details.xml
@@ -14,13 +14,17 @@
      limitations under the License.
 -->
 
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+        xmlns:settings="http://schemas.android.com/apk/res/com.android.settings"
+        android:title="@string/install_other_apps">
 
-    <SwitchPreference
-        android:key="external_sources_settings_switch" />
+    <com.android.settingslib.RestrictedSwitchPreference
+        android:key="external_sources_settings_switch"
+        android:title="@string/external_source_switch_title" />
 
     <Preference
         android:key="external_sources_settings_description"
+        android:summary="@string/install_all_warning"
         android:selectable="false" />
 
 </PreferenceScreen>
diff --git a/res/xml/wifi_network_details_fragment.xml b/res/xml/wifi_network_details_fragment.xml
index dbbf0c3..09bcf86 100644
--- a/res/xml/wifi_network_details_fragment.xml
+++ b/res/xml/wifi_network_details_fragment.xml
@@ -34,40 +34,52 @@
 
         <com.android.settings.wifi.WifiDetailPreference
                 android:key="signal_strength"
-                android:title="@string/wifi_signal" />
+                android:title="@string/wifi_signal"
+                android:selectable="false"/>
 
         <com.android.settings.wifi.WifiDetailPreference
                 android:key="frequency"
                 android:icon="@drawable/ic_frequency_antenna"
-                android:title="@string/wifi_frequency" />
+                android:title="@string/wifi_frequency"
+                android:selectable="false"/>
 
         <com.android.settings.wifi.WifiDetailPreference
                 android:key="security"
                 android:icon="@drawable/ic_security_lock_24dp"
-                android:title="@string/wifi_security" />
+                android:title="@string/wifi_security"
+                android:selectable="false"/>
     </PreferenceCategory>
 
-    <!-- IP Details -->
+    <!-- Network Details -->
     <PreferenceCategory
             android:key="ip_details_category"
-            android:title="@string/wifi_ip_address">
+            android:title="@string/wifi_setup_detail">
         <com.android.settings.wifi.WifiDetailPreference
                 android:key="ip_address"
-                android:title="@string/wifi_ip_address" />
+                android:title="@string/wifi_ip_address"
+                android:selectable="false"/>
         <com.android.settings.wifi.WifiDetailPreference
                 android:key="router"
-                android:title="@string/wifi_gateway" />
+                android:title="@string/wifi_gateway"
+                android:selectable="false"/>
         <com.android.settings.wifi.WifiDetailPreference
                 android:key="subnet_mask"
-                android:title="@string/wifi_details_subnet_mask" />
+                android:title="@string/wifi_details_subnet_mask"
+                android:selectable="false"/>
         <com.android.settings.wifi.WifiDetailPreference
                 android:key="dns"
-                android:title="@string/wifi_details_dns" />
+                android:title="@string/wifi_details_dns"
+                android:selectable="false"/>
+        <com.android.settings.wifi.WifiDetailPreference
+                android:key="link_speed"
+                android:title="@string/wifi_speed"
+                android:selectable="false"/>
     </PreferenceCategory>
 
     <!-- IPv6 Details -->
     <PreferenceCategory
             android:key="ipv6_details_category"
-            android:title="@string/wifi_details_ipv6_address_header" />
+            android:title="@string/wifi_details_ipv6_address_header"
+            android:selectable="false"/>
 
 </PreferenceScreen>
diff --git a/src/com/android/settings/ApnPreference.java b/src/com/android/settings/ApnPreference.java
old mode 100644
new mode 100755
index a6ab8b7..0111b26
--- a/src/com/android/settings/ApnPreference.java
+++ b/src/com/android/settings/ApnPreference.java
@@ -23,6 +23,7 @@
 import android.provider.Telephony;
 import android.support.v7.preference.Preference;
 import android.support.v7.preference.PreferenceViewHolder;
+import android.telephony.SubscriptionManager;
 import android.util.AttributeSet;
 import android.util.Log;
 import android.view.View;
@@ -35,6 +36,8 @@
         CompoundButton.OnCheckedChangeListener, OnClickListener {
     final static String TAG = "ApnPreference";
 
+    private int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+
     public ApnPreference(Context context, AttributeSet attrs, int defStyle) {
         super(context, attrs, defStyle);
     }
@@ -116,7 +119,9 @@
             if (context != null) {
                 int pos = Integer.parseInt(getKey());
                 Uri url = ContentUris.withAppendedId(Telephony.Carriers.CONTENT_URI, pos);
-                context.startActivity(new Intent(Intent.ACTION_EDIT, url));
+                Intent editIntent = new Intent(Intent.ACTION_EDIT, url);
+                editIntent.putExtra(ApnSettings.SUB_ID, mSubId);
+                context.startActivity(editIntent);
             }
         }
     }
@@ -128,4 +133,8 @@
     public boolean getSelectable() {
         return mSelectable;
     }
+
+    public void setSubId(int subId) {
+        mSubId = subId;
+    }
 }
diff --git a/src/com/android/settings/ApnSettings.java b/src/com/android/settings/ApnSettings.java
index c0b9485..5e31a02 100755
--- a/src/com/android/settings/ApnSettings.java
+++ b/src/com/android/settings/ApnSettings.java
@@ -240,8 +240,9 @@
 
     private void fillList() {
         final TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
-        final String mccmnc = mSubscriptionInfo == null ? ""
-            : tm.getSimOperator(mSubscriptionInfo.getSubscriptionId());
+        final int subId = mSubscriptionInfo != null ? mSubscriptionInfo.getSubscriptionId()
+                : SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+        final String mccmnc = mSubscriptionInfo == null ? "" : tm.getSimOperator(subId);
         Log.d(TAG, "mccmnc = " + mccmnc);
         StringBuilder where = new StringBuilder("numeric=\"" + mccmnc +
                 "\" AND NOT (type='ia' AND (apn=\"\" OR apn IS NULL)) AND user_visible!=0");
@@ -257,8 +258,8 @@
         if (cursor != null) {
             IccRecords r = null;
             if (mUiccController != null && mSubscriptionInfo != null) {
-                r = mUiccController.getIccRecords(SubscriptionManager.getPhoneId(
-                        mSubscriptionInfo.getSubscriptionId()), UiccController.APP_FAM_3GPP);
+                r = mUiccController.getIccRecords(
+                        SubscriptionManager.getPhoneId(subId), UiccController.APP_FAM_3GPP);
             }
             PreferenceGroup apnList = (PreferenceGroup) findPreference("apn_list");
             apnList.removeAll();
@@ -285,6 +286,7 @@
                 pref.setSummary(apn);
                 pref.setPersistent(false);
                 pref.setOnPreferenceChangeListener(this);
+                pref.setSubId(subId);
 
                 boolean selectable = ((type == null) || !type.equals("mms"));
                 pref.setSelectable(selectable);
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 8f645f8..589421f 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -16,7 +16,10 @@
 
 package com.android.settings;
 
+import android.os.Bundle;
+
 import com.android.settings.applications.AppOpsSummary;
+import com.android.settings.enterprise.EnterprisePrivacySettings;
 import com.android.settings.fingerprint.FingerprintEnrollIntroduction;
 import com.android.settings.fingerprint.FingerprintSettings;
 
@@ -154,7 +157,15 @@
     public static class TestingSettingsActivity extends SettingsActivity { /* empty */ }
     public static class WifiAPITestActivity extends SettingsActivity { /* empty */ }
     public static class WifiInfoActivity extends SettingsActivity { /* empty */ }
-    public static class EnterprisePrivacySettingsActivity extends SettingsActivity { /* empty */ }
+    public static class EnterprisePrivacySettingsActivity extends SettingsActivity {
+        @Override
+        public void onCreate(Bundle savedInstanceState) {
+            super.onCreate(savedInstanceState);
+            if (!EnterprisePrivacySettings.isPageEnabled(this)) {
+                finish();
+            }
+        }
+    }
     public static class WebViewAppPickerActivity extends SettingsActivity { /* empty */ }
 
     // Top level categories for new IA
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 09380e5..015af17 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -60,7 +60,6 @@
 import com.android.settings.dashboard.DashboardFeatureProvider;
 import com.android.settings.dashboard.DashboardSummary;
 import com.android.settings.development.DevelopmentSettings;
-import com.android.settings.enterprise.EnterprisePrivacySettings;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.search.DynamicIndexableContentMonitor;
 import com.android.settings.search2.SearchFeatureProvider;
@@ -827,10 +826,6 @@
                 isAdmin || Utils.isCarrierDemoUser(this));
 
         setTileEnabled(new ComponentName(packageName,
-                        Settings.EnterprisePrivacySettingsActivity.class.getName()),
-                EnterprisePrivacySettings.isPageEnabled(this), isAdmin);
-
-        setTileEnabled(new ComponentName(packageName,
                         Settings.WifiDisplaySettingsActivity.class.getName()),
                 WifiDisplaySettings.isAvailable(this), isAdmin);
 
diff --git a/src/com/android/settings/applications/AppCounter.java b/src/com/android/settings/applications/AppCounter.java
index 09a10e2..8758b14 100644
--- a/src/com/android/settings/applications/AppCounter.java
+++ b/src/com/android/settings/applications/AppCounter.java
@@ -20,6 +20,7 @@
 import android.content.pm.PackageManager;
 import android.content.pm.UserInfo;
 import android.os.AsyncTask;
+import android.os.UserHandle;
 import android.os.UserManager;
 
 import java.util.List;
@@ -37,7 +38,7 @@
     @Override
     protected Integer doInBackground(Void... params) {
         int count = 0;
-        for (UserInfo user : getUsersToCount()) {
+        for (UserInfo user : mUm.getProfiles(UserHandle.myUserId())) {
             final List<ApplicationInfo> list =
                     mPm.getInstalledApplicationsAsUser(PackageManager.GET_DISABLED_COMPONENTS
                             | PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS
@@ -62,6 +63,5 @@
     }
 
     protected abstract void onCountComplete(int num);
-    protected abstract List<UserInfo> getUsersToCount();
     protected abstract boolean includeInCount(ApplicationInfo info);
 }
diff --git a/src/com/android/settings/applications/AppHeaderController.java b/src/com/android/settings/applications/AppHeaderController.java
index 0bc9f8f..b138ede 100644
--- a/src/com/android/settings/applications/AppHeaderController.java
+++ b/src/com/android/settings/applications/AppHeaderController.java
@@ -212,18 +212,22 @@
         ImageView iconView = (ImageView) mAppHeader.findViewById(R.id.app_detail_icon);
         if (iconView != null) {
             iconView.setImageDrawable(mIcon);
+            ImageView badgeView = mAppHeader.findViewById(R.id.app_icon_instant_apps_badge);
+            if (badgeView != null) {
+                badgeView.setVisibility(mIsInstantApp ? View.VISIBLE : View.GONE);
+            }
         }
         setText(R.id.app_detail_title, mLabel);
         setText(R.id.app_detail_summary, mSummary);
-        if (rebindActions) {
-            bindAppHeaderButtons();
-        }
-
         if (mIsInstantApp) {
             setText(R.id.install_type,
                     mAppHeader.getResources().getString(R.string.install_type_instant));
         }
 
+        if (rebindActions) {
+            bindAppHeaderButtons();
+        }
+
         return mAppHeader;
     }
 
diff --git a/src/com/android/settings/applications/ApplicationFeatureProvider.java b/src/com/android/settings/applications/ApplicationFeatureProvider.java
index 1816793..5e986db 100644
--- a/src/com/android/settings/applications/ApplicationFeatureProvider.java
+++ b/src/com/android/settings/applications/ApplicationFeatureProvider.java
@@ -37,11 +37,11 @@
      *  only relevant to instant apps.
      */
     InstantAppButtonsController newInstantAppButtonsController(Fragment fragment,
-            View view);
+            View view, InstantAppButtonsController.ShowDialogDelegate showDialogDelegate);
 
     /**
-     * Calculates the total number of apps installed on the device via policy across all users
-     * and managed profiles.
+     * Calculates the total number of apps installed on the device via policy in the current user
+     * and all its managed profiles.
      *
      * @param async Whether to count asynchronously in a background thread
      * @param callback The callback to invoke with the result
@@ -49,9 +49,8 @@
     void calculateNumberOfPolicyInstalledApps(boolean async, NumberOfAppsCallback callback);
 
     /**
-     * Asynchronously calculates the total number of apps installed on the device, across all users
-     * and managed profiles, that have been granted one or more of the given permissions by the
-     * admin.
+     * Asynchronously calculates the total number of apps installed in the current user and all its
+     * managed profiles that have been granted one or more of the given permissions by the admin.
      *
      * @param permissions Only consider apps that have been granted one or more of these permissions
      *        by the admin, either at run-time or install-time
diff --git a/src/com/android/settings/applications/ApplicationFeatureProviderImpl.java b/src/com/android/settings/applications/ApplicationFeatureProviderImpl.java
index 7cc899b..4171857 100644
--- a/src/com/android/settings/applications/ApplicationFeatureProviderImpl.java
+++ b/src/com/android/settings/applications/ApplicationFeatureProviderImpl.java
@@ -22,7 +22,6 @@
 import android.content.pm.ComponentInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
-import android.content.pm.UserInfo;
 import android.os.RemoteException;
 import android.os.UserHandle;
 import android.os.UserManager;
@@ -59,14 +58,14 @@
 
     @Override
     public InstantAppButtonsController newInstantAppButtonsController(Fragment fragment,
-            View view) {
-        return new InstantAppButtonsController(mContext, fragment, view);
+            View view, InstantAppButtonsController.ShowDialogDelegate showDialogDelegate) {
+        return new InstantAppButtonsController(mContext, fragment, view, showDialogDelegate);
     }
 
     @Override
     public void calculateNumberOfPolicyInstalledApps(boolean async, NumberOfAppsCallback callback) {
-        final AllUserPolicyInstalledAppCounter counter =
-                new AllUserPolicyInstalledAppCounter(mContext, mPm, callback);
+        final CurrentUserAndManagedProfilePolicyInstalledAppCounter counter =
+                new CurrentUserAndManagedProfilePolicyInstalledAppCounter(mContext, mPm, callback);
         if (async) {
             counter.execute();
         } else {
@@ -77,9 +76,9 @@
     @Override
     public void calculateNumberOfAppsWithAdminGrantedPermissions(String[] permissions,
             boolean async, NumberOfAppsCallback callback) {
-        final AllUserAppWithAdminGrantedPermissionsCounter counter =
-                new AllUserAppWithAdminGrantedPermissionsCounter(mContext, permissions, mPm, mPms,
-                        mDpm, callback);
+        final CurrentUserAndManagedProfileAppWithAdminGrantedPermissionsCounter counter =
+                new CurrentUserAndManagedProfileAppWithAdminGrantedPermissionsCounter(mContext,
+                        permissions, mPm, mPms, mDpm, callback);
         if (async) {
             counter.execute();
         } else {
@@ -120,11 +119,12 @@
         return activities;
     }
 
-    private static class AllUserPolicyInstalledAppCounter extends InstalledAppCounter {
+    private static class CurrentUserAndManagedProfilePolicyInstalledAppCounter
+            extends InstalledAppCounter {
         private NumberOfAppsCallback mCallback;
 
-        AllUserPolicyInstalledAppCounter(Context context, PackageManagerWrapper packageManager,
-                                         NumberOfAppsCallback callback) {
+        CurrentUserAndManagedProfilePolicyInstalledAppCounter(Context context,
+                PackageManagerWrapper packageManager, NumberOfAppsCallback callback) {
             super(context, PackageManager.INSTALL_REASON_POLICY, packageManager);
             mCallback = callback;
         }
@@ -133,19 +133,15 @@
         protected void onCountComplete(int num) {
             mCallback.onNumberOfAppsResult(num);
         }
-
-        @Override
-        protected List<UserInfo> getUsersToCount() {
-            return mUm.getUsers(true /* excludeDying */);
-        }
     }
 
-    private static class AllUserAppWithAdminGrantedPermissionsCounter extends
-            AppWithAdminGrantedPermissionsCounter {
+    private static class CurrentUserAndManagedProfileAppWithAdminGrantedPermissionsCounter
+            extends AppWithAdminGrantedPermissionsCounter {
         private NumberOfAppsCallback mCallback;
 
-        AllUserAppWithAdminGrantedPermissionsCounter(Context context, String[] permissions,
-                PackageManagerWrapper packageManager, IPackageManagerWrapper packageManagerService,
+        CurrentUserAndManagedProfileAppWithAdminGrantedPermissionsCounter(Context context,
+                String[] permissions, PackageManagerWrapper packageManager,
+                IPackageManagerWrapper packageManagerService,
                 DevicePolicyManagerWrapper devicePolicyManager, NumberOfAppsCallback callback) {
             super(context, permissions, packageManager, packageManagerService, devicePolicyManager);
             mCallback = callback;
@@ -155,10 +151,5 @@
         protected void onCountComplete(int num) {
             mCallback.onNumberOfAppsResult(num);
         }
-
-        @Override
-        protected List<UserInfo> getUsersToCount() {
-            return mUm.getUsers(true /* excludeDying */);
-        }
     }
 }
diff --git a/src/com/android/settings/applications/ExternalSourcesDetails.java b/src/com/android/settings/applications/ExternalSourcesDetails.java
index 6441437..fe51a87 100644
--- a/src/com/android/settings/applications/ExternalSourcesDetails.java
+++ b/src/com/android/settings/applications/ExternalSourcesDetails.java
@@ -24,27 +24,26 @@
 import android.app.AppOpsManager;
 import android.content.Context;
 import android.os.Bundle;
-import android.support.v14.preference.SwitchPreference;
+import android.os.UserHandle;
+import android.os.UserManager;
 import android.support.v7.preference.Preference;
 import android.support.v7.preference.Preference.OnPreferenceChangeListener;
 
 import com.android.settings.R;
 import com.android.settings.Settings;
 import com.android.settings.applications.AppStateInstallAppsBridge.InstallAppsState;
+import com.android.settingslib.RestrictedSwitchPreference;
 import com.android.settingslib.applications.ApplicationsState.AppEntry;
 
 public class ExternalSourcesDetails extends AppInfoWithHeader
         implements OnPreferenceChangeListener {
 
-    private static final String KEY_EXTERNAL_SOURCES_SETTINGS_SWITCH =
-            "external_sources_settings_switch";
-    private static final String KEY_EXTERNAL_SOURCES_SETTINGS_DESC =
-            "external_sources_settings_description";
+    private static final String KEY_EXTERNAL_SOURCE_SWITCH = "external_sources_settings_switch";
 
     private AppStateInstallAppsBridge mAppBridge;
     private AppOpsManager mAppOpsManager;
-    private SwitchPreference mSwitchPref;
-    private Preference mExternalSourcesSettingsDesc;
+    private UserManager mUserManager;
+    private RestrictedSwitchPreference mSwitchPref;
     private InstallAppsState mInstallAppsState;
 
     @Override
@@ -54,15 +53,10 @@
         final Context context = getActivity();
         mAppBridge = new AppStateInstallAppsBridge(context, mState, null);
         mAppOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
+        mUserManager = UserManager.get(context);
 
         addPreferencesFromResource(R.xml.external_sources_details);
-        mSwitchPref = (SwitchPreference) findPreference(KEY_EXTERNAL_SOURCES_SETTINGS_SWITCH);
-        mExternalSourcesSettingsDesc = findPreference(KEY_EXTERNAL_SOURCES_SETTINGS_DESC);
-
-        getPreferenceScreen().setTitle(R.string.install_other_apps);
-        mSwitchPref.setTitle(R.string.external_source_switch_title);
-        mExternalSourcesSettingsDesc.setSummary(R.string.install_all_warning);
-
+        mSwitchPref = (RestrictedSwitchPreference) findPreference(KEY_EXTERNAL_SOURCE_SWITCH);
         mSwitchPref.setOnPreferenceChangeListener(this);
     }
 
@@ -84,6 +78,18 @@
     }
 
     static CharSequence getPreferenceSummary(Context context, AppEntry entry) {
+        final UserManager um = UserManager.get(context);
+        final int userRestrictionSource = um.getUserRestrictionSource(
+                UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES,
+                UserHandle.getUserHandleForUid(entry.info.uid));
+        switch (userRestrictionSource) {
+            case UserManager.RESTRICTION_SOURCE_DEVICE_OWNER:
+            case UserManager.RESTRICTION_SOURCE_PROFILE_OWNER:
+                return context.getString(R.string.disabled_by_admin);
+            case UserManager.RESTRICTION_SOURCE_SYSTEM:
+                return context.getString(R.string.disabled);
+        }
+
         final InstallAppsState appsState;
         if (entry.extraInfo instanceof InstallAppsState) {
             appsState = (InstallAppsState) entry.extraInfo;
@@ -103,6 +109,17 @@
 
     @Override
     protected boolean refreshUi() {
+        if (mUserManager.hasBaseUserRestriction(UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES,
+                UserHandle.of(UserHandle.myUserId()))) {
+            mSwitchPref.setChecked(false);
+            mSwitchPref.setSummary(R.string.disabled);
+            mSwitchPref.setEnabled(false);
+            return true;
+        }
+        mSwitchPref.checkRestrictionAndSetDisabled(UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES);
+        if (mSwitchPref.isDisabledByAdmin()) {
+            return true;
+        }
         mInstallAppsState = mAppBridge.createInstallAppsStateFor(mPackageName,
                 mPackageInfo.applicationInfo.uid);
         if (!mInstallAppsState.isPotentialAppSource()) {
@@ -110,8 +127,7 @@
             mSwitchPref.setEnabled(false);
             return true;
         }
-        final boolean canInstallApps = mInstallAppsState.canInstallApps();
-        mSwitchPref.setChecked(canInstallApps);
+        mSwitchPref.setChecked(mInstallAppsState.canInstallApps());
         return true;
     }
 
diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java
index 4ef2796..c662c4a 100755
--- a/src/com/android/settings/applications/InstalledAppDetails.java
+++ b/src/com/android/settings/applications/InstalledAppDetails.java
@@ -85,6 +85,7 @@
 import com.android.settings.applications.defaultapps.DefaultHomePreferenceController;
 import com.android.settings.applications.defaultapps.DefaultPhonePreferenceController;
 import com.android.settings.applications.defaultapps.DefaultSmsPreferenceController;
+import com.android.settings.applications.instantapps.InstantAppButtonsController;
 import com.android.settings.datausage.AppDataUsage;
 import com.android.settings.datausage.DataUsageList;
 import com.android.settings.datausage.DataUsageSummary;
@@ -190,6 +191,8 @@
     protected ProcStatsData mStatsManager;
     protected ProcStatsPackageEntry mStats;
 
+    private InstantAppButtonsController mInstantAppButtonsController;
+
     private AppStorageStats mLastResult;
 
     private boolean handleDisableable(Button button) {
@@ -546,13 +549,16 @@
         final View appSnippet = mHeader.findViewById(R.id.app_snippet);
         mState.ensureIcon(mAppEntry);
         final Activity activity = getActivity();
+        final boolean isInstantApp = AppUtils.isInstant(mPackageInfo.applicationInfo);
+        final CharSequence summary =
+                isInstantApp ? null : getString(Utils.getInstallationStatus(mAppEntry.info));
         FeatureFactory.getFactory(activity)
             .getApplicationFeatureProvider(activity)
             .newAppHeaderController(this, appSnippet)
             .setLabel(mAppEntry)
             .setIcon(mAppEntry)
-            .setSummary(getString(Utils.getInstallationStatus(mAppEntry.info)))
-            .setIsInstantApp(AppUtils.isInstant(mPackageInfo.applicationInfo))
+            .setSummary(summary)
+            .setIsInstantApp(isInstantApp)
             .done(false /* rebindActions */);
         mVersionPreference.setSummary(getString(R.string.version_text, pkgInfo.versionName));
     }
@@ -768,6 +774,9 @@
                         .setNegativeButton(R.string.dlg_cancel, null)
                         .create();
         }
+        if (mInstantAppButtonsController != null) {
+            return mInstantAppButtonsController.createDialog(id);
+        }
         return null;
     }
 
@@ -1117,10 +1126,11 @@
         if (AppUtils.isInstant(mPackageInfo.applicationInfo)) {
             LayoutPreference buttons = (LayoutPreference) findPreference(KEY_INSTANT_APP_BUTTONS);
             final Activity activity = getActivity();
-            FeatureFactory.getFactory(activity)
+            mInstantAppButtonsController = FeatureFactory.getFactory(activity)
                     .getApplicationFeatureProvider(activity)
                     .newInstantAppButtonsController(this,
-                            buttons.findViewById(R.id.instant_app_button_container))
+                            buttons.findViewById(R.id.instant_app_button_container),
+                            id -> showDialogInner(id, 0))
                     .setPackageName(mPackageName)
                     .show();
         }
diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java
index f83dfeb..229e294 100644
--- a/src/com/android/settings/applications/ManageApplications.java
+++ b/src/com/android/settings/applications/ManageApplications.java
@@ -23,7 +23,6 @@
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageItemInfo;
 import android.content.pm.PackageManager;
-import android.content.pm.UserInfo;
 import android.icu.text.AlphabeticIndex;
 import android.os.Bundle;
 import android.os.Environment;
@@ -34,6 +33,7 @@
 import android.preference.PreferenceFrameLayout;
 import android.support.annotation.VisibleForTesting;
 import android.text.TextUtils;
+import android.util.ArraySet;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.Menu;
@@ -87,10 +87,12 @@
 import com.android.settingslib.applications.StorageStatsSource;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 import java.util.Locale;
+import java.util.Set;
 
 /**
  * Activity to pick an application that will be used to display installation information and
@@ -254,6 +256,12 @@
     public static final int LIST_TYPE_MANAGE_SOURCES = 8;
     public static final int LIST_TYPE_GAMES = 9;
 
+
+    // List types that should show instant apps.
+    public static final Set<Integer> LIST_TYPES_WITH_INSTANT = new ArraySet<>(Arrays.asList(
+                    LIST_TYPE_MAIN,
+                    LIST_TYPE_STORAGE));
+
     private View mRootView;
 
     private View mSpinnerHeader;
@@ -702,7 +710,9 @@
     }
 
     public void setHasInstant(boolean haveInstantApps) {
-        mFilterAdapter.setFilterEnabled(FILTER_APPS_INSTANT, haveInstantApps);
+        if (LIST_TYPES_WITH_INSTANT.contains(mListType)) {
+            mFilterAdapter.setFilterEnabled(FILTER_APPS_INSTANT, haveInstantApps);
+        }
     }
 
     static class FilterSpinnerAdapter extends ArrayAdapter<CharSequence> {
@@ -957,8 +967,13 @@
                 filterObj = mOverrideFilter;
             }
             if (!mManageApplications.mShowSystem) {
-                filterObj = new CompoundFilter(filterObj,
-                        ApplicationsState.FILTER_DOWNLOADED_AND_LAUNCHER);
+                if (LIST_TYPES_WITH_INSTANT.contains(mManageApplications.mListType)) {
+                    filterObj = new CompoundFilter(filterObj,
+                            ApplicationsState.FILTER_DOWNLOADED_AND_LAUNCHER_AND_INSTANT);
+                } else {
+                    filterObj = new CompoundFilter(filterObj,
+                            ApplicationsState.FILTER_DOWNLOADED_AND_LAUNCHER);
+                }
             }
             switch (mLastSortMode) {
                 case R.id.sort_order_size:
@@ -1404,11 +1419,6 @@
                         mLoader.setSummary(SummaryProvider.this,
                                 mContext.getString(R.string.apps_summary, num));
                     }
-
-                    @Override
-                    protected List<UserInfo> getUsersToCount() {
-                         return mUm.getProfiles(UserHandle.myUserId());
-                    }
                 }.execute();
             }
         }
diff --git a/src/com/android/settings/applications/NotificationApps.java b/src/com/android/settings/applications/NotificationApps.java
index 7aaa36e..c54363a 100644
--- a/src/com/android/settings/applications/NotificationApps.java
+++ b/src/com/android/settings/applications/NotificationApps.java
@@ -18,16 +18,11 @@
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
-import android.content.pm.UserInfo;
-import android.os.UserHandle;
-import android.os.UserManager;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.SummaryLoader;
 import com.android.settings.notification.NotificationBackend;
 
-import java.util.List;
-
 /**
  * Extension of ManageApplications with no changes other than having its own
  * SummaryProvider.
@@ -57,11 +52,6 @@
                     }
 
                     @Override
-                    protected List<UserInfo> getUsersToCount() {
-                         return mUm.getProfiles(UserHandle.myUserId());
-                    }
-
-                    @Override
                     protected boolean includeInCount(ApplicationInfo info) {
                         return mNotificationBackend.getNotificationsBanned(info.packageName,
                                 info.uid);
diff --git a/src/com/android/settings/applications/PackageManagerWrapper.java b/src/com/android/settings/applications/PackageManagerWrapper.java
index 2be92ed..8dae417 100644
--- a/src/com/android/settings/applications/PackageManagerWrapper.java
+++ b/src/com/android/settings/applications/PackageManagerWrapper.java
@@ -20,6 +20,7 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.pm.ApplicationInfo;
+import android.content.pm.IPackageDeleteObserver;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.os.UserHandle;
@@ -98,4 +99,10 @@
      */
     void replacePreferredActivity(IntentFilter homeFilter, int matchCategoryEmpty,
             ComponentName[] componentNames, ComponentName component);
+
+    /**
+     * Calls {@code PackageManager.deletePackageAsUser}
+     */
+    void deletePackageAsUser(String packageName, IPackageDeleteObserver observer, int flags,
+            int userId);
 }
diff --git a/src/com/android/settings/applications/PackageManagerWrapperImpl.java b/src/com/android/settings/applications/PackageManagerWrapperImpl.java
index 698c14c..a0d824f 100644
--- a/src/com/android/settings/applications/PackageManagerWrapperImpl.java
+++ b/src/com/android/settings/applications/PackageManagerWrapperImpl.java
@@ -20,6 +20,7 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.pm.ApplicationInfo;
+import android.content.pm.IPackageDeleteObserver;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.os.UserHandle;
@@ -90,4 +91,10 @@
             ComponentName[] componentNames, ComponentName component) {
         mPm.replacePreferredActivity(homeFilter, matchCategoryEmpty, componentNames, component);
     }
+
+    @Override
+    public void deletePackageAsUser(String packageName, IPackageDeleteObserver observer, int flags,
+            int userId) {
+        mPm.deletePackageAsUser(packageName, observer, flags, userId);
+    }
 }
diff --git a/src/com/android/settings/applications/defaultapps/DefaultAutofillPicker.java b/src/com/android/settings/applications/defaultapps/DefaultAutofillPicker.java
index ce9344f..d943de7 100644
--- a/src/com/android/settings/applications/defaultapps/DefaultAutofillPicker.java
+++ b/src/com/android/settings/applications/defaultapps/DefaultAutofillPicker.java
@@ -22,7 +22,6 @@
 import android.content.pm.ResolveInfo;
 import android.content.pm.ServiceInfo;
 import android.provider.Settings;
-import android.service.autofill.AutoFillService;
 import android.service.autofill.AutofillService;
 import android.service.autofill.AutofillServiceInfo;
 import android.text.TextUtils;
@@ -36,8 +35,6 @@
 public class DefaultAutofillPicker extends DefaultAppPickerFragment {
 
     static final String SETTING = Settings.Secure.AUTOFILL_SERVICE;
-    // TODO(b/35956626): remove once clients migrated
-    static final Intent OLD_AUTO_FILL_PROBE = new Intent(AutoFillService.OLD_SERVICE_INTERFACE);
     static final Intent AUTOFILL_PROBE = new Intent(AutofillService.SERVICE_INTERFACE);
 
     @Override
@@ -59,12 +56,6 @@
             candidates.add(new DefaultAppInfo(mPm, mUserId, new ComponentName(
                     info.serviceInfo.packageName, info.serviceInfo.name)));
         }
-        final List<ResolveInfo> oldResolveInfos = mPm.getPackageManager()
-                .queryIntentServices(OLD_AUTO_FILL_PROBE, PackageManager.GET_META_DATA);
-        for (ResolveInfo info : oldResolveInfos) {
-            candidates.add(new DefaultAppInfo(mPm, mUserId, new ComponentName(
-                    info.serviceInfo.packageName, info.serviceInfo.name)));
-        }
         return candidates;
     }
 
@@ -122,24 +113,6 @@
                 }
             }
 
-            final List<ResolveInfo> oldResolveInfos = mPackageManager.queryIntentServices(
-                    OLD_AUTO_FILL_PROBE, PackageManager.GET_META_DATA);
-
-            for (ResolveInfo resolveInfo : oldResolveInfos) {
-                final ServiceInfo serviceInfo = resolveInfo.serviceInfo;
-                final String flattenKey = new ComponentName(
-                        serviceInfo.packageName, serviceInfo.name).flattenToString();
-                if (TextUtils.equals(mSelectedKey, flattenKey)) {
-                    final String settingsActivity = new AutofillServiceInfo(
-                            mPackageManager, serviceInfo)
-                            .getSettingsActivity();
-                    if (TextUtils.isEmpty(settingsActivity)) {
-                        return null;
-                    }
-                    return new Intent(Intent.ACTION_MAIN).setComponent(
-                            new ComponentName(serviceInfo.packageName, settingsActivity));
-                }
-            }
             return null;
         }
     }
diff --git a/src/com/android/settings/applications/instantapps/InstantAppButtonsController.java b/src/com/android/settings/applications/instantapps/InstantAppButtonsController.java
index aa7c418..16956df 100644
--- a/src/com/android/settings/applications/instantapps/InstantAppButtonsController.java
+++ b/src/com/android/settings/applications/instantapps/InstantAppButtonsController.java
@@ -16,31 +16,53 @@
 
 package com.android.settings.applications.instantapps;
 
+import android.app.AlertDialog;
+import android.app.Fragment;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.os.UserHandle;
+import android.view.View;
+import android.widget.Button;
+
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.applications.AppStoreUtil;
+import com.android.settings.applications.PackageManagerWrapper;
+import com.android.settings.applications.PackageManagerWrapperImpl;
 import com.android.settings.overlay.FeatureFactory;
 
-import android.app.Fragment;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.widget.Button;
-
 /** Encapsulates a container for buttons relevant to instant apps */
-public class InstantAppButtonsController {
+public class InstantAppButtonsController implements DialogInterface.OnClickListener {
+
+    public interface ShowDialogDelegate {
+        /**
+         * Delegate that should be called when this controller wants to show a dialog.
+         */
+        void showDialog(int id);
+    }
 
     private final Context mContext;
     private final Fragment mFragment;
     private final View mView;
+    private final PackageManagerWrapper mPackageManagerWrapper;
+    private final ShowDialogDelegate mShowDialogDelegate;
     private String mPackageName;
 
-    public InstantAppButtonsController(Context context, Fragment fragment, View view) {
+    public static final int DLG_BASE = 0x5032;
+    public static final int DLG_CLEAR_APP = DLG_BASE + 1;
+
+    public InstantAppButtonsController(
+            Context context,
+            Fragment fragment,
+            View view,
+            ShowDialogDelegate showDialogDelegate) {
       mContext = context;
       mFragment = fragment;
       mView = view;
+      mShowDialogDelegate = showDialogDelegate;
+      mPackageManagerWrapper = new PackageManagerWrapperImpl(context.getPackageManager());
     }
 
     public InstantAppButtonsController setPackageName(String packageName) {
@@ -51,17 +73,38 @@
     public void bindButtons() {
         Button installButton = (Button)mView.findViewById(R.id.install);
         Button clearDataButton = (Button)mView.findViewById(R.id.clear_data);
-        Intent installIntent = AppStoreUtil.getAppStoreLink(mContext, mPackageName);
-        if (installIntent != null) {
+        Intent appStoreIntent = AppStoreUtil.getAppStoreLink(mContext, mPackageName);
+        if (appStoreIntent != null) {
             installButton.setEnabled(true);
-            installButton.setOnClickListener(v -> mFragment.startActivity(installIntent));
+            installButton.setOnClickListener(v -> mFragment.startActivity(appStoreIntent));
         }
-        clearDataButton.setOnClickListener(v -> {
-            FeatureFactory.getFactory(mContext).getMetricsFeatureProvider().action(mContext,
-                    MetricsEvent.ACTION_SETTINGS_CLEAR_INSTANT_APP, mPackageName);
-            PackageManager pm = mContext.getPackageManager();
-            pm.clearApplicationUserData(mPackageName, null);
-        });
+
+        clearDataButton.setOnClickListener(v -> mShowDialogDelegate.showDialog(DLG_CLEAR_APP));
+    }
+
+    public AlertDialog createDialog(int id) {
+        if (id == DLG_CLEAR_APP) {
+            AlertDialog dialog = new AlertDialog.Builder(mFragment.getActivity())
+                    .setPositiveButton(R.string.clear_instant_app_data, this)
+                    .setNegativeButton(R.string.cancel, null)
+                    .setTitle(R.string.clear_instant_app_data)
+                    .setMessage(mContext.getString(R.string.clear_instant_app_confirmation))
+                    .create();
+            return dialog;
+        }
+        return null;
+    }
+
+    public void onClick(DialogInterface dialog, int which) {
+        if (which == DialogInterface.BUTTON_POSITIVE) {
+            FeatureFactory.getFactory(mContext)
+                    .getMetricsFeatureProvider()
+                    .action(mContext,
+                            MetricsEvent.ACTION_SETTINGS_CLEAR_INSTANT_APP,
+                            mPackageName);
+            mPackageManagerWrapper.deletePackageAsUser(
+                    mPackageName, null, 0, UserHandle.myUserId());
+        }
     }
 
     public InstantAppButtonsController show() {
diff --git a/src/com/android/settings/bluetooth/RequestPermissionActivity.java b/src/com/android/settings/bluetooth/RequestPermissionActivity.java
index 20788c9..d2e2060 100644
--- a/src/com/android/settings/bluetooth/RequestPermissionActivity.java
+++ b/src/com/android/settings/bluetooth/RequestPermissionActivity.java
@@ -180,8 +180,8 @@
                 builder.setMessage(message);
             } else {
                 CharSequence message = mAppLabel != null
-                        ? getString(R.string.bluetooth_ask_discovery, mAppLabel)
-                        : getString(R.string.bluetooth_ask_discovery_no_name);
+                        ? getString(R.string.bluetooth_ask_discovery, mAppLabel, mTimeout)
+                        : getString(R.string.bluetooth_ask_discovery_no_name, mTimeout);
                 builder.setMessage(message);
             }
             builder.setPositiveButton(getString(R.string.allow), this);
diff --git a/src/com/android/settings/enterprise/AlwaysOnVpnPrimaryUserPreferenceController.java b/src/com/android/settings/enterprise/AlwaysOnVpnCurrentUserPreferenceController.java
similarity index 90%
rename from src/com/android/settings/enterprise/AlwaysOnVpnPrimaryUserPreferenceController.java
rename to src/com/android/settings/enterprise/AlwaysOnVpnCurrentUserPreferenceController.java
index e5823fe..e98ece8 100644
--- a/src/com/android/settings/enterprise/AlwaysOnVpnPrimaryUserPreferenceController.java
+++ b/src/com/android/settings/enterprise/AlwaysOnVpnCurrentUserPreferenceController.java
@@ -21,13 +21,13 @@
 import com.android.settings.core.lifecycle.Lifecycle;
 import com.android.settings.overlay.FeatureFactory;
 
-public class AlwaysOnVpnPrimaryUserPreferenceController
+public class AlwaysOnVpnCurrentUserPreferenceController
         extends DynamicAvailabilityPreferenceController {
 
     private static final String KEY_ALWAYS_ON_VPN_PRIMARY_USER = "always_on_vpn_primary_user";
     private final EnterprisePrivacyFeatureProvider mFeatureProvider;
 
-    public AlwaysOnVpnPrimaryUserPreferenceController(Context context, Lifecycle lifecycle) {
+    public AlwaysOnVpnCurrentUserPreferenceController(Context context, Lifecycle lifecycle) {
         super(context, lifecycle);
         mFeatureProvider = FeatureFactory.getFactory(context)
                 .getEnterprisePrivacyFeatureProvider(context);
@@ -42,7 +42,7 @@
 
     @Override
     public boolean isAvailable() {
-        return mFeatureProvider.isAlwaysOnVpnSetInPrimaryUser();
+        return mFeatureProvider.isAlwaysOnVpnSetInCurrentUser();
     }
 
     @Override
diff --git a/src/com/android/settings/enterprise/DevicePolicyManagerWrapper.java b/src/com/android/settings/enterprise/DevicePolicyManagerWrapper.java
index a154a2f..babf90e 100644
--- a/src/com/android/settings/enterprise/DevicePolicyManagerWrapper.java
+++ b/src/com/android/settings/enterprise/DevicePolicyManagerWrapper.java
@@ -52,13 +52,6 @@
     ComponentName getDeviceOwnerComponentOnAnyUser();
 
     /**
-     * Calls {@code DevicePolicyManager.getDeviceOwnerUserId()}.
-     *
-     * @see android.app.admin.DevicePolicyManager#getDeviceOwnerUserId
-     */
-    int getDeviceOwnerUserId();
-
-    /**
      * Calls {@code DevicePolicyManager.getProfileOwnerAsUser()}.
      *
      * @see android.app.admin.DevicePolicyManager#getProfileOwnerAsUser
diff --git a/src/com/android/settings/enterprise/DevicePolicyManagerWrapperImpl.java b/src/com/android/settings/enterprise/DevicePolicyManagerWrapperImpl.java
index 95a154b..7906310 100644
--- a/src/com/android/settings/enterprise/DevicePolicyManagerWrapperImpl.java
+++ b/src/com/android/settings/enterprise/DevicePolicyManagerWrapperImpl.java
@@ -47,11 +47,6 @@
     }
 
     @Override
-    public int getDeviceOwnerUserId() {
-        return mDpm.getDeviceOwnerUserId();
-    }
-
-    @Override
     public @Nullable ComponentName getProfileOwnerAsUser(final int userId) {
         return mDpm.getProfileOwnerAsUser(userId);
     }
diff --git a/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProvider.java b/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProvider.java
index 4ad0f2e..391db83 100644
--- a/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProvider.java
+++ b/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProvider.java
@@ -32,9 +32,9 @@
     boolean isInCompMode();
 
     /**
-     * Returns the name of the organization managing the device via a Device Owner app. If the device
-     * is not managed by a Device Owner app or the name of the managing organization was not set,
-     * returns {@code null}.
+     * Returns the name of the organization managing the device via a Device Owner app. If the
+     * device is not managed by a Device Owner app or the name of the managing organization was not
+     * set, returns {@code null}.
      */
     String getDeviceOwnerOrganizationName();
 
@@ -74,12 +74,13 @@
     boolean isNetworkLoggingEnabled();
 
     /**
-     * Returns whether the Device Owner in the primary user set an always-on VPN.
+     * Returns whether the Device Owner or Profile Owner in the current user set an always-on VPN.
      */
-    boolean isAlwaysOnVpnSetInPrimaryUser();
+    boolean isAlwaysOnVpnSetInCurrentUser();
 
     /**
-     * Returns whether the Profile Owner in the managed profile (if any) set an always-on VPN.
+     * Returns whether the Profile Owner in the current user's managed profile (if any) set an
+     * always-on VPN.
      */
     boolean isAlwaysOnVpnSetInManagedProfile();
 
@@ -89,10 +90,10 @@
     boolean isGlobalHttpProxySet();
 
     /**
-     * Returns the number of failed login attempts that the Device Owner allows before the entire
-     * device is wiped, or zero if no such limit is set.
+     * Returns the number of failed login attempts that the Device Owner or Profile Owner allows
+     * before the current user is wiped, or zero if no such limit is set.
      */
-    int getMaximumFailedPasswordsBeforeWipeInPrimaryUser();
+    int getMaximumFailedPasswordsBeforeWipeInCurrentUser();
 
     /**
      * Returns the number of failed login attempts that the Profile Owner allows before the current
diff --git a/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java b/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java
index 6d038dc..5817cf2 100644
--- a/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java
+++ b/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java
@@ -142,7 +142,7 @@
     }
 
     @Override
-    public boolean isAlwaysOnVpnSetInPrimaryUser() {
+    public boolean isAlwaysOnVpnSetInCurrentUser() {
         return VpnUtils.isAlwaysOnVpnSet(mCm, MY_USER_ID);
     }
 
@@ -159,12 +159,12 @@
     }
 
     @Override
-    public int getMaximumFailedPasswordsBeforeWipeInPrimaryUser() {
-        final ComponentName deviceOwner = mDpm.getDeviceOwnerComponentOnAnyUser();
-        if (deviceOwner == null) {
+    public int getMaximumFailedPasswordsBeforeWipeInCurrentUser() {
+        final ComponentName profileOwner = mDpm.getProfileOwnerAsUser(MY_USER_ID);
+        if (profileOwner == null) {
             return 0;
         }
-        return mDpm.getMaximumFailedPasswordsForWipe(deviceOwner, mDpm.getDeviceOwnerUserId());
+        return mDpm.getMaximumFailedPasswordsForWipe(profileOwner, MY_USER_ID);
     }
 
     @Override
diff --git a/src/com/android/settings/enterprise/EnterprisePrivacySettings.java b/src/com/android/settings/enterprise/EnterprisePrivacySettings.java
index 9649d84..a80dec0 100644
--- a/src/com/android/settings/enterprise/EnterprisePrivacySettings.java
+++ b/src/com/android/settings/enterprise/EnterprisePrivacySettings.java
@@ -70,11 +70,11 @@
         controllers.add(new AdminGrantedCameraPermissionPreferenceController(context, lifecycle,
                 async));
         controllers.add(new EnterpriseSetDefaultAppsPreferenceController(context, lifecycle));
-        controllers.add(new AlwaysOnVpnPrimaryUserPreferenceController(context, lifecycle));
+        controllers.add(new AlwaysOnVpnCurrentUserPreferenceController(context, lifecycle));
         controllers.add(new AlwaysOnVpnManagedProfilePreferenceController(context, lifecycle));
         controllers.add(new GlobalHttpProxyPreferenceController(context, lifecycle));
         controllers.add(new CaCertsPreferenceController(context, lifecycle));
-        controllers.add(new FailedPasswordWipePrimaryUserPreferenceController(context, lifecycle));
+        controllers.add(new FailedPasswordWipeCurrentUserPreferenceController(context, lifecycle));
         controllers.add(new FailedPasswordWipeManagedProfilePreferenceController(context,
                 lifecycle));
         controllers.add(new ImePreferenceController(context, lifecycle));
diff --git a/src/com/android/settings/enterprise/FailedPasswordWipePrimaryUserPreferenceController.java b/src/com/android/settings/enterprise/FailedPasswordWipeCurrentUserPreferenceController.java
similarity index 77%
rename from src/com/android/settings/enterprise/FailedPasswordWipePrimaryUserPreferenceController.java
rename to src/com/android/settings/enterprise/FailedPasswordWipeCurrentUserPreferenceController.java
index 2e18f89..d3f9a98 100644
--- a/src/com/android/settings/enterprise/FailedPasswordWipePrimaryUserPreferenceController.java
+++ b/src/com/android/settings/enterprise/FailedPasswordWipeCurrentUserPreferenceController.java
@@ -17,23 +17,23 @@
 
 import com.android.settings.core.lifecycle.Lifecycle;
 
-public class FailedPasswordWipePrimaryUserPreferenceController
+public class FailedPasswordWipeCurrentUserPreferenceController
         extends FailedPasswordWipePreferenceControllerBase {
 
-    private static final String KEY_FAILED_PASSWORD_WIPE_PRIMARY_USER
-            = "failed_password_wipe_primary_user";
+    private static final String KEY_FAILED_PASSWORD_WIPE_CURRENT_USER
+            = "failed_password_wipe_current_user";
 
-    public FailedPasswordWipePrimaryUserPreferenceController(Context context, Lifecycle lifecycle) {
+    public FailedPasswordWipeCurrentUserPreferenceController(Context context, Lifecycle lifecycle) {
         super(context, lifecycle);
     }
 
     @Override
     protected int getMaximumFailedPasswordsBeforeWipe() {
-        return mFeatureProvider.getMaximumFailedPasswordsBeforeWipeInPrimaryUser();
+        return mFeatureProvider.getMaximumFailedPasswordsBeforeWipeInCurrentUser();
     }
 
     @Override
     public String getPreferenceKey() {
-        return KEY_FAILED_PASSWORD_WIPE_PRIMARY_USER;
+        return KEY_FAILED_PASSWORD_WIPE_CURRENT_USER;
     }
 }
diff --git a/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java b/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
index a6df7a3..a7862ae 100644
--- a/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
@@ -43,12 +43,11 @@
 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;
 
 import java.text.Collator;
 import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
 import java.util.List;
 
 public final class AvailableVirtualKeyboardFragment extends SettingsPreferenceFragment
@@ -115,7 +114,7 @@
     private static Drawable getInputMethodIcon(@NonNull final PackageManager packageManager,
             @NonNull final InputMethodInfo imi) {
         final ServiceInfo si = imi.getServiceInfo();
-        final ApplicationInfo ai = si.applicationInfo;
+        final ApplicationInfo ai = si != null ? si.applicationInfo : null;
         final String packageName = imi.getPackageName();
         if (si == null || ai == null || packageName == null) {
             return new ColorDrawable(Color.TRANSPARENT);
@@ -151,8 +150,8 @@
         final Context context = getPrefContext();
         final PackageManager packageManager = getActivity().getPackageManager();
         final List<InputMethodInfo> imis = mInputMethodSettingValues.getInputMethodList();
-        final int N = (imis == null ? 0 : imis.size());
-        for (int i = 0; i < N; ++i) {
+        final int numImis = (imis == null ? 0 : imis.size());
+        for (int i = 0; i < numImis; ++i) {
             final InputMethodInfo imi = imis.get(i);
             final boolean isAllowedByOrganization = permittedList == null
                     || permittedList.contains(imi.getPackageName());
@@ -162,14 +161,9 @@
             mInputMethodPreferenceList.add(pref);
         }
         final Collator collator = Collator.getInstance();
-        Collections.sort(mInputMethodPreferenceList, new Comparator<InputMethodPreference>() {
-            @Override
-            public int compare(InputMethodPreference lhs, InputMethodPreference rhs) {
-                return lhs.compareTo(rhs, collator);
-            }
-        });
+        mInputMethodPreferenceList.sort((lhs, rhs) -> lhs.compareTo(rhs, collator));
         getPreferenceScreen().removeAll();
-        for (int i = 0; i < N; ++i) {
+        for (int i = 0; i < numImis; ++i) {
             final InputMethodPreference pref = mInputMethodPreferenceList.get(i);
             pref.setOrder(i);
             getPreferenceScreen().addPreference(pref);
@@ -190,8 +184,6 @@
     static List<SearchIndexableRaw> buildSearchIndexOfInputMethods(final Context context,
             final List<InputMethodInfo> inputMethods, final String screenTitle) {
         final List<SearchIndexableRaw> indexes = new ArrayList<>();
-        final InputMethodManager imm = (InputMethodManager) context.getSystemService(
-                Context.INPUT_METHOD_SERVICE);
         for (int i = 0; i < inputMethods.size(); i++) {
             final InputMethodInfo imi = inputMethods.get(i);
             final ServiceInfo serviceInfo = imi.getServiceInfo();
@@ -207,7 +199,7 @@
         return indexes;
     }
 
-    public static Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+    public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
         @Override
         public List<SearchIndexableRaw> getRawDataToIndex(Context context, boolean enabled) {
diff --git a/src/com/android/settings/inputmethod/InputMethodPreference.java b/src/com/android/settings/inputmethod/InputMethodPreference.java
deleted file mode 100755
index 463a043..0000000
--- a/src/com/android/settings/inputmethod/InputMethodPreference.java
+++ /dev/null
@@ -1,308 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.inputmethod;
-
-import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
-
-import android.app.AlertDialog;
-import android.content.ActivityNotFoundException;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.os.UserHandle;
-import android.support.v7.preference.Preference;
-import android.support.v7.preference.Preference.OnPreferenceChangeListener;
-import android.support.v7.preference.Preference.OnPreferenceClickListener;
-import android.text.TextUtils;
-import android.util.Log;
-import android.view.inputmethod.InputMethodInfo;
-import android.view.inputmethod.InputMethodManager;
-import android.view.inputmethod.InputMethodSubtype;
-import android.widget.Toast;
-
-import com.android.internal.inputmethod.InputMethodUtils;
-import com.android.settings.R;
-import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.RestrictedSwitchPreference;
-import com.android.settingslib.inputmethod.InputMethodAndSubtypeUtil;
-import com.android.settingslib.inputmethod.InputMethodSettingValuesWrapper;
-
-import java.text.Collator;
-import java.util.List;
-
-/**
- * Input method preference.
- *
- * This preference represents an IME. It is used for two purposes. 1) An instance with a switch
- * is used to enable or disable the IME. 2) An instance without a switch is used to invoke the
- * setting activity of the IME.
- */
-class InputMethodPreference extends RestrictedSwitchPreference implements OnPreferenceClickListener,
-        OnPreferenceChangeListener {
-    private static final String TAG = InputMethodPreference.class.getSimpleName();
-    private static final String EMPTY_TEXT = "";
-    private static final int NO_WIDGET = 0;
-
-    interface OnSavePreferenceListener {
-        /**
-         * Called when this preference needs to be saved its state.
-         *
-         * Note that this preference is non-persistent and needs explicitly to be saved its state.
-         * Because changing one IME state may change other IMEs' state, this is a place to update
-         * other IMEs' state as well.
-         *
-         * @param pref This preference.
-         */
-        public void onSaveInputMethodPreference(InputMethodPreference pref);
-    }
-
-    private final InputMethodInfo mImi;
-    private final boolean mHasPriorityInSorting;
-    private final OnSavePreferenceListener mOnSaveListener;
-    private final InputMethodSettingValuesWrapper mInputMethodSettingValues;
-    private final boolean mIsAllowedByOrganization;
-
-    private AlertDialog mDialog = null;
-
-    /**
-     * A preference entry of an input method.
-     *
-     * @param context The Context this is associated with.
-     * @param imi The {@link InputMethodInfo} of this preference.
-     * @param isImeEnabler true if this preference is the IME enabler that has enable/disable
-     *     switches for all available IMEs, not the list of enabled IMEs.
-     * @param isAllowedByOrganization false if the IME has been disabled by a device or profile
-     *     owner.
-     * @param onSaveListener The listener called when this preference has been changed and needs
-     *     to save the state to shared preference.
-     */
-    InputMethodPreference(final Context context, final InputMethodInfo imi,
-            final boolean isImeEnabler, final boolean isAllowedByOrganization,
-            final OnSavePreferenceListener onSaveListener) {
-        super(context);
-        setPersistent(false);
-        mImi = imi;
-        mIsAllowedByOrganization = isAllowedByOrganization;
-        mOnSaveListener = onSaveListener;
-        if (!isImeEnabler) {
-            // Remove switch widget.
-            setWidgetLayoutResource(NO_WIDGET);
-        }
-        // Disable on/off switch texts.
-        setSwitchTextOn(EMPTY_TEXT);
-        setSwitchTextOff(EMPTY_TEXT);
-        setKey(imi.getId());
-        setTitle(imi.loadLabel(context.getPackageManager()));
-        final String settingsActivity = imi.getSettingsActivity();
-        if (TextUtils.isEmpty(settingsActivity)) {
-            setIntent(null);
-        } else {
-            // Set an intent to invoke settings activity of an input method.
-            final Intent intent = new Intent(Intent.ACTION_MAIN);
-            intent.setClassName(imi.getPackageName(), settingsActivity);
-            setIntent(intent);
-        }
-        mInputMethodSettingValues = InputMethodSettingValuesWrapper.getInstance(context);
-        mHasPriorityInSorting = InputMethodUtils.isSystemIme(imi)
-                && mInputMethodSettingValues.isValidSystemNonAuxAsciiCapableIme(imi, context);
-        setOnPreferenceClickListener(this);
-        setOnPreferenceChangeListener(this);
-    }
-
-    public InputMethodInfo getInputMethodInfo() {
-        return mImi;
-    }
-
-    private boolean isImeEnabler() {
-        // If this {@link SwitchPreference} doesn't have a widget layout, we explicitly hide the
-        // switch widget at constructor.
-        return getWidgetLayoutResource() != NO_WIDGET;
-    }
-
-    @Override
-    public boolean onPreferenceChange(final Preference preference, final Object newValue) {
-        // Always returns false to prevent default behavior.
-        // See {@link TwoStatePreference#onClick()}.
-        if (!isImeEnabler()) {
-            // Prevent disabling an IME because this preference is for invoking a settings activity.
-            return false;
-        }
-        if (isChecked()) {
-            // Disable this IME.
-            setCheckedInternal(false);
-            return false;
-        }
-        if (InputMethodUtils.isSystemIme(mImi)) {
-            // Enable a system IME. No need to show a security warning dialog,
-            // but we might need to prompt if it's not Direct Boot aware.
-            if (mImi.getServiceInfo().directBootAware) {
-                setCheckedInternal(true);
-            } else {
-                showDirectBootWarnDialog();
-            }
-        } else {
-            // Once security is confirmed, we might prompt if the IME isn't
-            // Direct Boot aware.
-            showSecurityWarnDialog();
-        }
-        return false;
-    }
-
-    @Override
-    public boolean onPreferenceClick(final Preference preference) {
-        // Always returns true to prevent invoking an intent without catching exceptions.
-        // See {@link Preference#performClick(PreferenceScreen)}/
-        if (isImeEnabler()) {
-            // Prevent invoking a settings activity because this preference is for enabling and
-            // disabling an input method.
-            return true;
-        }
-        final Context context = getContext();
-        try {
-            final Intent intent = getIntent();
-            if (intent != null) {
-                // Invoke a settings activity of an input method.
-                context.startActivity(intent);
-            }
-        } catch (final ActivityNotFoundException e) {
-            Log.d(TAG, "IME's Settings Activity Not Found", e);
-            final String message = context.getString(
-                    R.string.failed_to_open_app_settings_toast,
-                    mImi.loadLabel(context.getPackageManager()));
-            Toast.makeText(context, message, Toast.LENGTH_LONG).show();
-        }
-        return true;
-    }
-
-    void updatePreferenceViews() {
-        final boolean isAlwaysChecked = mInputMethodSettingValues.isAlwaysCheckedIme(
-                mImi, getContext());
-        // When this preference has a switch and an input method should be always enabled,
-        // this preference should be disabled to prevent accidentally disabling an input method.
-        // This preference should also be disabled in case the admin does not allow this input
-        // method.
-        if (isAlwaysChecked && isImeEnabler()) {
-            setDisabledByAdmin(null);
-            setEnabled(false);
-        } else if (!mIsAllowedByOrganization) {
-            EnforcedAdmin admin =
-                    RestrictedLockUtils.checkIfInputMethodDisallowed(getContext(),
-                            mImi.getPackageName(), UserHandle.myUserId());
-            setDisabledByAdmin(admin);
-        } else {
-            setEnabled(true);
-        }
-        setChecked(mInputMethodSettingValues.isEnabledImi(mImi));
-        if (!isDisabledByAdmin()) {
-            setSummary(getSummaryString());
-        }
-    }
-
-    private InputMethodManager getInputMethodManager() {
-        return (InputMethodManager)getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
-    }
-
-    private String getSummaryString() {
-        final InputMethodManager imm = getInputMethodManager();
-        final List<InputMethodSubtype> subtypes = imm.getEnabledInputMethodSubtypeList(mImi, true);
-        return InputMethodAndSubtypeUtil.getSubtypeLocaleNameListAsSentence(
-                subtypes, getContext(), mImi);
-    }
-
-    private void setCheckedInternal(boolean checked) {
-        super.setChecked(checked);
-        mOnSaveListener.onSaveInputMethodPreference(InputMethodPreference.this);
-        notifyChanged();
-    }
-
-    private void showSecurityWarnDialog() {
-        if (mDialog != null && mDialog.isShowing()) {
-            mDialog.dismiss();
-        }
-        final Context context = getContext();
-        final AlertDialog.Builder builder = new AlertDialog.Builder(context);
-        builder.setCancelable(true /* cancelable */);
-        builder.setTitle(android.R.string.dialog_alert_title);
-        final CharSequence label = mImi.getServiceInfo().applicationInfo.loadLabel(
-                context.getPackageManager());
-        builder.setMessage(context.getString(R.string.ime_security_warning, label));
-        builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
-            @Override
-            public void onClick(final DialogInterface dialog, final int which) {
-                // The user confirmed to enable a 3rd party IME, but we might
-                // need to prompt if it's not Direct Boot aware.
-                if (mImi.getServiceInfo().directBootAware) {
-                    setCheckedInternal(true);
-                } else {
-                    showDirectBootWarnDialog();
-                }
-            }
-        });
-        builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
-            @Override
-            public void onClick(final DialogInterface dialog, final int which) {
-                // The user canceled to enable a 3rd party IME.
-                setCheckedInternal(false);
-            }
-        });
-        mDialog = builder.create();
-        mDialog.show();
-    }
-
-    private void showDirectBootWarnDialog() {
-        if (mDialog != null && mDialog.isShowing()) {
-            mDialog.dismiss();
-        }
-        final Context context = getContext();
-        final AlertDialog.Builder builder = new AlertDialog.Builder(context);
-        builder.setCancelable(true /* cancelable */);
-        builder.setMessage(context.getText(R.string.direct_boot_unaware_dialog_message));
-        builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
-            @Override
-            public void onClick(final DialogInterface dialog, final int which) {
-                setCheckedInternal(true);
-            }
-        });
-        builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
-            @Override
-            public void onClick(final DialogInterface dialog, final int which) {
-                setCheckedInternal(false);
-            }
-        });
-        mDialog = builder.create();
-        mDialog.show();
-    }
-
-    int compareTo(final InputMethodPreference rhs, final Collator collator) {
-        if (this == rhs) {
-            return 0;
-        }
-        if (mHasPriorityInSorting == rhs.mHasPriorityInSorting) {
-            final CharSequence t0 = getTitle();
-            final CharSequence t1 = rhs.getTitle();
-            if (TextUtils.isEmpty(t0)) {
-                return 1;
-            }
-            if (TextUtils.isEmpty(t1)) {
-                return -1;
-            }
-            return collator.compare(t0.toString(), t1.toString());
-        }
-        // Prefer always checked system IMEs
-        return mHasPriorityInSorting ? -1 : 1;
-    }
-}
diff --git a/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java b/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java
index c362389..7b7c599 100644
--- a/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/VirtualKeyboardFragment.java
@@ -35,6 +35,7 @@
 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;
@@ -104,12 +105,7 @@
             mInputMethodPreferenceList.add(pref);
         }
         final Collator collator = Collator.getInstance();
-        Collections.sort(mInputMethodPreferenceList, new Comparator<InputMethodPreference>() {
-            @Override
-            public int compare(InputMethodPreference lhs, InputMethodPreference rhs) {
-                return lhs.compareTo(rhs, collator);
-            }
-        });
+        mInputMethodPreferenceList.sort((lhs, rhs) -> lhs.compareTo(rhs, collator));
         getPreferenceScreen().removeAll();
         for (int i = 0; i < N; ++i) {
             final InputMethodPreference pref = mInputMethodPreferenceList.get(i);
diff --git a/src/com/android/settings/users/EditUserPhotoController.java b/src/com/android/settings/users/EditUserPhotoController.java
index 03b959a..c348b4aa 100644
--- a/src/com/android/settings/users/EditUserPhotoController.java
+++ b/src/com/android/settings/users/EditUserPhotoController.java
@@ -240,6 +240,7 @@
 
             @Override
             protected void onPostExecute(Void result) {
+                if (!mFragment.isAdded()) return;
                 cropPhoto();
             }
         }.execute();
diff --git a/src/com/android/settings/vpn2/AppManagementFragment.java b/src/com/android/settings/vpn2/AppManagementFragment.java
index 7559512..9981b2f 100644
--- a/src/com/android/settings/vpn2/AppManagementFragment.java
+++ b/src/com/android/settings/vpn2/AppManagementFragment.java
@@ -197,9 +197,7 @@
 
     @Override
     public void onConfirmLockdown(Bundle options, boolean isEnabled, boolean isLockdown) {
-        if (setAlwaysOnVpnByUI(isEnabled, isLockdown)) {
-            updateUI();
-        }
+        setAlwaysOnVpnByUI(isEnabled, isLockdown);
     }
 
     private boolean setAlwaysOnVpnByUI(boolean isEnabled, boolean isLockdown) {
@@ -214,6 +212,8 @@
         final boolean success = setAlwaysOnVpn(isEnabled, isLockdown);
         if (isEnabled && (!success || !isVpnAlwaysOn())) {
             CannotConnectFragment.show(this, mVpnLabel);
+        } else {
+            updateUI();
         }
         return success;
     }
diff --git a/src/com/android/settings/vpn2/ManageablePreference.java b/src/com/android/settings/vpn2/ManageablePreference.java
index b45ae45..11da758 100644
--- a/src/com/android/settings/vpn2/ManageablePreference.java
+++ b/src/com/android/settings/vpn2/ManageablePreference.java
@@ -87,7 +87,7 @@
         final String[] states = res.getStringArray(R.array.vpn_states);
         String summary = (mState == STATE_NONE ? "" : states[mState]);
         if (mIsAlwaysOn) {
-            final String alwaysOnString = res.getString(R.string.vpn_always_on_active);
+            final String alwaysOnString = res.getString(R.string.vpn_always_on_summary_active);
             summary = TextUtils.isEmpty(summary) ? alwaysOnString : res.getString(
                     R.string.join_two_unrelated_items, summary, alwaysOnString);
         }
diff --git a/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java b/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java
index b9ffcaf..07495ee 100644
--- a/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java
+++ b/src/com/android/settings/wifi/SavedAccessPointsWifiSettings.java
@@ -20,7 +20,9 @@
 import android.content.Context;
 import android.content.res.Resources;
 import android.icu.text.Collator;
+import android.net.wifi.WifiConfiguration;
 import android.net.wifi.WifiManager;
+import android.net.wifi.hotspot2.PasspointConfiguration;
 import android.os.Bundle;
 import android.provider.SearchIndexableResource;
 import android.support.v7.preference.Preference;
@@ -110,8 +112,7 @@
         PreferenceScreen preferenceScreen = getPreferenceScreen();
         final Context context = getPrefContext();
 
-        final List<AccessPoint> accessPoints = WifiTracker.getCurrentAccessPoints(context, true,
-                false, true);
+        final List<AccessPoint> accessPoints = getSavedConfigs(context, mWifiManager);
         Collections.sort(accessPoints, SAVED_NETWORK_COMPARATOR);
         preferenceScreen.removeAll();
 
@@ -129,6 +130,39 @@
         }
     }
 
+    /**
+     * Retrieved the list of saved network configurations from {@link WifiManager}.
+     * Each configuration is represented by {@link AccessPoint}.
+     *
+     * @param context The application context
+     * @param wifiManager An instance of {@link WifiManager}
+     * @return List of {@link AccessPoint}
+     */
+    private static List<AccessPoint> getSavedConfigs(Context context, WifiManager wifiManager) {
+        List<AccessPoint> savedConfigs = new ArrayList<>();
+        List<WifiConfiguration> savedNetworks = wifiManager.getConfiguredNetworks();
+        for (WifiConfiguration network : savedNetworks) {
+            // Configuration for Passpoint network is configured temporary by WifiService for
+            // connection attempt only.  The underlying configuration is saved as Passpoint
+            // configuration, which will be retrieved with WifiManager#getPasspointConfiguration
+            // call below.
+            if (network.isPasspoint()) {
+                continue;
+            }
+            savedConfigs.add(new AccessPoint(context, network));
+        }
+        try {
+            List<PasspointConfiguration> savedPasspointConfigs =
+                    wifiManager.getPasspointConfigurations();
+            for (PasspointConfiguration config : savedPasspointConfigs) {
+                savedConfigs.add(new AccessPoint(context, config));
+            }
+        } catch (UnsupportedOperationException e) {
+            // Passpoint not supported.
+        }
+        return savedConfigs;
+    }
+
     private void showDialog(LongPressAccessPointPreference accessPoint, boolean edit) {
         if (mDialog != null) {
             removeDialog(WifiSettings.WIFI_DIALOG_ID);
@@ -187,7 +221,17 @@
     @Override
     public void onForget(WifiDialog dialog) {
         if (mSelectedAccessPoint != null) {
-            mWifiManager.forget(mSelectedAccessPoint.getConfig().networkId, null);
+            if (mSelectedAccessPoint.isPasspointConfig()) {
+                try {
+                    mWifiManager.removePasspointConfiguration(
+                            mSelectedAccessPoint.getPasspointFqdn());
+                } catch (RuntimeException e) {
+                    Log.e(TAG, "Failed to remove Passpoint configuration for "
+                            + mSelectedAccessPoint.getConfigName());
+                }
+            } else {
+                mWifiManager.forget(mSelectedAccessPoint.getConfig().networkId, null);
+            }
             mSelectedAccessPoint = null;
             initPreferences();
         }
@@ -235,8 +279,8 @@
                 result.add(data);
 
                 // Add available Wi-Fi access points
-                final List<AccessPoint> accessPoints = WifiTracker.getCurrentAccessPoints(context,
-                        true, false, true);
+                final List<AccessPoint> accessPoints =
+                        getSavedConfigs(context, context.getSystemService(WifiManager.class));
 
                 final int accessPointsSize = accessPoints.size();
                 for (int i = 0; i < accessPointsSize; ++i){
diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java
index 460d210..4380cbe 100644
--- a/src/com/android/settings/wifi/WifiConfigController.java
+++ b/src/com/android/settings/wifi/WifiConfigController.java
@@ -217,7 +217,11 @@
 
             mConfigUi.setSubmitButton(res.getString(R.string.wifi_save));
         } else {
-            mConfigUi.setTitle(mAccessPoint.getSsid());
+            if (!mAccessPoint.isPasspointConfig()) {
+                mConfigUi.setTitle(mAccessPoint.getSsid());
+            } else {
+                mConfigUi.setTitle(mAccessPoint.getConfigName());
+            }
 
             ViewGroup group = (ViewGroup) mView.findViewById(R.id.info);
 
@@ -258,7 +262,8 @@
                 }
             }
 
-            if ((!mAccessPoint.isSaved() && !mAccessPoint.isActive())
+            if ((!mAccessPoint.isSaved() && !mAccessPoint.isActive()
+                    && !mAccessPoint.isPasspointConfig())
                     || mMode != WifiConfigUiBase.MODE_VIEW) {
                 showSecurityFields();
                 showIpConfigFields();
@@ -326,7 +331,8 @@
                     addRow(group, R.string.wifi_security, mAccessPoint.getSecurityString(false));
                     mView.findViewById(R.id.ip_fields).setVisibility(View.GONE);
                 }
-                if (mAccessPoint.isSaved() || mAccessPoint.isActive()) {
+                if (mAccessPoint.isSaved() || mAccessPoint.isActive()
+                        || mAccessPoint.isPasspointConfig()) {
                     mConfigUi.setForgetButton(res.getString(R.string.wifi_forget));
                 }
             }
diff --git a/src/com/android/settings/wifi/WifiEnabler.java b/src/com/android/settings/wifi/WifiEnabler.java
index e0e6a1a..abab154 100644
--- a/src/com/android/settings/wifi/WifiEnabler.java
+++ b/src/com/android/settings/wifi/WifiEnabler.java
@@ -57,8 +57,7 @@
         public void onReceive(Context context, Intent intent) {
             String action = intent.getAction();
             if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(action)) {
-                handleWifiStateChanged(intent.getIntExtra(
-                        WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN));
+                handleWifiStateChanged(mWifiManager.getWifiState());
             } else if (WifiManager.SUPPLICANT_STATE_CHANGED_ACTION.equals(action)) {
                 if (!mConnected.get()) {
                     handleStateChanged(WifiInfo.getDetailedStateOf((SupplicantState)
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index ccd1700..ccb0fd3 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -196,7 +196,6 @@
 
         mConnectedAccessPointPreferenceCategory =
                 (PreferenceCategory) findPreference(PREF_KEY_CONNECTED_ACCESS_POINTS);
-
         mAccessPointsPreferenceCategory =
                 (PreferenceCategory) findPreference(PREF_KEY_ACCESS_POINTS);
         mAdditionalSettingsPreferenceCategory =
@@ -204,10 +203,6 @@
         mConfigureWifiSettingsPreference = findPreference(PREF_KEY_CONFIGURE_WIFI_SETTINGS);
         mSavedNetworksPreference = findPreference(PREF_KEY_SAVED_NETWORKS);
 
-        if (isUiRestricted()) {
-            getPreferenceScreen().removePreference(mAdditionalSettingsPreferenceCategory);
-        }
-
         Context prefContext = getPrefContext();
         mAddPreference = new Preference(prefContext);
         mAddPreference.setIcon(R.drawable.ic_menu_add_inset);
@@ -216,6 +211,11 @@
 
         mUserBadgeCache = new AccessPointPreference.UserBadgeCache(getPackageManager());
 
+        if (isUiRestricted()) {
+            getPreferenceScreen().removePreference(mAdditionalSettingsPreferenceCategory);
+            addMessagePreference(R.string.wifi_empty_list_user_restricted);
+        }
+
         mBgThread = new HandlerThread(TAG, Process.THREAD_PRIORITY_BACKGROUND);
         mBgThread.start();
     }
@@ -314,7 +314,7 @@
 
         if (intent.hasExtra(EXTRA_START_CONNECT_SSID)) {
             mOpenSsid = intent.getStringExtra(EXTRA_START_CONNECT_SSID);
-            onAccessPointsChanged();
+            updateAccessPointsDelayed();
         }
     }
 
@@ -516,7 +516,10 @@
             if (mSelectedAccessPoint.isActive()) {
                 return super.onPreferenceTreeClick(preference);
             }
-            /** Bypass dialog and connect to unsecured or previously connected saved networks. */
+            /**
+             * Bypass dialog and connect to unsecured networks, or previously connected saved
+             * networks, or Passpoint provided networks.
+             */
             WifiConfiguration config = mSelectedAccessPoint.getConfig();
             if (mSelectedAccessPoint.getSecurity() == AccessPoint.SECURITY_NONE) {
                 mSelectedAccessPoint.generateOpenNetworkConfig();
@@ -525,6 +528,10 @@
                     && config.getNetworkSelectionStatus() != null
                     && config.getNetworkSelectionStatus().getHasEverConnected()) {
                 connect(config, true /* isSavedNetwork */);
+            } else if (mSelectedAccessPoint.isPasspoint()) {
+                // Access point provided by an installed Passpoint provider, connect using
+                // the associated config.
+                connect(config, true /* isSavedNetwork */);
             } else {
                 showDialog(mSelectedAccessPoint, WifiConfigUiBase.MODE_CONNECT);
             }
@@ -614,54 +621,75 @@
     }
 
     /**
-     * Shows the latest access points available with supplemental information like
-     * the strength of network and the security for it.
+     * Called to indicate the list of AccessPoints has been updated and
+     * getAccessPoints should be called to get the latest information.
      */
     @Override
     public void onAccessPointsChanged() {
+        updateAccessPointsDelayed();
+    }
+
+    /**
+     * Updates access points from {@link WifiManager#getScanResults()}. Adds a delay to have
+     * progress bar displayed before starting to modify APs.
+     */
+    private void updateAccessPointsDelayed() {
         // Safeguard from some delayed event handling
-        if (getActivity() == null) return;
-        final int wifiState = mWifiManager.getWifiState();
+        if (getActivity() != null && !isUiRestricted() && mWifiManager.isWifiEnabled()) {
+            setProgressBarVisible(true);
+            getView().postDelayed(mUpdateAccessPointsRunnable, 300 /* delay milliseconds */);
+        }
+    }
+
+    /** Called when the state of Wifi has changed. */
+    @Override
+    public void onWifiStateChanged(int state) {
         if (isUiRestricted()) {
-            removeConnectedAccessPointPreference();
-            mAccessPointsPreferenceCategory.removeAll();
-            if (!isUiRestrictedByOnlyAdmin()) {
-                if (wifiState == WifiManager.WIFI_AP_STATE_DISABLED) {
-                    setOffMessage();
-                } else {
-                    addMessagePreference(R.string.wifi_empty_list_user_restricted);
-                }
-            }
             return;
         }
 
+        final int wifiState = mWifiManager.getWifiState();
         switch (wifiState) {
             case WifiManager.WIFI_STATE_ENABLED:
-                setProgressBarVisible(true);
-                // Have the progress bar displayed before starting to modify APs
-                getView().postDelayed(mUpdateAccessPointsRunnable, 300 /* delay milliseconds */);
+                updateAccessPointsDelayed();
                 break;
 
             case WifiManager.WIFI_STATE_ENABLING:
                 removeConnectedAccessPointPreference();
                 mAccessPointsPreferenceCategory.removeAll();
+                addMessagePreference(R.string.wifi_starting);
                 setProgressBarVisible(true);
                 break;
 
             case WifiManager.WIFI_STATE_DISABLING:
+                removeConnectedAccessPointPreference();
+                mAccessPointsPreferenceCategory.removeAll();
                 addMessagePreference(R.string.wifi_stopping);
-                setProgressBarVisible(true);
                 break;
 
             case WifiManager.WIFI_STATE_DISABLED:
                 setOffMessage();
-                setConfigureWifiSettingsVisibility();
                 setProgressBarVisible(false);
                 break;
         }
     }
 
+    /**
+     * Called when the connection state of wifi has changed and isConnected
+     * should be called to get the updated state.
+     */
+    @Override
+    public void onConnectedChanged() {
+        updateAccessPointsDelayed();
+        changeNextButtonState(mWifiTracker.isConnected());
+    }
+
+
     private void updateAccessPointPreferences() {
+        // in case state has changed
+        if (!mWifiManager.isWifiEnabled()) {
+            return;
+        }
         // AccessPoints are sorted by the WifiTracker
         final List<AccessPoint> accessPoints = mWifiTracker.getAccessPoints();
 
@@ -797,10 +825,6 @@
     }
 
     private void setConfigureWifiSettingsVisibility() {
-        if (isUiRestricted()) {
-            mAdditionalSettingsPreferenceCategory.removeAll();
-            return;
-        }
         mAdditionalSettingsPreferenceCategory.addPreference(mConfigureWifiSettingsPreference);
         boolean wifiWakeupEnabled = Settings.Global.getInt(
                 getContentResolver(), Settings.Global.WIFI_WAKEUP_ENABLED, 0) == 1;
@@ -825,7 +849,7 @@
         // read the system settings directly. Because when the device is in Airplane mode, even if
         // Wi-Fi scanning mode is on, WifiManager.isScanAlwaysAvailable() still returns "off".
         final ContentResolver resolver = getActivity().getContentResolver();
-        final boolean wifiScanningMode = !isUiRestricted() && Settings.Global.getInt(
+        final boolean wifiScanningMode = Settings.Global.getInt(
                 resolver, Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, 0) == 1;
 
         if (!wifiScanningMode) {
@@ -859,32 +883,10 @@
 
     protected void setProgressBarVisible(boolean visible) {
         if (mProgressHeader != null) {
-            mProgressHeader.setVisibility(
-                    visible && !isUiRestricted() ? View.VISIBLE : View.INVISIBLE);
+            mProgressHeader.setVisibility(visible ? View.VISIBLE : View.INVISIBLE);
         }
     }
 
-    @Override
-    public void onWifiStateChanged(int state) {
-        switch (state) {
-            case WifiManager.WIFI_STATE_ENABLING:
-                addMessagePreference(R.string.wifi_starting);
-                setProgressBarVisible(true);
-                break;
-
-            case WifiManager.WIFI_STATE_DISABLED:
-                setOffMessage();
-                setProgressBarVisible(false);
-                break;
-        }
-    }
-
-    @Override
-    public void onConnectedChanged() {
-        onAccessPointsChanged();
-        changeNextButtonState(mWifiTracker.isConnected());
-    }
-
     /**
      * Renames/replaces "Next" button when appropriate. "Next" button usually exists in
      * Wifi setup screens, not in usual wifi settings screen.
diff --git a/src/com/android/settings/wifi/WriteWifiConfigToNfcDialog.java b/src/com/android/settings/wifi/WriteWifiConfigToNfcDialog.java
index 6fca8f2..52871f6 100644
--- a/src/com/android/settings/wifi/WriteWifiConfigToNfcDialog.java
+++ b/src/com/android/settings/wifi/WriteWifiConfigToNfcDialog.java
@@ -137,7 +137,7 @@
                 ? Integer.toString(password.length(), HEX_RADIX)
                 : "0" + Character.forDigit(password.length(), HEX_RADIX);
 
-        passwordHex = String.format(PASSWORD_FORMAT, passwordLength, passwordHex).toUpperCase();
+        passwordHex = String.format(PASSWORD_FORMAT, passwordLength, passwordHex).toLowerCase();
 
         if (wpsNfcConfigurationToken != null && wpsNfcConfigurationToken.contains(passwordHex)) {
             mWpsNfcConfigurationToken = wpsNfcConfigurationToken;
diff --git a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
index d0e21e926..92e12b0 100644
--- a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
+++ b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
@@ -59,6 +59,8 @@
     @VisibleForTesting
     static final String KEY_SIGNAL_STRENGTH_PREF = "signal_strength";
     @VisibleForTesting
+    static final String KEY_LINK_SPEED = "link_speed";
+    @VisibleForTesting
     static final String KEY_FREQUENCY_PREF = "frequency";
     @VisibleForTesting
     static final String KEY_SECURITY_PREF = "security";
@@ -85,6 +87,7 @@
     // Preferences - in order of appearance
     private Preference mConnectionDetailPref;
     private WifiDetailPreference mSignalStrengthPref;
+    private WifiDetailPreference mLinkSpeedPref;
     private WifiDetailPreference mFrequencyPref;
     private WifiDetailPreference mSecurityPref;
     private WifiDetailPreference mIpAddressPref;
@@ -103,6 +106,7 @@
         mSignalStr = context.getResources().getStringArray(R.array.wifi_signal);
         mWifiConfig = accessPoint.getConfig();
         mWifiManager = wifiManager;
+        mWifiInfo = wifiManager.getConnectionInfo();
 
         lifecycle.addObserver(this);
     }
@@ -128,6 +132,7 @@
 
         mSignalStrengthPref =
                 (WifiDetailPreference) screen.findPreference(KEY_SIGNAL_STRENGTH_PREF);
+        mLinkSpeedPref = (WifiDetailPreference) screen.findPreference(KEY_LINK_SPEED);
         mFrequencyPref = (WifiDetailPreference) screen.findPreference(KEY_FREQUENCY_PREF);
         mSecurityPref = (WifiDetailPreference) screen.findPreference(KEY_SECURITY_PREF);
 
@@ -178,6 +183,10 @@
         int summarySignalLevel = mAccessPoint.getLevel();
         mSignalStrengthPref.setDetailText(mSignalStr[summarySignalLevel]);
 
+        // Link Speed Pref
+        mLinkSpeedPref.setDetailText(mContext.getString(
+                R.string.link_speed, mWifiInfo.getLinkSpeed()));
+
         // Frequency Pref
         final int frequency = mWifiInfo.getFrequency();
         String band = null;
@@ -258,15 +267,24 @@
     }
 
     /**
+     * Returns whether the network represented by this preference can be forgotten.
+     */
+    public boolean canForgetNetwork() {
+        return mWifiInfo != null && mWifiInfo.isEphemeral() || mWifiConfig != null;
+    }
+
+    /**
      * Forgets the wifi network associated with this preference.
      */
     public void forgetNetwork() {
-        if (mWifiConfig.ephemeral) {
-            mWifiManager.disableEphemeralNetwork(mWifiConfig.SSID);
-        } else if (mWifiConfig.isPasspoint()) {
-            mWifiManager.removePasspointConfiguration(mWifiConfig.FQDN);
-        } else {
-            mWifiManager.forget(mWifiConfig.networkId, null /* action listener */);
+        if (mWifiInfo != null && mWifiInfo.isEphemeral()) {
+            mWifiManager.disableEphemeralNetwork(mWifiInfo.getSSID());
+        } else if (mWifiConfig != null) {
+            if (mWifiConfig.isPasspoint()) {
+                mWifiManager.removePasspointConfiguration(mWifiConfig.FQDN);
+            } else {
+                mWifiManager.forget(mWifiConfig.networkId, null /* action listener */);
+            }
         }
     }
 }
diff --git a/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
index ade9d6a..7ebde38 100644
--- a/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
+++ b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
@@ -16,10 +16,8 @@
 package com.android.settings.wifi.details;
 
 import android.content.Context;
-import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiManager;
 import android.os.Bundle;
-import android.view.View;
 import android.widget.Button;
 
 import com.android.internal.logging.nano.MetricsProto;
@@ -63,8 +61,9 @@
 
         // Header Title set automatically from launching Preference
 
-        mForgetButton = (Button) ((LayoutPreference) findPreference(KEY_FORGET_BUTTON))
-                .findViewById(R.id.button);
+        LayoutPreference forgetPreference = ((LayoutPreference) findPreference(KEY_FORGET_BUTTON));
+        forgetPreference.setVisible(mWifiDetailPreferenceController.canForgetNetwork());
+        mForgetButton = (Button) forgetPreference.findViewById(R.id.button);
         mForgetButton.setText(R.string.forget);
         mForgetButton.setOnClickListener(view -> forgetNetwork());
     }
@@ -72,7 +71,7 @@
     private void forgetNetwork() {
         mMetricsFeatureProvider.action(getActivity(), MetricsProto.MetricsEvent.ACTION_WIFI_FORGET);
         mWifiDetailPreferenceController.forgetNetwork();
-        mForgetButton.setEnabled(false);
+        getActivity().finish();
     }
 
     @Override
diff --git a/tests/app/src/com/android/settings/wifi/WifiSettingsUiTest.java b/tests/app/src/com/android/settings/wifi/WifiSettingsUiTest.java
new file mode 100644
index 0000000..11a49fc
--- /dev/null
+++ b/tests/app/src/com/android/settings/wifi/WifiSettingsUiTest.java
@@ -0,0 +1,74 @@
+/*
+ * 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.wifi;
+
+import static android.support.test.espresso.Espresso.onView;
+import static android.support.test.espresso.action.ViewActions.click;
+import static android.support.test.espresso.matcher.ViewMatchers.withText;
+
+import android.app.Instrumentation;
+import android.content.Context;
+import android.content.Intent;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.rule.ActivityTestRule;
+import android.support.test.runner.AndroidJUnit4;
+
+import com.android.settings.R;
+import com.android.settings.Settings.WifiSettingsActivity;
+import com.android.settingslib.wifi.WifiTracker;
+import com.android.settingslib.wifi.WifiTrackerFactory;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+@RunWith(AndroidJUnit4.class)
+public class WifiSettingsUiTest {
+
+    // TODO(sghuman): Investigate why resource ids are not resolving correctly in the test apk,
+    // then remove this manual string entry
+    private static final String WIFI_PREFERENCES = "Wi\\u2011Fi preferences";
+
+    @Mock private WifiTracker mockWifiTracker;
+
+    @Rule
+    public ActivityTestRule<WifiSettingsActivity> mActivityRule =
+            new ActivityTestRule<>(WifiSettingsActivity.class, true);
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        WifiTrackerFactory.setTestingWifiTracker(mockWifiTracker);
+    }
+
+    private void launchActivity() {
+        mActivityRule.launchActivity(new Intent("android.settings.WIFI_SETTINGS"));
+    }
+
+    @Test
+    public void launchActivityShouldSucceed() {
+        launchActivity();
+    }
+
+    @Test
+    public void shouldShowWifiPreferences() {
+        launchActivity();
+        onView(withText(WIFI_PREFERENCES)).perform(click());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/applications/AppHeaderControllerTest.java b/tests/robotests/src/com/android/settings/applications/AppHeaderControllerTest.java
index 79f452a..0d878ed 100644
--- a/tests/robotests/src/com/android/settings/applications/AppHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/AppHeaderControllerTest.java
@@ -28,6 +28,7 @@
 import android.support.v7.preference.Preference;
 import android.view.LayoutInflater;
 import android.view.View;
+import android.widget.ImageView;
 import android.widget.TextView;
 
 import com.android.settings.R;
@@ -276,6 +277,17 @@
                 .isEqualTo(View.GONE);
     }
 
+    // Ensure that the instant app label does not show up when we haven't told the controller the
+    // app is instant.
+    @Test
+    public void instantApps_normalAppsDontGetInstantAppsBadge() {
+        final View appHeader = mLayoutInflater.inflate(R.layout.app_details, null /* root */);
+        mController = new AppHeaderController(mContext, mFragment, appHeader);
+        mController.done();
+        assertThat(appHeader.findViewById(R.id.app_icon_instant_apps_badge).getVisibility())
+                .isEqualTo(View.GONE);
+    }
+
     // Test that the "instant apps" label is present in the header when we have an instant app.
     @Test
     public void instantApps_expectedHeaderItem() {
@@ -284,9 +296,13 @@
         mController.setIsInstantApp(true);
         mController.done();
         TextView label = (TextView)appHeader.findViewById(R.id.install_type);
+        ImageView badgeView = appHeader.findViewById(R.id.app_icon_instant_apps_badge);
+        assertThat(badgeView.getVisibility()).isEqualTo(View.VISIBLE);
         assertThat(label.getVisibility()).isEqualTo(View.VISIBLE);
         assertThat(label.getText()).isEqualTo(
                 appHeader.getResources().getString(R.string.install_type_instant));
+        assertThat(appHeader.findViewById(R.id.app_detail_summary).getVisibility())
+                .isEqualTo(View.GONE);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/applications/AppWithAdminGrantedPermissionsCounterTest.java b/tests/robotests/src/com/android/settings/applications/AppWithAdminGrantedPermissionsCounterTest.java
index dfef3b8..aeb3826 100644
--- a/tests/robotests/src/com/android/settings/applications/AppWithAdminGrantedPermissionsCounterTest.java
+++ b/tests/robotests/src/com/android/settings/applications/AppWithAdminGrantedPermissionsCounterTest.java
@@ -22,6 +22,7 @@
 import android.content.pm.UserInfo;
 import android.os.Build;
 import android.os.UserHandle;
+import android.os.UserManager;
 
 import com.android.settings.SettingsRobolectricTestRunner;
 import com.android.settings.TestConfig;
@@ -35,7 +36,6 @@
 import org.robolectric.shadows.ShadowApplication;
 
 import java.util.Arrays;
-import java.util.List;
 
 import static com.android.settings.testutils.ApplicationTestUtils.buildInfo;
 import static com.google.common.truth.Truth.assertThat;
@@ -76,24 +76,25 @@
     private final String PERMISSION_2 = "some.permission.2";
     private final String[] PERMISSIONS = {PERMISSION_1, PERMISSION_2};
 
+    @Mock private UserManager mUserManager;
     @Mock private Context mContext;
     @Mock private PackageManagerWrapper mPackageManager;
     @Mock private IPackageManagerWrapper mPackageManagerService;
     @Mock private DevicePolicyManagerWrapper mDevicePolicyManager;
-    private List<UserInfo> mUsersToCount;
 
     private int mAppCount = -1;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
+        when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
     }
 
-    private void verifyCountInstalledAppsAcrossAllUsers(boolean async) throws Exception {
+    private void verifyCountInstalledApps(boolean async) throws Exception {
         // There are two users.
-        mUsersToCount = Arrays.asList(
+        when(mUserManager.getProfiles(UserHandle.myUserId())).thenReturn(Arrays.asList(
                 new UserInfo(MAIN_USER_ID, "main", UserInfo.FLAG_ADMIN),
-                new UserInfo(MANAGED_PROFILE_ID, "managed profile", 0));
+                new UserInfo(MANAGED_PROFILE_ID, "managed profile", 0)));
 
         // The first user has five apps installed:
         // * app1 uses run-time permissions. It has been granted one of the permissions by the
@@ -190,8 +191,8 @@
         }
         assertThat(mAppCount).isEqualTo(3);
 
-        // Verify that installed packages were retrieved for the users returned by
-        // InstalledAppCounterTestable.getUsersToCount() only.
+        // Verify that installed packages were retrieved the current user and the user's managed
+        // profile only.
         verify(mPackageManager).getInstalledApplicationsAsUser(anyInt(), eq(MAIN_USER_ID));
         verify(mPackageManager).getInstalledApplicationsAsUser(anyInt(),
                 eq(MANAGED_PROFILE_ID));
@@ -200,13 +201,13 @@
     }
 
     @Test
-    public void testCountInstalledAppsAcrossAllUsersSync() throws Exception {
-        verifyCountInstalledAppsAcrossAllUsers(false /* async */);
+    public void testCountInstalledAppsSync() throws Exception {
+        verifyCountInstalledApps(false /* async */);
     }
 
     @Test
-    public void testCountInstalledAppsAcrossAllUsersAync() throws Exception {
-        verifyCountInstalledAppsAcrossAllUsers(true /* async */);
+    public void testCountInstalledAppsAync() throws Exception {
+        verifyCountInstalledApps(true /* async */);
     }
 
     private class AppWithAdminGrantedPermissionsCounterTestable extends
@@ -220,10 +221,5 @@
         protected void onCountComplete(int num) {
             mAppCount = num;
         }
-
-        @Override
-        protected List<UserInfo> getUsersToCount() {
-            return mUsersToCount;
-        }
     }
 }
diff --git a/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java
index f946780..f46bb90 100644
--- a/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java
@@ -190,7 +190,7 @@
     }
 
     private void setUpUsersAndInstalledApps() {
-        when(mUserManager.getUsers(true)).thenReturn(Arrays.asList(
+        when(mUserManager.getProfiles(UserHandle.myUserId())).thenReturn(Arrays.asList(
                 new UserInfo(MAIN_USER_ID, "main", UserInfo.FLAG_ADMIN),
                 new UserInfo(MANAGED_PROFILE_ID, "managed profile", 0)));
 
diff --git a/tests/robotests/src/com/android/settings/applications/ExternalSourcesDetailsTest.java b/tests/robotests/src/com/android/settings/applications/ExternalSourcesDetailsTest.java
deleted file mode 100644
index 5b2f8e0..0000000
--- a/tests/robotests/src/com/android/settings/applications/ExternalSourcesDetailsTest.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.settings.applications;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-
-import com.android.settings.R;
-import com.android.settings.SettingsRobolectricTestRunner;
-import com.android.settings.TestConfig;
-import com.android.settingslib.applications.ApplicationsState;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.annotation.Config;
-
-@RunWith(SettingsRobolectricTestRunner.class)
-@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
-public class ExternalSourcesDetailsTest {
-
-    @Mock
-    private Context mContext;
-    @Mock
-    private AppStateInstallAppsBridge.InstallAppsState mInstallAppsStateAllowed;
-    @Mock
-    private AppStateInstallAppsBridge.InstallAppsState mInstallAppsStateBlocked;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        when(mInstallAppsStateAllowed.canInstallApps()).thenReturn(true);
-        when(mInstallAppsStateBlocked.canInstallApps()).thenReturn(false);
-    }
-
-    @Test
-    public void testGetPreferenceSummary() {
-        ApplicationsState.AppEntry appEntry = mock(ApplicationsState.AppEntry.class);
-        appEntry.extraInfo = mInstallAppsStateBlocked;
-        ExternalSourcesDetails.getPreferenceSummary(mContext, appEntry);
-        verify(mContext).getString(R.string.external_source_untrusted);
-        appEntry.extraInfo = mInstallAppsStateAllowed;
-        ExternalSourcesDetails.getPreferenceSummary(mContext, appEntry);
-        verify(mContext).getString(R.string.external_source_trusted);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/applications/InstalledAppCounterTest.java b/tests/robotests/src/com/android/settings/applications/InstalledAppCounterTest.java
index 1134ec5..46a3359 100644
--- a/tests/robotests/src/com/android/settings/applications/InstalledAppCounterTest.java
+++ b/tests/robotests/src/com/android/settings/applications/InstalledAppCounterTest.java
@@ -78,7 +78,6 @@
     @Mock private UserManager mUserManager;
     @Mock private Context mContext;
     @Mock private PackageManagerWrapper mPackageManager;
-    private List<UserInfo> mUsersToCount;
 
     private int mInstalledAppCount = -1;
 
@@ -99,9 +98,9 @@
 
     private void testCountInstalledAppsAcrossAllUsers(boolean async) {
         // There are two users.
-        mUsersToCount = Arrays.asList(
+        when(mUserManager.getProfiles(UserHandle.myUserId())).thenReturn(Arrays.asList(
                 new UserInfo(MAIN_USER_ID, "main", UserInfo.FLAG_ADMIN),
-                new UserInfo(MANAGED_PROFILE_ID, "managed profile", 0));
+                new UserInfo(MANAGED_PROFILE_ID, "managed profile", 0)));
 
         // The first user has four apps installed:
         // * app1 is an updated system app. It should be counted.
@@ -159,8 +158,8 @@
         count(InstalledAppCounter.IGNORE_INSTALL_REASON, async);
         assertThat(mInstalledAppCount).isEqualTo(5);
 
-        // Verify that installed packages were retrieved for the users returned by
-        // InstalledAppCounterTestable.getUsersToCount() only.
+        // Verify that installed packages were retrieved the current user and the user's managed
+        // profile only.
         verify(mPackageManager).getInstalledApplicationsAsUser(anyInt(), eq(MAIN_USER_ID));
         verify(mPackageManager).getInstalledApplicationsAsUser(anyInt(),
                 eq(MANAGED_PROFILE_ID));
@@ -205,11 +204,6 @@
         protected void onCountComplete(int num) {
             mInstalledAppCount = num;
         }
-
-        @Override
-        protected List<UserInfo> getUsersToCount() {
-            return mUsersToCount;
-        }
     }
 
     private static class IsLaunchIntentFor extends ArgumentMatcher<Intent> {
diff --git a/tests/robotests/src/com/android/settings/applications/InstalledAppDetailsTest.java b/tests/robotests/src/com/android/settings/applications/InstalledAppDetailsTest.java
index da8831d..f02f58c 100644
--- a/tests/robotests/src/com/android/settings/applications/InstalledAppDetailsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/InstalledAppDetailsTest.java
@@ -18,6 +18,7 @@
 
 
 import android.app.Activity;
+import android.app.AlertDialog;
 import android.app.admin.DevicePolicyManager;
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
@@ -48,7 +49,9 @@
 import org.robolectric.util.ReflectionHelpers;
 
 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.Mockito.mock;
 import static org.mockito.Mockito.never;
@@ -222,6 +225,20 @@
         verify(forceStopButton).setVisibility(View.GONE);
     }
 
+    @Test
+    public void instantApps_buttonControllerHandlesDialog() {
+        InstantAppButtonsController mockController = mock(InstantAppButtonsController.class);
+        ReflectionHelpers.setField(
+                mAppDetail, "mInstantAppButtonsController", mockController);
+        // Make sure first that button controller is not called for supported dialog id
+        AlertDialog mockDialog = mock(AlertDialog.class);
+        when(mockController.createDialog(InstantAppButtonsController.DLG_CLEAR_APP))
+                .thenReturn(mockDialog);
+        assertThat(mAppDetail.createDialog(InstantAppButtonsController.DLG_CLEAR_APP, 0))
+                .isEqualTo(mockDialog);
+        verify(mockController).createDialog(InstantAppButtonsController.DLG_CLEAR_APP);
+    }
+
     // A helper class for testing the InstantAppButtonsController - it lets us look up the
     // preference associated with a key for instant app buttons and get back a mock
     // LayoutPreference (to avoid a null pointer exception).
@@ -261,8 +278,8 @@
         FakeFeatureFactory.setupForTest(mContext);
         FakeFeatureFactory factory =
                 (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
-        when(factory.applicationFeatureProvider.newInstantAppButtonsController(any(),
-                any())).thenReturn(buttonsController);
+        when(factory.applicationFeatureProvider.newInstantAppButtonsController(
+                any(), any(), any())).thenReturn(buttonsController);
 
         fragment.maybeAddInstantAppButtons();
         verify(buttonsController).setPackageName(anyString());
diff --git a/tests/robotests/src/com/android/settings/applications/instantapps/InstantAppButtonsControllerTest.java b/tests/robotests/src/com/android/settings/applications/instantapps/InstantAppButtonsControllerTest.java
new file mode 100644
index 0000000..13040a2
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/applications/instantapps/InstantAppButtonsControllerTest.java
@@ -0,0 +1,180 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.applications.instantapps;
+
+import static com.android.settings.applications.instantapps.InstantAppButtonsController
+        .ShowDialogDelegate;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Matchers.eq;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Matchers.isNull;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
+
+import android.annotation.SuppressLint;
+import android.app.Fragment;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.view.View;
+import android.widget.Button;
+
+import com.android.settings.R;
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import com.android.settings.applications.PackageManagerWrapper;
+import com.android.settings.backup.BackupSettingsActivityTest;
+import com.android.settings.core.instrumentation.MetricsFeatureProvider;
+import com.android.settings.testutils.FakeFeatureFactory;
+
+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.annotation.Config;
+import org.robolectric.shadows.ShadowUserManager;
+import org.robolectric.util.ReflectionHelpers;
+
+/** Tests for the InstantAppButtonsController. */
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = TestConfig.MANIFEST_PATH, sdk = 23)
+public class InstantAppButtonsControllerTest {
+
+    private static final String TEST_INSTALLER_PACKAGE_NAME = "com.installer";
+    private static final String TEST_INSTALLER_ACTIVITY_NAME = "com.installer.InstallerActivity";
+    private static final ComponentName TEST_INSTALLER_COMPONENT =
+            new ComponentName(
+                    TEST_INSTALLER_PACKAGE_NAME,
+                    TEST_INSTALLER_ACTIVITY_NAME);
+    private static final String TEST_AIA_PACKAGE_NAME = "test.aia.package";
+
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    Context mockContext;
+    @Mock
+    PackageManager mockPackageManager;
+    @Mock
+    PackageManagerWrapper mockPackageManagerWrapper;
+    @Mock
+    View mockView;
+    @Mock
+    ShowDialogDelegate mockShowDialogDelegate;
+    @Mock
+    Button mockInstallButton;
+    @Mock
+    Button mockClearButton;
+    @Mock
+    MetricsFeatureProvider mockMetricsFeatureProvider;
+    @Mock
+    ResolveInfo mockResolveInfo;
+    @Mock
+    ActivityInfo mockActivityInfo;
+
+    private PackageManager stubPackageManager;
+
+    private FakeFeatureFactory fakeFeatureFactory;
+    private TestFragment testFragment;
+    private InstantAppButtonsController controller;
+
+
+    private View.OnClickListener receivedListener;
+
+    @Before
+    public void init() {
+        MockitoAnnotations.initMocks(this);
+        testFragment = new TestFragment();
+        when(mockView.findViewById(R.id.install)).thenReturn(mockInstallButton);
+        when(mockView.findViewById(R.id.clear_data)).thenReturn(mockClearButton);
+        mockResolveInfo.activityInfo = mockActivityInfo;
+        mockActivityInfo.packageName = TEST_INSTALLER_PACKAGE_NAME;
+        mockActivityInfo.name = TEST_INSTALLER_ACTIVITY_NAME;
+        when(mockContext.getPackageManager()).thenReturn(mockPackageManager);
+        when(mockPackageManager.resolveActivity(any(), anyInt())).thenReturn(mockResolveInfo);
+        controller = new InstantAppButtonsController(
+                mockContext, testFragment, mockView, mockShowDialogDelegate);
+        controller.setPackageName(TEST_AIA_PACKAGE_NAME);
+        ReflectionHelpers.setField(
+                controller, "mPackageManagerWrapper", mockPackageManagerWrapper);
+        FakeFeatureFactory.setupForTest(mockContext);
+    }
+
+    @Test
+    public void testInstallListenerTriggersInstall() {
+        doAnswer(invocation -> {
+            receivedListener = (View.OnClickListener) invocation.getArguments()[0];
+            return null;
+        }).when(mockInstallButton).setOnClickListener(any());
+        controller.bindButtons();
+
+        assertThat(receivedListener).isNotNull();
+        receivedListener.onClick(mockInstallButton);
+        assertThat(testFragment.getStartActivityIntent()).isNotNull();
+        assertThat(testFragment.getStartActivityIntent().getComponent())
+                .isEqualTo(TEST_INSTALLER_COMPONENT);
+    }
+
+    @Test
+    public void testClearListenerShowsDialog() {
+        doAnswer(invocation -> {
+            receivedListener = (View.OnClickListener) invocation.getArguments()[0];
+            return null;
+        }).when(mockClearButton).setOnClickListener(any());
+        controller.bindButtons();
+        assertThat(receivedListener).isNotNull();
+        receivedListener.onClick(mockClearButton);
+        verify(mockShowDialogDelegate).showDialog(InstantAppButtonsController.DLG_CLEAR_APP);
+    }
+
+    @Test
+    public void testDialogInterfaceOnClick_positiveClearsApp() {
+        controller.onClick(mock(DialogInterface.class), DialogInterface.BUTTON_POSITIVE);
+        verify(mockPackageManagerWrapper)
+                .deletePackageAsUser(eq(TEST_AIA_PACKAGE_NAME), any(), anyInt(),anyInt());
+    }
+
+    @Test
+    public void testDialogInterfaceOnClick_nonPositiveDoesNothing() {
+        controller.onClick(mock(DialogInterface.class), DialogInterface.BUTTON_NEGATIVE);
+        controller.onClick(mock(DialogInterface.class), DialogInterface.BUTTON_NEUTRAL);
+        verifyZeroInteractions(mockPackageManagerWrapper);
+    }
+    @SuppressLint("ValidFragment")
+    private class TestFragment extends Fragment {
+
+        private Intent startActivityIntent;
+
+        public Intent getStartActivityIntent() {
+            return startActivityIntent;
+        }
+
+        @Override
+        public void startActivity(Intent intent) {
+            startActivityIntent = intent;
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/StorageSettingsTest.java b/tests/robotests/src/com/android/settings/deviceinfo/StorageSettingsTest.java
index 84d3b98..95f9fbe 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/StorageSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/StorageSettingsTest.java
@@ -18,6 +18,7 @@
 
 
 import android.app.Activity;
+import android.app.usage.StorageStatsManager;
 import android.icu.text.NumberFormat;
 import android.os.storage.VolumeInfo;
 import android.text.format.Formatter;
@@ -40,6 +41,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import static org.mockito.Matchers.any;
 import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
@@ -73,9 +75,14 @@
         final SummaryLoader.SummaryProvider provider =
                 StorageSettings.SUMMARY_PROVIDER_FACTORY.createSummaryProvider(mActivity, loader);
         final VolumeInfo volumeInfo = mVolumes.get(0);
+        when(volumeInfo.isMountedReadable()).thenReturn(true);
         when(volumeInfo.getType()).thenReturn(VolumeInfo.TYPE_PRIVATE);
-        when(volumeInfo.getPath().getTotalSpace()).thenReturn(500L);
-        when(volumeInfo.getPath().getFreeSpace()).thenReturn(0L);
+        when(mStorageManagerVolumeProvider.getTotalBytes(
+                        any(StorageStatsManager.class), any(VolumeInfo.class)))
+                .thenReturn(500L);
+        when(mStorageManagerVolumeProvider.getFreeBytes(
+                        any(StorageStatsManager.class), any(VolumeInfo.class)))
+                .thenReturn(0L);
 
         ReflectionHelpers.setField(
                 provider, "mStorageManagerVolumeProvider", mStorageManagerVolumeProvider);
diff --git a/tests/robotests/src/com/android/settings/enterprise/AlwaysOnVpnPrimaryUserPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/enterprise/AlwaysOnVpnCurrentUserPreferenceControllerTest.java
similarity index 90%
rename from tests/robotests/src/com/android/settings/enterprise/AlwaysOnVpnPrimaryUserPreferenceControllerTest.java
rename to tests/robotests/src/com/android/settings/enterprise/AlwaysOnVpnCurrentUserPreferenceControllerTest.java
index 12fdb4f..9d1bd58 100644
--- a/tests/robotests/src/com/android/settings/enterprise/AlwaysOnVpnPrimaryUserPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/AlwaysOnVpnCurrentUserPreferenceControllerTest.java
@@ -36,11 +36,11 @@
 import static org.mockito.Mockito.when;
 
 /**
- * Tests for {@link AlwaysOnVpnPrimaryUserPreferenceController}.
+ * Tests for {@link AlwaysOnVpnCurrentUserPreferenceController}.
  */
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
-public final class AlwaysOnVpnPrimaryUserPreferenceControllerTest {
+public final class AlwaysOnVpnCurrentUserPreferenceControllerTest {
 
     private final String VPN_SET_DEVICE = "VPN set";
     private final String VPN_SET_PERSONAL = "VPN set in personal profile";
@@ -49,14 +49,14 @@
     private Context mContext;
     private FakeFeatureFactory mFeatureFactory;
 
-    private AlwaysOnVpnPrimaryUserPreferenceController mController;
+    private AlwaysOnVpnCurrentUserPreferenceController mController;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         FakeFeatureFactory.setupForTest(mContext);
         mFeatureFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext);
-        mController = new AlwaysOnVpnPrimaryUserPreferenceController(mContext,
+        mController = new AlwaysOnVpnCurrentUserPreferenceController(mContext,
                 null /* lifecycle */);
         when(mContext.getString(R.string.enterprise_privacy_always_on_vpn_device))
                 .thenReturn(VPN_SET_DEVICE);
@@ -68,7 +68,7 @@
     public void testUpdateState() {
         final Preference preference = new Preference(mContext, null, 0, 0);
 
-        when(mFeatureFactory.enterprisePrivacyFeatureProvider.isAlwaysOnVpnSetInPrimaryUser())
+        when(mFeatureFactory.enterprisePrivacyFeatureProvider.isAlwaysOnVpnSetInCurrentUser())
                 .thenReturn(true);
 
         when(mFeatureFactory.enterprisePrivacyFeatureProvider.isInCompMode()).thenReturn(false);
@@ -82,11 +82,11 @@
 
     @Test
     public void testIsAvailable() {
-        when(mFeatureFactory.enterprisePrivacyFeatureProvider.isAlwaysOnVpnSetInPrimaryUser())
+        when(mFeatureFactory.enterprisePrivacyFeatureProvider.isAlwaysOnVpnSetInCurrentUser())
                 .thenReturn(false);
         assertThat(mController.isAvailable()).isFalse();
 
-        when(mFeatureFactory.enterprisePrivacyFeatureProvider.isAlwaysOnVpnSetInPrimaryUser())
+        when(mFeatureFactory.enterprisePrivacyFeatureProvider.isAlwaysOnVpnSetInCurrentUser())
                 .thenReturn(true);
         assertThat(mController.isAvailable()).isTrue();
     }
diff --git a/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImplTest.java
index 8d78ef7..5e46216 100644
--- a/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImplTest.java
@@ -195,13 +195,13 @@
     }
 
     @Test
-    public void testIsAlwaysOnVpnSetInPrimaryUser() {
+    public void testIsAlwaysOnVpnSetInCurrentUser() {
         when(mConnectivityManger.getAlwaysOnVpnPackageForUser(MY_USER_ID)).thenReturn(null);
-        assertThat(mProvider.isAlwaysOnVpnSetInPrimaryUser()).isFalse();
+        assertThat(mProvider.isAlwaysOnVpnSetInCurrentUser()).isFalse();
 
         when(mConnectivityManger.getAlwaysOnVpnPackageForUser(MY_USER_ID))
                 .thenReturn(VPN_PACKAGE_ID);
-        assertThat(mProvider.isAlwaysOnVpnSetInPrimaryUser()).isTrue();
+        assertThat(mProvider.isAlwaysOnVpnSetInCurrentUser()).isTrue();
     }
 
     @Test
@@ -230,16 +230,14 @@
     }
 
     @Test
-    public void testGetMaximumFailedPasswordsForWipeInPrimaryUser() {
-        when(mDevicePolicyManager.getDeviceOwnerComponentOnAnyUser()).thenReturn(null);
-        when(mDevicePolicyManager.getDeviceOwnerUserId()).thenReturn(UserHandle.USER_NULL);
-        assertThat(mProvider.getMaximumFailedPasswordsBeforeWipeInPrimaryUser()).isEqualTo(0);
-
-        when(mDevicePolicyManager.getDeviceOwnerComponentOnAnyUser()).thenReturn(OWNER);
-        when(mDevicePolicyManager.getDeviceOwnerUserId()).thenReturn(UserHandle.USER_SYSTEM);
-        when(mDevicePolicyManager.getMaximumFailedPasswordsForWipe(OWNER, UserHandle.USER_SYSTEM))
+    public void testGetMaximumFailedPasswordsForWipeInCurrentUser() {
+        when(mDevicePolicyManager.getProfileOwnerAsUser(MY_USER_ID)).thenReturn(null);
+        when(mDevicePolicyManager.getMaximumFailedPasswordsForWipe(OWNER, MY_USER_ID))
                 .thenReturn(10);
-        assertThat(mProvider.getMaximumFailedPasswordsBeforeWipeInPrimaryUser()).isEqualTo(10);
+        assertThat(mProvider.getMaximumFailedPasswordsBeforeWipeInCurrentUser()).isEqualTo(0);
+
+        when(mDevicePolicyManager.getProfileOwnerAsUser(MY_USER_ID)).thenReturn(OWNER);
+        assertThat(mProvider.getMaximumFailedPasswordsBeforeWipeInCurrentUser()).isEqualTo(10);
     }
 
     @Test
@@ -247,7 +245,6 @@
         when(mDevicePolicyManager.getProfileOwnerAsUser(MANAGED_PROFILE_USER_ID)).thenReturn(OWNER);
         when(mDevicePolicyManager.getMaximumFailedPasswordsForWipe(OWNER, MANAGED_PROFILE_USER_ID))
                 .thenReturn(10);
-
         assertThat(mProvider.getMaximumFailedPasswordsBeforeWipeInManagedProfile()).isEqualTo(0);
 
         mProfiles.add(new UserInfo(MANAGED_PROFILE_USER_ID, "", "", UserInfo.FLAG_MANAGED_PROFILE));
diff --git a/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacySettingsTest.java b/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacySettingsTest.java
index 2225687..d41be75 100644
--- a/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacySettingsTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacySettingsTest.java
@@ -134,7 +134,7 @@
         assertThat(controllers.get(position++)).isInstanceOf(
                 EnterpriseSetDefaultAppsPreferenceController.class);
         assertThat(controllers.get(position++)).isInstanceOf(
-                AlwaysOnVpnPrimaryUserPreferenceController.class);
+                AlwaysOnVpnCurrentUserPreferenceController.class);
         assertThat(controllers.get(position++)).isInstanceOf(
                 AlwaysOnVpnManagedProfilePreferenceController.class);
         assertThat(controllers.get(position++)).isInstanceOf(
@@ -142,7 +142,7 @@
         assertThat(controllers.get(position++)).isInstanceOf(
                 CaCertsPreferenceController.class);
         assertThat(controllers.get(position++)).isInstanceOf(
-                FailedPasswordWipePrimaryUserPreferenceController.class);
+                FailedPasswordWipeCurrentUserPreferenceController.class);
         assertThat(controllers.get(position++)).isInstanceOf(
                 FailedPasswordWipeManagedProfilePreferenceController.class);
         assertThat(controllers.get(position++)).isInstanceOf(ImePreferenceController.class);
diff --git a/tests/robotests/src/com/android/settings/enterprise/FailedPasswordWipePrimaryUserPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/enterprise/FailedPasswordWipeCurrentUserPreferenceControllerTest.java
similarity index 80%
rename from tests/robotests/src/com/android/settings/enterprise/FailedPasswordWipePrimaryUserPreferenceControllerTest.java
rename to tests/robotests/src/com/android/settings/enterprise/FailedPasswordWipeCurrentUserPreferenceControllerTest.java
index d74b9b8..b2f4fa7 100644
--- a/tests/robotests/src/com/android/settings/enterprise/FailedPasswordWipePrimaryUserPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/FailedPasswordWipeCurrentUserPreferenceControllerTest.java
@@ -27,29 +27,29 @@
 import static org.mockito.Mockito.when;
 
 /**
- * Tests for {@link FailedPasswordWipePrimaryUserPreferenceController}.
+ * Tests for {@link FailedPasswordWipeCurrentUserPreferenceController}.
  */
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
-public final class FailedPasswordWipePrimaryUserPreferenceControllerTest extends
+public final class FailedPasswordWipeCurrentUserPreferenceControllerTest extends
         FailedPasswordWipePreferenceControllerTestBase {
 
     private int mMaximumFailedPasswordsBeforeWipe = 0;
 
-    public FailedPasswordWipePrimaryUserPreferenceControllerTest() {
-        super("failed_password_wipe_primary_user");
+    public FailedPasswordWipeCurrentUserPreferenceControllerTest() {
+        super("failed_password_wipe_current_user");
     }
 
     @Override
     public void setUp() {
         super.setUp();
-        mController = new FailedPasswordWipePrimaryUserPreferenceController(mContext,
+        mController = new FailedPasswordWipeCurrentUserPreferenceController(mContext,
                 null /* lifecycle */);
     }
 
     @Override
     public void setMaximumFailedPasswordsBeforeWipe(int maximum) {
         when(mFeatureFactory.enterprisePrivacyFeatureProvider
-                .getMaximumFailedPasswordsBeforeWipeInPrimaryUser()).thenReturn(maximum);
+                .getMaximumFailedPasswordsBeforeWipeInCurrentUser()).thenReturn(maximum);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/suggestions/SettingsSuggestionsTest.java b/tests/robotests/src/com/android/settings/suggestions/SettingsSuggestionsTest.java
new file mode 100644
index 0000000..3780d35
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/suggestions/SettingsSuggestionsTest.java
@@ -0,0 +1,100 @@
+/*
+ * 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.suggestions;
+
+import static com.android.settings.TestConfig.MANIFEST_PATH;
+import static com.google.common.truth.Truth.assertThat;
+
+import android.annotation.StringRes;
+import android.content.Context;
+import com.android.settings.R;
+import com.android.settings.SettingsRobolectricTestRunner;
+import com.android.settings.TestConfig;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+import org.robolectric.manifest.ActivityData;
+import org.robolectric.manifest.AndroidManifest;
+import org.robolectric.manifest.IntentFilterData;
+import org.robolectric.shadows.ShadowApplication;
+
+@RunWith(SettingsRobolectricTestRunner.class)
+@Config(manifest = MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
+public class SettingsSuggestionsTest {
+
+  @Test
+  public void zenModeAutomationSuggestion_isValid() {
+    assertSuggestionEquals("Settings$ZenModeAutomationSuggestionActivity",
+        R.string.zen_mode_automation_suggestion_title,
+        R.string.zen_mode_automation_suggestion_summary);
+  }
+
+  @Test
+  public void wallpaperSuggestion_isValid() {
+    assertSuggestionEquals("com.android.settings.wallpaper.WallpaperSuggestionActivity",
+        R.string.wallpaper_suggestion_title, R.string.wallpaper_suggestion_summary);
+  }
+
+  @Test
+  public void nightDisplaySettings_isValid() {
+    assertSuggestionEquals("Settings$NightDisplaySettingsActivity",
+        R.string.night_display_suggestion_title, R.string.night_display_suggestion_summary);
+  }
+
+  @Test
+  public void fingerprintSuggestion_isValid() {
+    assertSuggestionEquals("com.android.settings.Settings$FingerprintSuggestionActivity",
+        R.string.suggestion_additional_fingerprints,
+        R.string.suggestion_additional_fingerprints_summary);
+  }
+
+  @Test
+  public void wifiCallingSuggestion_isValid() {
+    assertSuggestionEquals("Settings$WifiCallingSuggestionActivity",
+        R.string.wifi_calling_suggestion_title, R.string.wifi_calling_suggestion_summary);
+  }
+
+  private void assertSuggestionEquals(String activityName, @StringRes int title,
+      @StringRes int summary) {
+    final AndroidManifest androidManifest = ShadowApplication.getInstance().getAppManifest();
+    final ActivityData activityData = androidManifest.getActivityData(activityName);
+    final Map<String, Object> metaData = activityData.getMetaData().getValueMap();
+    final Context context = RuntimeEnvironment.application;
+    final String expectedTitle = context.getString(title);
+    final String expectedSummary = context.getString(summary);
+
+    final String pName= context.getPackageName();
+    final String actualTitle = context.getString(context.getResources().getIdentifier(
+        ((String) metaData.get("com.android.settings.title")).substring(8), "string", pName));
+    final String actualSummary = context.getString(context.getResources().getIdentifier(
+        ((String) metaData.get("com.android.settings.summary")).substring(8), "string", pName));
+    assertThat(actualTitle).isEqualTo(expectedTitle);
+    assertThat(actualSummary).isEqualTo(expectedSummary);
+
+    final List<IntentFilterData> intentFilters = activityData.getIntentFilters();
+    final List<String> categories = new ArrayList<>();
+    for (IntentFilterData intentFilter : intentFilters) {
+      categories.addAll(intentFilter.getCategories());
+    }
+
+    assertThat(categories).contains("com.android.settings.suggested.category.SETTINGS_ONLY");
+  }
+}
diff --git a/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java
index 88a63b3..f60c106 100644
--- a/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java
@@ -18,6 +18,7 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Matchers.any;
+import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -54,6 +55,7 @@
 
     private static final int LEVEL = 1;
     private static final int RSSI = -55;
+    private static final int LINK_SPEED = 123;
     private static final String SECURITY = "None";
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
@@ -67,6 +69,7 @@
 
     @Mock private Preference mockConnectionDetailPref;
     @Mock private WifiDetailPreference mockSignalStrengthPref;
+    @Mock private WifiDetailPreference mockLinkSpeedPref;
     @Mock private WifiDetailPreference mockFrequencyPref;
     @Mock private WifiDetailPreference mockSecurityPref;
     @Mock private WifiDetailPreference mockIpAddressPref;
@@ -91,13 +94,14 @@
         when(mockAccessPoint.getRssi()).thenReturn(RSSI);
         when(mockAccessPoint.getSecurityString(false)).thenReturn(SECURITY);
 
+        when(mockWifiInfo.getLinkSpeed()).thenReturn(LINK_SPEED);
+        when(mockWifiInfo.getRssi()).thenReturn(RSSI);
+        when(mockWifiManager.getConnectionInfo()).thenReturn(mockWifiInfo);
+
         mController = new WifiDetailPreferenceController(
                 mockAccessPoint, mContext, mLifecycle, mockWifiManager);
 
         setupMockedPreferenceScreen();
-
-        when(mockWifiInfo.getRssi()).thenReturn(RSSI);
-        when(mockWifiManager.getConnectionInfo()).thenReturn(mockWifiInfo);
     }
 
     private void setupMockedPreferenceScreen() {
@@ -106,6 +110,8 @@
                 .thenReturn(mockConnectionDetailPref);
         when(mockScreen.findPreference(WifiDetailPreferenceController.KEY_SIGNAL_STRENGTH_PREF))
                 .thenReturn(mockSignalStrengthPref);
+        when(mockScreen.findPreference(WifiDetailPreferenceController.KEY_LINK_SPEED))
+                .thenReturn(mockLinkSpeedPref);
         when(mockScreen.findPreference(WifiDetailPreferenceController.KEY_FREQUENCY_PREF))
                 .thenReturn(mockFrequencyPref);
         when(mockScreen.findPreference(WifiDetailPreferenceController.KEY_SECURITY_PREF))
@@ -138,7 +144,8 @@
     public void latestWifiInfoAndConfig_shouldBeFetchedOnResume() {
         mController.onResume();
 
-        verify(mockWifiManager).getConnectionInfo();
+        // Once in construction, once in onResume
+        verify(mockWifiManager, times(2)).getConnectionInfo();
     }
 
     @Test
@@ -179,19 +186,50 @@
     }
 
     @Test
-    public void forgetNetwork_ephemeral() {
-        WifiConfiguration wifiConfiguration = new WifiConfiguration();
-        wifiConfiguration.SSID = "ssid";
-        // WifiConfiguration#isEphemeral will not be visible in robolectric until O is supported
-        wifiConfiguration.ephemeral = true;
-        when(mockAccessPoint.getConfig()).thenReturn(wifiConfiguration);
+    public void linkSpeedPref_shouldHaveDetailTextSet() {
+        String expectedLinkSpeed = mContext.getString(R.string.link_speed, LINK_SPEED);
+
+        mController.onResume();
+
+        verify(mockLinkSpeedPref).setDetailText(expectedLinkSpeed);
+    }
+
+    @Test
+    public void canForgetNetwork_noNetwork() {
+        when(mockAccessPoint.getConfig()).thenReturn(null);
 
         mController = new WifiDetailPreferenceController(
                 mockAccessPoint, mContext, mLifecycle, mockWifiManager);
 
+        assertThat(mController.canForgetNetwork()).isFalse();
+    }
+
+    @Test
+    public void canForgetNetwork_ephemeral() {
+        when(mockWifiInfo.isEphemeral()).thenReturn(true);
+        when(mockAccessPoint.getConfig()).thenReturn(null);
+
+        mController = new WifiDetailPreferenceController(
+                mockAccessPoint, mContext, mLifecycle, mockWifiManager);
+
+        assertThat(mController.canForgetNetwork()).isTrue();
+    }
+
+    @Test
+    public void canForgetNetwork_saved() {
+        assertThat(mController.canForgetNetwork()).isTrue();
+    }
+
+    @Test
+    public void forgetNetwork_ephemeral() {
+        String ssid = "ssid";
+
+        when(mockWifiInfo.isEphemeral()).thenReturn(true);
+        when(mockWifiInfo.getSSID()).thenReturn(ssid);
+
         mController.forgetNetwork();
 
-        verify(mockWifiManager).disableEphemeralNetwork(wifiConfiguration.SSID);
+        verify(mockWifiManager).disableEphemeralNetwork(ssid);
     }
 
     @Test
