diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index fea3b01..fdd02f8 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -77,7 +77,8 @@
         </activity>
 
         <activity android:name=".SubSettings"
-                android:taskAffinity="com.android.settings">
+                android:taskAffinity="com.android.settings"
+                android:parentActivityName="Settings">
         </activity>
 
         <activity android:name="CreateShortcut" android:label="@string/settings_shortcut"
@@ -91,7 +92,8 @@
         <!-- Wireless Controls -->
 
         <activity android:name="Settings$WirelessSettingsActivity"
-                android:label="@string/wireless_networks_settings_title">
+                android:label="@string/wireless_networks_settings_title"
+                android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.WIRELESS_SETTINGS" />
@@ -112,7 +114,8 @@
         <activity android:name="Settings$WifiSettingsActivity"
                 android:label="@string/wifi_settings"
                 android:configChanges="orientation|keyboardHidden|screenSize"
-                android:clearTaskOnLaunch="true">
+                android:clearTaskOnLaunch="true"
+                android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.WIFI_SETTINGS" />
@@ -140,7 +143,8 @@
         </activity-alias>
 
         <activity android:name=".wifi.WifiPickerActivity"
-                  android:clearTaskOnLaunch="true">
+                  android:clearTaskOnLaunch="true"
+                  android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.net.wifi.PICK_WIFI_NETWORK" />
@@ -158,7 +162,8 @@
         <activity android:name="Settings$AdvancedWifiSettingsActivity"
                 android:label="@string/wifi_advanced_settings_label"
                 android:configChanges="orientation|keyboardHidden|screenSize"
-                android:clearTaskOnLaunch="true">
+                android:clearTaskOnLaunch="true"
+                android:parentActivityName="Settings$WifiSettingsActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.WIFI_IP_SETTINGS" />
@@ -176,7 +181,8 @@
         </activity>
 
         <activity android:name=".wifi.WifiInfo"
-                android:theme="@android:style/Theme.Holo.DialogWhenLarge">
+                android:theme="@android:style/Theme.Holo.DialogWhenLarge"
+                android:parentActivityName="Settings$WifiSettingsActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN"/>
                 <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" />
@@ -185,7 +191,8 @@
         </activity>
 
         <activity android:name=".wifi.WifiConfigInfo"
-                android:theme="@android:style/Theme.Holo.DialogWhenLarge">
+                android:theme="@android:style/Theme.Holo.DialogWhenLarge"
+                android:parentActivityName="Settings$WifiSettingsActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN"/>
                 <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" />
@@ -223,7 +230,8 @@
 
         <activity android:name="ApnSettings" android:label="@string/apn_settings"
                   android:configChanges="orientation|keyboardHidden|screenSize"
-                  android:launchMode="singleTask">
+                  android:launchMode="singleTask"
+                  android:parentActivityName="Settings$WirelessSettingsActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.APN_SETTINGS" />
@@ -234,7 +242,8 @@
 
         <activity android:name="Settings$BluetoothSettingsActivity"
                 android:label="@string/bluetooth_settings_title"
-                android:clearTaskOnLaunch="true">
+                android:clearTaskOnLaunch="true"
+                android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.BLUETOOTH_SETTINGS" />
@@ -263,7 +272,8 @@
         <activity android:name=".bluetooth.DevicePickerActivity"
                 android:theme="@android:style/Theme.Holo.DialogWhenLarge"
                 android:label="@string/device_picker"
-                android:clearTaskOnLaunch="true">
+                android:clearTaskOnLaunch="true"
+                android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.bluetooth.devicepicker.action.LAUNCH" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -272,7 +282,8 @@
 
         <activity android:name="Settings$TetherSettingsActivity"
                 android:label="@string/tether_settings_title_all"
-                android:clearTaskOnLaunch="true">
+                android:clearTaskOnLaunch="true"
+                android:parentActivityName="Settings$WirelessSettingsActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -306,7 +317,8 @@
         </activity-alias>
 
         <activity android:name="Settings$WifiP2pSettingsActivity"
-                android:clearTaskOnLaunch="true">
+                android:clearTaskOnLaunch="true"
+                android:parentActivityName="Settings$WifiSettingsActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -325,7 +337,8 @@
 
         <activity android:name="Settings$VpnSettingsActivity"
                 android:label="@string/vpn_settings_title"
-                android:clearTaskOnLaunch="true">
+                android:clearTaskOnLaunch="true"
+                android:parentActivityName="Settings$WirelessSettingsActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.net.vpn.SETTINGS" />
@@ -344,7 +357,8 @@
         </activity>
 
         <activity android:name="Settings$DateTimeSettingsActivity"
-                android:label="@string/date_and_time">
+                android:label="@string/date_and_time"
+                android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.DATE_SETTINGS" />
@@ -368,7 +382,8 @@
 
         <activity android:name="Settings$LocalePickerActivity"
                 android:label="@string/language_picker_title"
-                android:clearTaskOnLaunch="true">
+                android:clearTaskOnLaunch="true"
+                android:parentActivityName="Settings$InputMethodAndLanguageSettingsActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.LOCALE_SETTINGS" />
@@ -383,7 +398,8 @@
 
         <activity android:name="Settings$InputMethodAndLanguageSettingsActivity"
                 android:label="@string/language_keyboard_settings_title"
-                android:clearTaskOnLaunch="true">
+                android:clearTaskOnLaunch="true"
+                android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.INPUT_METHOD_SETTINGS" />
@@ -396,6 +412,19 @@
                 android:resource="@id/language_settings" />
         </activity>
 
+        <activity android:name="Settings$KeyboardLayoutPickerActivity"
+                android:label="@string/keyboard_layout_picker_title"
+                android:clearTaskOnLaunch="true">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                android:value="com.android.settings.inputmethod.KeyboardLayoutPicker" />
+            <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+                android:resource="@id/language_settings" />
+        </activity>
+
         <!-- Keep compatibility with old shortcuts. -->
         <activity-alias android:name="LanguageSettings"
                 android:label="@string/language_keyboard_settings_title"
@@ -410,7 +439,8 @@
 
         <activity android:name="Settings$SpellCheckersSettingsActivity"
                 android:label="@string/spellcheckers_settings_title"
-                android:clearTaskOnLaunch="true">
+                android:clearTaskOnLaunch="true"
+                android:parentActivityName="Settings$InputMethodAndLanguageSettingsActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
@@ -446,7 +476,9 @@
 
         <activity android:name="Settings$UserDictionarySettingsActivity"
                 android:label="@string/user_dict_settings_titlebar"
-                android:clearTaskOnLaunch="true">
+                android:clearTaskOnLaunch="true"
+                android:uiOptions="none"
+                android:parentActivityName="Settings$InputMethodAndLanguageSettingsActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.USER_DICTIONARY_SETTINGS" />
@@ -495,7 +527,8 @@
 
         <activity android:name="Settings$SoundSettingsActivity"
                 android:label="@string/sound_settings"
-                android:clearTaskOnLaunch="true">
+                android:clearTaskOnLaunch="true"
+                android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="com.android.settings.SOUND_SETTINGS" />
@@ -524,7 +557,8 @@
 
         <activity android:name="Settings$DisplaySettingsActivity"
                 android:label="@string/display_settings"
-                android:clearTaskOnLaunch="true">
+                android:clearTaskOnLaunch="true"
+                android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="com.android.settings.DISPLAY_SETTINGS" />
@@ -554,7 +588,8 @@
         <activity android:name="Settings$DockSettingsActivity"
                 android:label="@string/dock_settings_title"
                 android:enabled="@bool/has_dock_settings"
-                android:clearTaskOnLaunch="true">
+                android:clearTaskOnLaunch="true"
+                android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="com.android.settings.DOCK_SETTINGS" />
@@ -582,7 +617,8 @@
 
         <activity android:name="Settings$DeviceInfoSettingsActivity"
                 android:theme="@android:style/Theme.Holo.DialogWhenLarge"
-                android:label="@string/device_info_settings">
+                android:label="@string/device_info_settings"
+                android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.DEVICE_INFO_SETTINGS" />
@@ -616,7 +652,9 @@
 
         <activity android:name="Settings$ManageApplicationsActivity"
                 android:label="@string/applications_settings"
-                android:clearTaskOnLaunch="true">
+                android:clearTaskOnLaunch="true"
+                android:parentActivityName="Settings"
+                android:uiOptions="none">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.APPLICATION_SETTINGS" />
@@ -683,7 +721,8 @@
              InstalledAppDetails. -->
         <activity android:name=".applications.InstalledAppDetailsTop"
                   android:label="@string/application_info_label"
-                  android:exported="true">
+                  android:exported="true"
+                  android:parentActivityName="Settings$ManageApplicationsActivity">
         </activity>
 
         <!-- Keep compatibility with old shortcuts. -->
@@ -700,7 +739,8 @@
 
         <!-- Provide direct entry into manage apps showing running services. -->
         <activity android:name="Settings$RunningServicesActivity"
-                android:label="@string/runningservices_settings_title">
+                android:label="@string/runningservices_settings_title"
+                android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -715,7 +755,8 @@
 
         <!-- Provide direct entry into manage apps showing storage usage of apps. -->
         <activity android:name="Settings$StorageUseActivity"
-                android:label="@string/storageuse_settings_title">
+                android:label="@string/storageuse_settings_title"
+                android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -732,7 +773,8 @@
         <activity android:name="Settings$LocationSettingsActivity"
                 android:label="@string/location_settings_title"
                 android:configChanges="orientation|keyboardHidden|screenSize"
-                android:clearTaskOnLaunch="true">
+                android:clearTaskOnLaunch="true"
+                android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.LOCATION_SOURCE_SETTINGS" />
@@ -750,7 +792,8 @@
         <activity android:name="Settings$SecuritySettingsActivity"
                 android:label="@string/security_settings_title"
                 android:configChanges="orientation|keyboardHidden|screenSize"
-                android:clearTaskOnLaunch="true">
+                android:clearTaskOnLaunch="true"
+                android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.SECURITY_SETTINGS" />
@@ -780,7 +823,8 @@
         <activity android:name="Settings$PrivacySettingsActivity"
                 android:label="@string/privacy_settings_title"
                 android:configChanges="orientation|keyboardHidden|screenSize"
-                android:clearTaskOnLaunch="true">
+                android:clearTaskOnLaunch="true"
+                android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.PRIVACY_SETTINGS" />
@@ -813,7 +857,8 @@
 
         <activity android:name="Settings$DeviceAdminSettingsActivity"
                 android:label="@string/device_admin_settings_title"
-                android:clearTaskOnLaunch="true">
+                android:clearTaskOnLaunch="true"
+                android:parentActivityName="Settings$SecuritySettingsActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -858,7 +903,8 @@
         <activity android:name="IccLockSettings"
                 android:label="@string/sim_lock_settings"
                 android:theme="@android:style/Theme.Holo.DialogWhenLarge"
-                android:process="com.android.phone">
+                android:process="com.android.phone"
+                android:parentActivityName="Settings$SecuritySettingsActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -869,7 +915,8 @@
         <activity android:name="Settings$AccessibilitySettingsActivity"
                 android:label="@string/accessibility_settings"
                 android:configChanges="orientation|keyboardHidden|screenSize"
-                android:clearTaskOnLaunch="true">
+                android:clearTaskOnLaunch="true"
+                android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.ACCESSIBILITY_SETTINGS" />
@@ -884,7 +931,8 @@
         </activity>
 
         <activity android:name="Settings$TextToSpeechSettingsActivity"
-                android:label="@string/tts_settings">
+                android:label="@string/tts_settings"
+                android:parentActivityName="Settings$InputMethodAndLanguageSettingsActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="com.android.settings.TTS_SETTINGS" />
@@ -925,7 +973,8 @@
         <activity android:name=".deviceinfo.Status"
                 android:label="@string/device_status_activity_title"
                 android:theme="@android:style/Theme.Holo.DialogWhenLarge"
-                android:process="com.android.phone">
+                android:process="com.android.phone"
+                android:parentActivityName="Settings$DeviceInfoSettingsActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -934,7 +983,9 @@
         </activity>
 
         <activity android:name="Settings$StorageSettingsActivity"
-                android:label="@string/storage_settings_title">
+                android:label="@string/storage_settings_title"
+                android:uiOptions="none"
+                android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.INTERNAL_STORAGE_SETTINGS" />
@@ -994,7 +1045,8 @@
 
         <activity android:name="Settings$DevelopmentSettingsActivity"
                 android:label="@string/development_settings_title"
-                android:clearTaskOnLaunch="true">
+                android:clearTaskOnLaunch="true"
+                android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.APPLICATION_DEVELOPMENT_SETTINGS" />
@@ -1024,7 +1076,8 @@
 
         <activity android:name="Settings$UsbSettingsActivity"
                 android:label="@string/storage_title_usb"
-                android:clearTaskOnLaunch="true">
+                android:clearTaskOnLaunch="true"
+                android:parentActivityName="Settings$StorageSettingsActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.STORAGE_USB_SETTINGS" />
@@ -1150,7 +1203,8 @@
         <!-- NFC settings -->
         <activity android:name="Settings$AndroidBeamSettingsActivity"
                 android:label="@string/android_beam_settings_title"
-                android:clearTaskOnLaunch="true">
+                android:clearTaskOnLaunch="true"
+                android:parentActivityName="Settings$WirelessSettingsActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.NFCSHARING_SETTINGS" />
@@ -1191,7 +1245,8 @@
             </intent-filter>
         </receiver>
 
-        <activity android:name="BatteryInfo" android:label="@string/battery_info_label">
+        <activity android:name="BatteryInfo" android:label="@string/battery_info_label"
+                  android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" />
@@ -1200,7 +1255,8 @@
         </activity>
 
         <activity android:name="Display" android:label="@string/display_label"
-                android:configChanges="fontScale">
+                android:configChanges="fontScale"
+                android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" />
@@ -1254,7 +1310,7 @@
         <!-- Standard picker for widgets -->
         <activity android:name="AppWidgetPickActivity"
                 android:label="@string/widget_picker_title"
-                android:theme="@*android:style/Theme.Dialog.Alert"
+                android:theme="@*android:style/Theme.Holo.Dialog.Alert"
                 android:finishOnCloseSystemDialogs="true">
             <intent-filter>
                 <action android:name="android.appwidget.action.APPWIDGET_PICK" />
@@ -1262,7 +1318,8 @@
             </intent-filter>
         </activity>
 
-        <activity android:name="UsageStats" android:label="@string/usage_stats_label">
+        <activity android:name="UsageStats" android:label="@string/usage_stats_label"
+                  android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" />
@@ -1270,7 +1327,9 @@
         </activity>
 
         <activity android:name="Settings$PowerUsageSummaryActivity"
-                android:label="@string/power_usage_summary_title">
+                android:label="@string/power_usage_summary_title"
+                android:uiOptions="none"
+                android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.intent.action.POWER_USAGE_SUMMARY" />
@@ -1296,7 +1355,8 @@
 
         <activity
                 android:name="Settings$ManageAccountsSettingsActivity"
-                android:label="@string/sync_settings">
+                android:label="@string/sync_settings"
+                android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.SYNC_SETTINGS" />
@@ -1309,7 +1369,9 @@
         </activity>
 
         <activity android:name="Settings$AccountSyncSettingsActivity"
-            android:label="@string/account_sync_settings_title">
+            android:label="@string/account_sync_settings_title"
+            android:uiOptions="none"
+            android:parentActivityName="Settings$ManageAccountsSettingsActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.ACCOUNT_SYNC_SETTINGS" />
@@ -1324,7 +1386,8 @@
         <activity android:name="com.android.settings.accounts.AddAccountSettings"
             android:theme="@android:style/Theme.Translucent.NoTitleBar"
             android:configChanges="orientation|keyboardHidden|screenSize"
-            android:label="@string/header_add_an_account">
+            android:label="@string/header_add_an_account"
+            android:parentActivityName="Settings$ManageAccountsSettingsActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.settings.ADD_ACCOUNT_SETTINGS" />
@@ -1379,7 +1442,8 @@
 
         <activity android:name="Settings$DataUsageSummaryActivity"
                 android:label="@string/data_usage_summary_title"
-                android:uiOptions="none">
+                android:uiOptions="none"
+                android:parentActivityName="Settings">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.DEFAULT" />
diff --git a/res/drawable-hdpi/ic_item_delete.png b/res/drawable-hdpi/ic_item_delete.png
index f3e53d7..2956109 100644
--- a/res/drawable-hdpi/ic_item_delete.png
+++ b/res/drawable-hdpi/ic_item_delete.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_item_delete.png b/res/drawable-mdpi/ic_item_delete.png
index f074db3..6ed1327 100644
--- a/res/drawable-mdpi/ic_item_delete.png
+++ b/res/drawable-mdpi/ic_item_delete.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_item_delete.png b/res/drawable-xhdpi/ic_item_delete.png
index 2dcd299..942cf23 100644
--- a/res/drawable-xhdpi/ic_item_delete.png
+++ b/res/drawable-xhdpi/ic_item_delete.png
Binary files differ
diff --git a/res/menu/data_usage.xml b/res/menu/data_usage.xml
index 4e938aa..7847f3b 100644
--- a/res/menu/data_usage.xml
+++ b/res/menu/data_usage.xml
@@ -35,4 +35,7 @@
         android:id="@+id/data_usage_menu_show_ethernet"
         android:title="@string/data_usage_menu_show_ethernet"
         android:checkable="true" />
+    <item
+        android:id="@+id/data_usage_menu_metered"
+        android:title="@string/data_usage_menu_metered" />
 </menu>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 2a40eb8..d40d979 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -290,8 +290,8 @@
     <string name="time_picker_title" msgid="483460752287255019">"Tyd"</string>
     <string name="biometric_weak_improve_matching_title" msgid="8754080894393195194">"Verbeter gesigpassing"</string>
     <string name="biometric_weak_liveliness_title" msgid="7980026533493781616">"Vereis dat oë geknip word"</string>
-    <string name="biometric_weak_liveliness_summary" product="tablet" msgid="6367838154211928954">"Verhoed dat ander persone jou foto kan gebruik om jou tablet te ontsluit"</string>
-    <string name="biometric_weak_liveliness_summary" product="default" msgid="2694191231783245799">"Verhoed dat ander persone jou foto kan gebruik om jou foon te ontsluit"</string>
+    <string name="biometric_weak_liveliness_summary" product="tablet" msgid="6367838154211928954">"Verhoed dat iemand anders \'n foto van jou gebruik om jou tablet te ontsluit"</string>
+    <string name="biometric_weak_liveliness_summary" product="default" msgid="2694191231783245799">"Verhoed dat iemand anders \'n foto van jou gebruik om jou foon te ontsluit"</string>
     <string name="lock_after_timeout" msgid="4590337686681194648">"Sluit outomaties"</string>
     <string name="lock_after_timeout_summary" msgid="6128431871360905631">"<xliff:g id="TIMEOUT_STRING">%1$s</xliff:g> na sluimer"</string>
     <string name="show_owner_info_on_lockscreen_label" msgid="5074906168357568434">"Wys eienaarinligting op sluitskerm"</string>
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Ontdek-met-raak"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Wanneer ontdek-met-raak aangeskakel is, kan jy beskrywings wat onder jou vinger is, sien of hoor."\n\n" Hierdie kenmerk is vir siggestremde gebruikers."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Raak-en-hou-vertraging"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Installeer webskripte"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Verbeter webtoeganklikheid"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Instellings"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Tutoriaal"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Aan"</string>
@@ -1621,8 +1621,8 @@
     <string name="user_restrictions_heading" msgid="4426403050397418553">"Inhoudbeperkings"</string>
     <string name="user_market_requires_pin" msgid="3571878227804334190">"Aflaaisels vereis PIN"</string>
     <string name="user_max_content_rating" msgid="8297759970216482772">"Inhoudgradering"</string>
-    <string name="user_system_apps_heading" msgid="1956840109252079533">"Stelselprog\'e vir aktivering"</string>
-    <string name="user_market_apps_heading" msgid="6165106147189170463">"Geïnstalleerde prog\'e vir aktivering"</string>
+    <string name="user_system_apps_heading" msgid="1956840109252079533">"Stelselprogramme vir aktivering"</string>
+    <string name="user_market_apps_heading" msgid="6165106147189170463">"Geïnstalleerde programme vir aktivering"</string>
     <string name="user_discard_user_menu" msgid="6638388031088461242">"Gooi weg"</string>
     <string name="user_remove_user_menu" msgid="3210146886949340574">"Verwyder gebruiker"</string>
     <string name="user_new_user_name" msgid="7603010274765911161">"Lastige kind"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index b35c561..91372b7 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"በመንካት አስስ"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"በመንካት አስስ ሲበራ በጣትዎ ስር ያሉትን መግለጫዎች ይሰማሉ ወይም ያያሉ። "\n\n" ይህ ገፅታ አይናቸው ለደከመባቸው ነው።"</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"ንካ&amp; አዘግይ ያዝ"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"የድረ ስክሪፕቶች ጫን"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"የድር ተደራሽነት አሻሽል"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"ቅንብሮች"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"ማጠናከሪያ ትምህርት"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"በ"</string>
@@ -1612,7 +1612,7 @@
     <string name="backup_pw_cancel_button_text" msgid="8845630125391744615">"ይቅር"</string>
     <string name="percentage" msgid="5866131581207788624">"+<xliff:g id="NUMBER">%d</xliff:g>"</string>
     <string name="additional_system_update_settings_list_item_title" msgid="214987609894661992">"ተጨማሪ የስርዓት አዘምኖች"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"የተጠቃሚዎች &amp; ገደቦች"</string>
+    <string name="user_settings_title" msgid="5189224330534906766">"ተጠቃሚዎች አና ገደቦች"</string>
     <string name="user_list_title" msgid="2152311434413878709">"ተጠቃሚዎች"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"ተጠቃሚ አክል"</string>
     <string name="user_details_title" msgid="3037625632127241370">"ዝርዝሮችን አርትዕ"</string>
@@ -1626,6 +1626,6 @@
     <string name="user_discard_user_menu" msgid="6638388031088461242">"አስወግድ"</string>
     <string name="user_remove_user_menu" msgid="3210146886949340574">"ተጠቃሚ አስወግድ"</string>
     <string name="user_new_user_name" msgid="7603010274765911161">"ረባሽ ልጅ"</string>
-    <string name="user_confirm_remove_title" msgid="3856148232937245711">"ተጠቃሚ አስወግድ?"</string>
+    <string name="user_confirm_remove_title" msgid="3856148232937245711">"ተጠቃሚ ይወገድ?"</string>
     <string name="user_confirm_remove_message" msgid="5284111415714437285">"ከመሳሪያው ላይ ተጠቃሚውን እና ሁሉንም ተያያዥነት ያለው ውሂብ ለማስወገድ መፈለግህን እርግጠኛ ነህ?"</string>
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index d0d3b77..6cc489e 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"الاستكشاف باللمس"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"عند تشغيل الاستكشاف باللمس، يمكنك سماع أوصاف لما يتم تحت إصبعك أو رؤيتها."\n\n" وقد تم تصميم هذه الميزة لضعاف البصر من المستخدمين."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"مهلة اللمس مع الاستمرار"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"تثبيت النصوص البرمجية من الويب"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"تحسين إمكانية الدخول إلى الويب"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"الإعدادات"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"برنامج تعليمي"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"تشغيل"</string>
@@ -1619,10 +1619,10 @@
     <string name="user_information_heading" msgid="8728151075759863162">"معلومات المستخدم"</string>
     <string name="user_name_title" msgid="7563724675699398319">"الاسم"</string>
     <string name="user_restrictions_heading" msgid="4426403050397418553">"قيود المحتوى"</string>
-    <string name="user_market_requires_pin" msgid="3571878227804334190">"تنزيلات تتطلب رقم تعريف شخصي"</string>
+    <string name="user_market_requires_pin" msgid="3571878227804334190">"تنزيلات تلزم رقم تعريف شخصي"</string>
     <string name="user_max_content_rating" msgid="8297759970216482772">"تقييم المحتوى"</string>
     <string name="user_system_apps_heading" msgid="1956840109252079533">"تطبيقات النظام المراد تمكينها"</string>
-    <string name="user_market_apps_heading" msgid="6165106147189170463">"التطبيقات المثبتة المراد تمكينها"</string>
+    <string name="user_market_apps_heading" msgid="6165106147189170463">"التطبيقات المثبتة لتمكينها"</string>
     <string name="user_discard_user_menu" msgid="6638388031088461242">"إلغاء"</string>
     <string name="user_remove_user_menu" msgid="3210146886949340574">"إزالة مستخدم"</string>
     <string name="user_new_user_name" msgid="7603010274765911161">"طفل مزعج"</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 8c5ab6f..f9ec17e 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Прагледзець праз дакрананне"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Калі ўключана функцыя Explore by Touch, вы можаце пачуць або ўбачыць апісанне таго, што пад вашым пальцам."\n\n"Гэтая функцыя прызначаная для карыстальнікаў з дрэнным зрокам."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Дакраніцеся і затрымайце"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Усталяваць вэб-скрыпты"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Павышэнне даступнасці вэб-сайтаў"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Налады"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Падручнік"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"На"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index c03e915..13654d8 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Изследване чрез докосване"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Когато изследването чрез докосване е включено, можете да чуете или видите описания на това, какво има под пръста ви."\n\n" Тази функция е за потребители с намалено зрение."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Докосване и дълго задържане"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Инсталиране на уеб скриптове"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Достъпност в мрежата: Подобряване"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Настройки"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Урок"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Включено"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 547c54c..8970c34 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Explora amb el tacte"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Quan Explore by Touch està activat, pots escoltar o veure les descripcions del que hi ha sota el dit."\n\n" Aquesta funció és per a usuaris amb visió reduïda."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Retard de Toca i mantén premut"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Instal·la scripts web"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Millora l\'accessibilitat web"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Configuració"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Tutorial"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Activat"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index f122f62..b5a67fc 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Explore by touch"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Po zapnutí vám funkce Explore by Touch poskytuje zobrazený nebo hlasový popis toho, na co ukážete prstem."\n\n" Tato funkce je určena pro slabozraké uživatele."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Prodleva dotyku a podržení"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Nainstalovat webové skripty"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Usnadnit přístupu k webu"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Nastavení"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Výukový program"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Zapnuto"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index bc5ba21..91bb571 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Udforsk ved berøring"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Når Udforsk med berøring er slået til, kan du høre eller se beskrivelser af, hvad der er under din finger."\n\n"Denne funktion er til brugere med dårligt syn."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Tryk og hold nede"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Installer webscripts"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Styrk tilgængeligheden på nettet"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Indstillinger"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Selvstudium"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Tændt"</string>
diff --git a/res/values-de/arrays.xml b/res/values-de/arrays.xml
index 363cdb7..3edb930 100644
--- a/res/values-de/arrays.xml
+++ b/res/values-de/arrays.xml
@@ -283,7 +283,7 @@
     <item msgid="7664124146786465092">"Nicht erfolgreich"</item>
   </string-array>
   <string-array name="user_content_ratings_entries">
-    <item msgid="6695142042685002581">"Höheres Wesen"</item>
+    <item msgid="6695142042685002581">"Ascended being"</item>
     <item msgid="5947820123307066039">"Mensch"</item>
     <item msgid="8199409897107872131">"Neandertaler"</item>
     <item msgid="5420874533358730735">"Schimpanse"</item>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index f608500..d7f1134 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -1185,7 +1185,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Tippen &amp; Entdecken"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Wenn die Funktion \"Tippen und Entdecken\" aktiviert ist, hören oder sehen Sie Beschreibungen Ihrer Aktionen."\n\n" Diese Funktion ist für Nutzer mit geringem Sehvermögen."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Reaktionszeit Berühren/Halten"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Webskripts installieren"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Web-Bedienungshilfen verbessern"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Einstellungen"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Anleitung"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"An"</string>
@@ -1337,7 +1337,7 @@
     <string name="credentials_install_summary" product="default" msgid="5737658257407822713">"Zertifikate von SD-Karte installieren"</string>
     <string name="credentials_reset" msgid="3239382277144980418">"Anmeldedaten löschen"</string>
     <string name="credentials_reset_summary" msgid="3369361230171260282">"Alle Zertifikate entfernen"</string>
-    <string name="trusted_credentials" msgid="4266945289534242402">"Vertrauensw. Anmeldedaten"</string>
+    <string name="trusted_credentials" msgid="4266945289534242402">"Vertrauenswürdige Anmeldedaten"</string>
     <string name="trusted_credentials_summary" msgid="6735221351155686632">"Vertrauenswürdige CA-Zertifikate anzeigen"</string>
     <string name="credentials_unlock" msgid="385427939577366499"></string>
     <string name="credentials_unlock_hint" msgid="2301301378040499348">"Geben Sie das Passwort für den Anmeldeinformationsspeicher ein."</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index d26407c..c44576e 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Εξερεύνηση μέσω αφής"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Όταν η Εξερεύνηση μέσω αφής είναι ενεργοποιημένη, μπορείτε να ακούσετε ή να δείτε περιγραφές για το τι είναι κάτω από το δάχτυλό σας. "\n" "\n" Αυτή η δυνατότητα αφορά χρήστες με προβλήματα όρασης."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Καθυστέρηση παρατεταμένου αγγίγματος"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Εγκατάσταση σεναρίων ιστού"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Βελτίωση προσβασιμότητας στον ιστό"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Ρυθμίσεις"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Οδηγός"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Ενεργή"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index ac8237f..971423e 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Explore by touch"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"When Explore by Touch is turned on, you can hear or see descriptions of what\'s under your finger."\n\n" This feature is for low-vision users."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Touch &amp; hold delay"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Install web scripts"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Enhance web accessibility"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Settings"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Tutorial"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"On"</string>
diff --git a/res/values-es-rUS/arrays.xml b/res/values-es-rUS/arrays.xml
index dd9f3ae..77ede1d 100644
--- a/res/values-es-rUS/arrays.xml
+++ b/res/values-es-rUS/arrays.xml
@@ -283,7 +283,7 @@
     <item msgid="7664124146786465092">"Incorrecta"</item>
   </string-array>
   <string-array name="user_content_ratings_entries">
-    <item msgid="6695142042685002581">"Ser humano ascendente"</item>
+    <item msgid="6695142042685002581">"Ascendido"</item>
     <item msgid="5947820123307066039">"Humano"</item>
     <item msgid="8199409897107872131">"Neandertal"</item>
     <item msgid="5420874533358730735">"Chimpancé"</item>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 3bf4fcd..74cd44d 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Exploración táctil"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Cuando la Exploración táctil está activada, puedes escuchar o ver las descripciones de lo que está debajo del dedo."\n\n" Esta función es para usuarios con discapacidad visual."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Retraso entre tocar y mantener presionado"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Instalar sec. de comandos web"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Mejorar accesibilidad web"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Configuración"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Tutorial"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Activado"</string>
@@ -1612,7 +1612,7 @@
     <string name="backup_pw_cancel_button_text" msgid="8845630125391744615">"Cancelar"</string>
     <string name="percentage" msgid="5866131581207788624">"<xliff:g id="NUMBER">%d</xliff:g>%%"</string>
     <string name="additional_system_update_settings_list_item_title" msgid="214987609894661992">"Actualizaciones del sistema adicionales"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Usuarios &amp; restricciones"</string>
+    <string name="user_settings_title" msgid="5189224330534906766">"Usuarios y restricciones"</string>
     <string name="user_list_title" msgid="2152311434413878709">"Usuarios"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Agregar usuario"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Modificar detalles"</string>
@@ -1620,9 +1620,9 @@
     <string name="user_name_title" msgid="7563724675699398319">"Nombre"</string>
     <string name="user_restrictions_heading" msgid="4426403050397418553">"Restricciones de contenido"</string>
     <string name="user_market_requires_pin" msgid="3571878227804334190">"Descargas requieren PIN"</string>
-    <string name="user_max_content_rating" msgid="8297759970216482772">"Calificación del contenido:"</string>
-    <string name="user_system_apps_heading" msgid="1956840109252079533">"Aplicaciones del sistema para habilitar"</string>
-    <string name="user_market_apps_heading" msgid="6165106147189170463">"Aplicaciones instaladas para habilitar"</string>
+    <string name="user_max_content_rating" msgid="8297759970216482772">"Calificación contenido:"</string>
+    <string name="user_system_apps_heading" msgid="1956840109252079533">"Aplicaciones para activar"</string>
+    <string name="user_market_apps_heading" msgid="6165106147189170463">"Aplicaciones para activar"</string>
     <string name="user_discard_user_menu" msgid="6638388031088461242">"Descartar"</string>
     <string name="user_remove_user_menu" msgid="3210146886949340574">"Eliminar usuario"</string>
     <string name="user_new_user_name" msgid="7603010274765911161">"Niño molesto"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 47608cf..6c26ad8 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Exploración táctil"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Si la exploración táctil está activada, puedes ver o escuchar descripciones del contenido seleccionado."\n\n" Esta función está destinada a los usuarios con discapacidad visual."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Retraso pulsación prolongada"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Instalar scripts web"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Mejorar accesibilidad web"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Ajustes"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Tutorial"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Activado"</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index f7240ed..b4e13af 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Puudutusega uurimine"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Kui teenus Explore by Touch on sisse lülitatud, kuulete või näete kirjeldust selle kohta, mis on teie sõrme all."\n\n" See funktsioon on mõeldud kehva nägemisega kasutajatele."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Puudutage ja hoidke viivitust"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Veebiskriptide installimine"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Veebijuurdepääsu täiustamine"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Seaded"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Õpetused"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Sees"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index fb8e54f..c8a66d6 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -291,7 +291,7 @@
     <string name="biometric_weak_improve_matching_title" msgid="8754080894393195194">"بهبود مطابقت چهره"</string>
     <string name="biometric_weak_liveliness_title" msgid="7980026533493781616">"به چشمک نیاز دارد"</string>
     <string name="biometric_weak_liveliness_summary" product="tablet" msgid="6367838154211928954">"از به کاربردن عکسی از شما برای بازکردن قفل رایانه لوحی شما توسط دیگران جلوگیری می‌کند"</string>
-    <string name="biometric_weak_liveliness_summary" product="default" msgid="2694191231783245799">"از به کاربردن عکسی از شما برای بازکردن قفل تلفن شما توسط دیگران جلوگیری می‌کند"</string>
+    <string name="biometric_weak_liveliness_summary" product="default" msgid="2694191231783245799">"از به کار بردن عکسی از شما برای بازکردن قفل تلفن شما توسط دیگران جلوگیری می‌کند"</string>
     <string name="lock_after_timeout" msgid="4590337686681194648">"به صورت خودکار قفل شود"</string>
     <string name="lock_after_timeout_summary" msgid="6128431871360905631">"<xliff:g id="TIMEOUT_STRING">%1$s</xliff:g> پس از خواب"</string>
     <string name="show_owner_info_on_lockscreen_label" msgid="5074906168357568434">"نمایش اطلاعات مالک در صفحه قفل"</string>
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"کاوش با لمس"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"هنگامی که کاوش با لمس فعال باشد، می‌توانید توضیحات مواردی را که زیر انگشتتان است ببینید یا بشنوید."\n\n" این قابلیت برای استفاده کاربران با بینایی کم است."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"تأخیر لمس کردن و نگه داشتن"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"نصب اسکریپت‌های وب"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"افزایش دسترسی به وب"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"تنظیمات"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"برنامه آموزشی"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"روشن"</string>
@@ -1627,5 +1627,5 @@
     <string name="user_remove_user_menu" msgid="3210146886949340574">"حذف کاربر"</string>
     <string name="user_new_user_name" msgid="7603010274765911161">"بچه مزاحم"</string>
     <string name="user_confirm_remove_title" msgid="3856148232937245711">"حذف کاربر؟"</string>
-    <string name="user_confirm_remove_message" msgid="5284111415714437285">"آیا مطمئن هستید که می‌خواهید کاربر و تمام داده‌های تخصیص داده شده را از دستگاه حذف کنید؟"</string>
+    <string name="user_confirm_remove_message" msgid="5284111415714437285">"آیا مطمئن هستید که می‌خواهید کاربر و تمام داده‌های مربوطه را از دستگاه حذف کنید؟"</string>
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 74a9b6e..2a5ec09 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Kosketuksella tutkiminen"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Kun kosketuksella tutkiminen on käytössä, näet tai kuulet kuvauksen sormesi alla olevista kohteista."\n\n" Tämä ominaisuus on tarkoitettu näkörajoitteisille käyttäjille."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Pitkän kosketuksen viive"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Asenna verkkokomentosarjat"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Paranna internetin esteettömyyttä"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Asetukset"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Esittely"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Käytössä"</string>
diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml
index 2525ff0..f08c8fd 100644
--- a/res/values-fr/arrays.xml
+++ b/res/values-fr/arrays.xml
@@ -283,7 +283,7 @@
     <item msgid="7664124146786465092">"Échec."</item>
   </string-array>
   <string-array name="user_content_ratings_entries">
-    <item msgid="6695142042685002581">"Être ascensionné"</item>
+    <item msgid="6695142042685002581">"Être évolué"</item>
     <item msgid="5947820123307066039">"Être humain"</item>
     <item msgid="8199409897107872131">"Homme de Néandertal"</item>
     <item msgid="5420874533358730735">"Chimpanzé"</item>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 1ffeb89..32ca66d 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Explorer au toucher"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Lorsque la fonctionnalité \"Explorer au toucher\" est activée, vous pouvez entendre ou voir la description de ce qui se trouve sous vos doigts."\n\n" Celle-ci est destinée aux utilisateurs malvoyants."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Délai de pression"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Installer des scripts Web"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Améliorer l\'accessibilité du Web"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Paramètres"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Didacticiel"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Activé"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 3b02d8e..cb64262 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"स्‍पर्श द्वारा अन्‍वेषण"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"जब स्‍पर्श द्वारा अन्‍वेषण चालू हो, तो आप अपनी अंगुली के नीचे के विवरण सुन सकते हैं या देख सकते हैं."\n\n" यह सुविधा कम दृष्टि वाले उपयोगकर्ताओं के लिए है."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"स्‍पर्श करके रखने का विलंब"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"वेब स्‍क्रिप्ट इंस्‍टॉल करें"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"वेब पहुंचयोग्यता बढ़ाएं"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"सेटिंग"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"ट्यूटोरियल"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"चालू"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 12bfaba..9e444cd 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Istraži dodirom"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Kada se uključi Istraži dodirom, možete čuti ili vidjeti opise onoga što je pod prstom. "\n\n" Ova je značajka za slabovidne korisnike."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Dodirnite i držite odgodu"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Instalacija web-skripti"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Poboljšavanje web-pristupačnosti"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Postavke"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Vodič"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Uključeno"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 191807b..e09db9e 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Felfedezés érintéssel"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Amikor be van kapcsolva a Felfedezés érintéssel funkció, akkor láthatja vagy hallhatja az ujja alatt lévő dolgok leírását."\n\n" Ez a funkció gyengén látó felhasználók számára készült."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Érintés és tartási késleltetés"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Internetes szkriptek telepítése"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Webelérhetőség fokozása"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Beállítások"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Útmutató"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Be"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 84aa625..cdaef0e 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -1182,9 +1182,9 @@
     <string name="accessibility_power_button_ends_call_title" msgid="5468375366375940894">"Tombol daya mengakhiri panggilan"</string>
     <string name="accessibility_speak_password_title" msgid="3344423945644925355">"Ucapkan sandi"</string>
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Jelajahi dengan sentuhan"</string>
-    <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Ketika Jelajahi dengan Sentuhan dinyalakan, Anda dapat mendengar atau melihat uraian dari apa yang ada di bawah jari Anda."\n\n" Fitur ini untuk pengguna dengan penglihatan yang tidak terlalu bagus."</string>
+    <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Ketika Jelajahi dengan Sentuhan dinyalakan, Anda dapat mendengar atau melihat deskripsi dari apa yang ada di bawah jari Anda."\n\n" Fitur ini untuk pengguna dengan penglihatan yang tidak terlalu bagus."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Tundaan sentuh &amp; tahan"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Pasang skrip web"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Meningkatkan aksesibilitas web"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Setelan"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Tutorial"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Nyala"</string>
@@ -1203,7 +1203,7 @@
     <string name="accessibility_service_no_apps_message" msgid="7751662416377046539">"TalkBack menyediakan masukan lisan untuk membantu pengguna yang buta dan tidak terlalu baik penglihatannya. Apakah Anda ingin memasangnya secara gratis dari Android Market?"</string>
     <string name="accessibility_script_injection_security_warning_summary" msgid="7706858873495386310">"Apakah Anda ingin apl memasang skrip dari Google yang membuat konten webnya lebih mudah diakses?"</string>
     <string name="accessibility_touch_exploration_warning" msgid="5474167409993309316">"Fitur ini mengubah cara perangkat Anda menanggapi sentuhan. Aktifkan?"</string>
-    <string name="accessibility_service_default_description" msgid="1072730037861494125">"Tidak tersedia uraian."</string>
+    <string name="accessibility_service_default_description" msgid="1072730037861494125">"Tidak tersedia deskripsi."</string>
     <string name="settings_button" msgid="3006713718908152930">"Setelan"</string>
     <string name="power_usage_summary_title" msgid="7190304207330319919">"Baterai"</string>
     <string name="power_usage_summary" msgid="7237084831082848168">"Apa yang menggunakan daya baterai"</string>
diff --git a/res/values-it/arrays.xml b/res/values-it/arrays.xml
index 1397bf1..0d54372 100644
--- a/res/values-it/arrays.xml
+++ b/res/values-it/arrays.xml
@@ -283,7 +283,7 @@
     <item msgid="7664124146786465092">"Operazione non riuscita"</item>
   </string-array>
   <string-array name="user_content_ratings_entries">
-    <item msgid="6695142042685002581">"Essere asceso"</item>
+    <item msgid="6695142042685002581">"Ascended being"</item>
     <item msgid="5947820123307066039">"Umani"</item>
     <item msgid="8199409897107872131">"Neanderthal"</item>
     <item msgid="5420874533358730735">"Scimpanzè"</item>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 4c8d5bc..27f7d05 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Esplora al tocco"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Quando la funzione Esplora al tocco è attiva, puoi ascoltare o visualizzare le descrizioni di ciò che si trova sotto il tuo dito."\n\n"Questa funzione è destinata a utenti ipovedenti."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Ritardo tocco e pressione"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Installa script web"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Migliora l\'accessibilità web"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Impostazioni"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Esercitazione"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Attivo"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 79494d9..6b13c71 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"בדיקה דרך מגע"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"כאשר \'בדיקה דרך מגע\' מופעלת, ניתן לשמוע או לראות תיאורים של מה שנמצא מתחת לאצבע שלך."\n\n" תכונה זו נועדה למשתמשים לקויי ראייה."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"עיכוב של \'גע והחזק\'"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"התקן סקריפטים של אינטרנט"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"שיפור נגישות האינטרנט"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"הגדרות"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"מערך שיעור"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"מופעל"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 1f97883..2c8c5d5 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -1186,7 +1186,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"タッチガイド"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"タッチガイドをONにすると、指で触れているアイテムについて説明を聞くか見ることができます。"\n\n"この機能は低視力のユーザー向けです。"</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"押し続ける時間"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"ウェブスクリプトをインストール"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"ウェブアクセシビリティの拡張"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"設定"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"チュートリアル"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"ON"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index b31ec65..7152399 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"터치하여 탐색"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"터치하여 탐색 기능을 사용하면 손가락 아래에 표시된 항목에 대한 설명을 듣거나 볼 수 있습니다."\n\n"이 기능은 시각 장애인을 위한 것입니다."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"길게 누르기 지연"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"웹 스크립트 설치"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"웹 접근성 향상"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"설정"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"안내서"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"설정"</string>
@@ -1619,13 +1619,13 @@
     <string name="user_information_heading" msgid="8728151075759863162">"사용자 정보"</string>
     <string name="user_name_title" msgid="7563724675699398319">"이름"</string>
     <string name="user_restrictions_heading" msgid="4426403050397418553">"콘텐츠 제한"</string>
-    <string name="user_market_requires_pin" msgid="3571878227804334190">"다운로드하려면 PIN이 필요합니다."</string>
+    <string name="user_market_requires_pin" msgid="3571878227804334190">"다운로드하려면 PIN 필요"</string>
     <string name="user_max_content_rating" msgid="8297759970216482772">"콘텐츠 등급"</string>
     <string name="user_system_apps_heading" msgid="1956840109252079533">"사용 가능한 시스템 앱"</string>
     <string name="user_market_apps_heading" msgid="6165106147189170463">"사용 가능한 설치된 앱"</string>
     <string name="user_discard_user_menu" msgid="6638388031088461242">"삭제"</string>
     <string name="user_remove_user_menu" msgid="3210146886949340574">"사용자 삭제"</string>
     <string name="user_new_user_name" msgid="7603010274765911161">"칭얼대는 아이"</string>
-    <string name="user_confirm_remove_title" msgid="3856148232937245711">"사용자 삭제?"</string>
-    <string name="user_confirm_remove_message" msgid="5284111415714437285">"사용자와 기기에 모든 관련 데이터를 삭제하시겠습니까?"</string>
+    <string name="user_confirm_remove_title" msgid="3856148232937245711">"사용자를 삭제하시겠습니까?"</string>
+    <string name="user_confirm_remove_message" msgid="5284111415714437285">"기기에서 사용자와 모든 관련 데이터를 삭제하시겠습니까?"</string>
 </resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index d867682..1f86051 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Naršyti paliečiant"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Kai įjungta naršymo paliečiant funkcija, galite girdėti elemento, ant kurio yra jūsų pirštas, aprašą."\n\n" Ši funkcija skirta trumparegiams naudotojams."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"„Paliesti ir laikyti“ delsa"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Įdiegti žiniatinklio scenarijus"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Padidinti žiniatinklio pasiekiamumą"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Nustatymai"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Mokymo programa"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Įjungta"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 224a823..a78f08b 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Atklāt pieskaroties"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Kad ir ieslēgta funkcija Atklāt pieskaroties, var dzirdēt vai redzēt tā vienuma aprakstu, virs kura atrodas pirksts."\n\n"Šī funkcija ir paredzēta vājredzīgajiem lietotājiem."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Aizkav., pieskar. un turot nosp."</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Tīmekļa skriptu instalēšana"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Tīmekļa pieejamības uzlabošana"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Iestatījumi"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Mācības"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Ieslēgts"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 45858a8..0ac4e83 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Jelajah dengan sentuhan"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Apabila Jelajah dengan Sentuhan dihidupkan, anda boleh mendengar atau melihat huraian item di bawah jari anda."\n\n" Ciri ini adalah untuk pengguna kurang penglihatan."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Lengah sentuh &amp; tahan"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Pasang skrip web"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Tingkatkan kebolehcapaian web"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Tetapan"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Tutorial"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Hidup"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index f763757..a32c65c 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Utforsk ved berøring"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Når funksjonen for berøringsutforsking er slått på, kan du høre eller se beskrivelser av hva som er under fingeren din. "\n" "\n" Denne funksjonen er beregnet for svaksynte brukere."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Forsinkelse på trykk-og-hold-inne"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Installer nettskripter"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Forbedre tilgj. på nettet"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Innstillinger"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Veiledning"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"På"</string>
@@ -1621,8 +1621,8 @@
     <string name="user_restrictions_heading" msgid="4426403050397418553">"Innholdsbegrensninger"</string>
     <string name="user_market_requires_pin" msgid="3571878227804334190">"Nedlasting krever PIN"</string>
     <string name="user_max_content_rating" msgid="8297759970216482772">"Innholdsvurdering"</string>
-    <string name="user_system_apps_heading" msgid="1956840109252079533">"System-apper du kan aktivere"</string>
-    <string name="user_market_apps_heading" msgid="6165106147189170463">"Installerte apper du kan aktivere"</string>
+    <string name="user_system_apps_heading" msgid="1956840109252079533">"System-apper du vil aktivere"</string>
+    <string name="user_market_apps_heading" msgid="6165106147189170463">"Installerte apper du vil aktivere"</string>
     <string name="user_discard_user_menu" msgid="6638388031088461242">"Forkast"</string>
     <string name="user_remove_user_menu" msgid="3210146886949340574">"Slett brukeren"</string>
     <string name="user_new_user_name" msgid="7603010274765911161">"Rakkerunge"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index fe72fdb..4d7813f 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Verkennen via aanraking"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Als verkennen via aanraking is ingeschakeld, kunt u beluisteren of bekijken wat u met uw vinger aanraakt."\n\n" Deze functie is bedoeld voor slechtziende gebruikers."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Vertraging voor blijven aanraken"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Webscripts installeren"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Webtoegankelijkheid verbeteren"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Instellingen"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Training"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Aan"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 08c17eb..1fc0a27 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Czytanie dotykiem"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Włączenie opcji czytania dotykiem powoduje wyświetlanie lub odczytywanie opisów elementów znajdujących się pod Twoim palcem."\n\n" Funkcja jest przeznaczona dla użytkowników z wadami wzroku."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Czas dotknięcia i przytrzymania"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Zainstaluj skrypty internetowe"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Zwiększenie dostępności stron internetowych"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Ustawienia"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Samouczek"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Włączone"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index fc69c45..153226e 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Explorar pelo toque"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Quando Explorar pelo Toque estiver ativado, poderá ouvir ou ver as descrições do que está por baixo do seu dedo."\n\n"Esta funcionalidade destina-se a utilizadores com pouca visão."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Atraso ao manter premida a tecla"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Instalar scripts Web"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Melhorar a acessibilidade à Web"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Configurações"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Tutorial"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Em"</string>
@@ -1627,5 +1627,5 @@
     <string name="user_remove_user_menu" msgid="3210146886949340574">"Remover utilizador"</string>
     <string name="user_new_user_name" msgid="7603010274765911161">"Criança traquina"</string>
     <string name="user_confirm_remove_title" msgid="3856148232937245711">"Remover utilizador?"</string>
-    <string name="user_confirm_remove_message" msgid="5284111415714437285">"Tem a certeza de que pretende remover o utilizador e todos os dados associados do aparelho?"</string>
+    <string name="user_confirm_remove_message" msgid="5284111415714437285">"Tem a certeza de que pretende remover o utilizador e todos os dados associados do dispositivo?"</string>
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index c64ddfd..039d92d 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Explorar pelo toque"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Quando a opção Explorar pelo toque está ativada, você pode ouvir ou ver as descrições do que está sob seu dedo."\n\n" Esse recurso é para usuários com pouca visão."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Atraso ao tocar e pressionar"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Instalar scripts da web"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Melhorar a acessibilidade na web"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Configurações"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Tutorial"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Ativado"</string>
diff --git a/res/values-rm/strings.xml b/res/values-rm/strings.xml
index d134d76..8456613 100644
--- a/res/values-rm/strings.xml
+++ b/res/values-rm/strings.xml
@@ -1740,7 +1740,7 @@
     <skip />
     <!-- no translation found for accessibility_long_press_timeout_title (2373216941395035306) -->
     <skip />
-    <!-- no translation found for accessibility_script_injection_title (3264723681038625967) -->
+    <!-- no translation found for accessibility_script_injection_title (7921388904564822855) -->
     <skip />
     <!-- no translation found for accessibility_menu_item_settings (3344942964710773365) -->
     <skip />
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index ad91ed3..0d9282b 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Exploraţi prin atingere"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Când funcţia Exploraţi prin atingere este activată, puteţi auzi sau vedea descrieri pentru ceea ce se află sub degetul dvs."\n\n" Această funcţie este destinată utilizatorilor cu probleme de vedere."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Întâr. pt. Ating. şi menţ. apăs."</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Instalaţi scripturile web"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Sporiţi accesibilitatea web"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Setări"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Prog. instruire"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Activat"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 29ac085..99872bd 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Изучение касанием"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Функция \"Изучение касанием\" позволяет прослушивать или просматривать описание элементов, которых вы касаетесь."\n\n" Эта функция предназначена для пользователей с нарушением зрения."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Задержка при нажатии и удержании"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Установка веб-скриптов"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Расширение доступности"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Настройки"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Руководство"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Вкл."</string>
@@ -1623,11 +1623,11 @@
     <string name="user_restrictions_heading" msgid="4426403050397418553">"Ограничения на контент"</string>
     <string name="user_market_requires_pin" msgid="3571878227804334190">"Требуется PIN"</string>
     <string name="user_max_content_rating" msgid="8297759970216482772">"Рейтинг контента"</string>
-    <string name="user_system_apps_heading" msgid="1956840109252079533">"Системные прил. для активации"</string>
-    <string name="user_market_apps_heading" msgid="6165106147189170463">"Приложения для активации"</string>
+    <string name="user_system_apps_heading" msgid="1956840109252079533">"Неактивир. системные приложения"</string>
+    <string name="user_market_apps_heading" msgid="6165106147189170463">"Неактивированные приложения"</string>
     <string name="user_discard_user_menu" msgid="6638388031088461242">"Отменить"</string>
-    <string name="user_remove_user_menu" msgid="3210146886949340574">"Удалить пользователя"</string>
+    <string name="user_remove_user_menu" msgid="3210146886949340574">"Удалить"</string>
     <string name="user_new_user_name" msgid="7603010274765911161">"Pesky kid"</string>
-    <string name="user_confirm_remove_title" msgid="3856148232937245711">"Удалить пользователя?"</string>
+    <string name="user_confirm_remove_title" msgid="3856148232937245711">"Удалить аккаунт?"</string>
     <string name="user_confirm_remove_message" msgid="5284111415714437285">"Действительно удалить с устройства аккаунт пользователя и все его данные?"</string>
 </resources>
diff --git a/res/values-sk/arrays.xml b/res/values-sk/arrays.xml
index c63990f..1fe5184 100644
--- a/res/values-sk/arrays.xml
+++ b/res/values-sk/arrays.xml
@@ -283,7 +283,7 @@
     <item msgid="7664124146786465092">"Neúspešné"</item>
   </string-array>
   <string-array name="user_content_ratings_entries">
-    <item msgid="6695142042685002581">"Povznesená bytosť"</item>
+    <item msgid="6695142042685002581">"Vyššia bytosť"</item>
     <item msgid="5947820123307066039">"Človek"</item>
     <item msgid="8199409897107872131">"Neandrtálec"</item>
     <item msgid="5420874533358730735">"Šimpanz"</item>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index f4735e7..3077dca 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Explore by touch"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Keď je funkcia Explore by Touch zapnutá, môžete vidieť alebo počuť popisy položiek, ktorých sa dotýkate. "\n" "\n"Táto funkcia je určená pre používateľov s poruchou zraku."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Oneskorenie dotyku a podržania"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Inštalácia webových skriptov"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Zlepšiť dostupnosť webu"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Nastavenia"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Príručka"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Zapnuté"</string>
@@ -1612,7 +1612,7 @@
     <string name="backup_pw_cancel_button_text" msgid="8845630125391744615">"Zrušiť"</string>
     <string name="percentage" msgid="5866131581207788624">"<xliff:g id="NUMBER">%d</xliff:g> %%"</string>
     <string name="additional_system_update_settings_list_item_title" msgid="214987609894661992">"Ďalšie aktualizácie systému"</string>
-    <string name="user_settings_title" msgid="5189224330534906766">"Používatelia a obmezdenia"</string>
+    <string name="user_settings_title" msgid="5189224330534906766">"Používatelia a obmedzenia"</string>
     <string name="user_list_title" msgid="2152311434413878709">"Používatelia"</string>
     <string name="user_add_user_menu" msgid="1675956975014862382">"Pridať používateľa"</string>
     <string name="user_details_title" msgid="3037625632127241370">"Upraviť podrobnosti"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index b5ede4b..f37494c 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Raziskovanje z dotikom"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Če je vklopljeno raziskovanje z dotikom, lahko slišite ali vidite opise vsebine pod prstom."\n\n" Ta funkcija je namenjena uporabnikom, ki slabo vidijo."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Zapoznitev za dotik in pridržanje"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Namestite spletne skripte"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Izboljšanje dostopnosti do spleta"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Nastavitve"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Vadnica"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Vklopljeno"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 629defb..823c3cd 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Истраживање додиром"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Када је укључена функција Истражи додиром, чућете или видети описе ставки које вам се налазе испод прста."\n\n" Ова функција је намењена слабовидим корисницима."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Одлагање притискa и задржавањa"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Инсталирање веб скрипти"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Побољшајте приступачност Веба"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Подешавања"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Водич"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Укључено"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 70bed94..a61b15e 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -939,7 +939,7 @@
     <string name="lockpattern_settings_enable_summary" msgid="1165707416664252167">"Måste rita grafiskt lösenord för att låsa upp skärmen"</string>
     <string name="lockpattern_settings_enable_visible_pattern_title" msgid="2615606088906120711">"Gör mönster synligt"</string>
     <string name="lockpattern_settings_enable_tactile_feedback_title" msgid="8898518337442601027">"Vibrera vid tryck"</string>
-    <string name="lockpattern_settings_enable_power_button_instantly_locks" msgid="5735444062633666327">"Strömbrytaren låses direkt"</string>
+    <string name="lockpattern_settings_enable_power_button_instantly_locks" msgid="5735444062633666327">"Avstängningsknappen låses direkt"</string>
     <string name="lockpattern_settings_choose_lock_pattern" msgid="1652352830005653447">"Ange grafiskt lösenord"</string>
     <string name="lockpattern_settings_change_lock_pattern" msgid="1123908306116495545">"Byt grafiskt lösenord"</string>
     <string name="lockpattern_settings_help_how_to_record" msgid="2614673439060830433">"Så här ritar du ett grafiskt lösenord"</string>
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Explore by touch"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"När Explore by Touch är aktiverat kan du höra eller se beskrivningar av det du har under fingrarna."\n\n" Funktionen är till för användare med nedsatt syn."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Fördröjning för håll ned"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Installera webbskript"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Gör webben mer tillgänglig"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Inställningar"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Självstudier"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"På"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index bc7189f..5af7959 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -1174,7 +1174,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Gundua kwa mguzo"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Wakati Explore by Touch imewashwa, unaweza kusikia au kuona ufafanuzi ulio chini ya kidole chako."\n\n" Kipengele hiki ni cha watumiaji wasioona vizuri"</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Gusa &amp; shikilia kuchelewa"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Sakinisha hati za wavuti"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Boresha ufikiaji wavuti"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Mipangilio"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Mafunzo"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Washa"</string>
@@ -1616,6 +1616,6 @@
     <string name="user_discard_user_menu" msgid="6638388031088461242">"Tupa"</string>
     <string name="user_remove_user_menu" msgid="3210146886949340574">"Ondoa mtumiaji"</string>
     <string name="user_new_user_name" msgid="7603010274765911161">"Mtoto anayekera"</string>
-    <string name="user_confirm_remove_title" msgid="3856148232937245711">"Ondoa mtumiaji?"</string>
+    <string name="user_confirm_remove_title" msgid="3856148232937245711">"Je, mtumiaji aondolewe?"</string>
     <string name="user_confirm_remove_message" msgid="5284111415714437285">"Je, una uhakika unataka kuondoa mtumiaji na data zote zinazohusika kutoka kwenye kifaa?"</string>
 </resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 14c6e50..a3473c8 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"สำรวจโดยการแตะ"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"เมื่อ \"สำรวจด้วยการแตะ\" เปิดอยู่ คุณจะได้ยินหรือฟังคำอธิบายสำหรับสิ่งที่คุณแตะอยู่"\n\n" คุณลักษณะนี้สำหรับผู้ใช้ที่มีปัญหาด้านสายตา"</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"การหน่วงเวลาด้วยการแตะค้างไว้"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"ติดตั้งเว็บสคริปต์"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"ปรับปรุงการเข้าถึงเว็บให้ดียิ่งขึ้น"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"การตั้งค่า"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"บทแนะนำ"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"เปิด"</string>
@@ -1620,7 +1620,7 @@
     <string name="user_name_title" msgid="7563724675699398319">"ชื่อ"</string>
     <string name="user_restrictions_heading" msgid="4426403050397418553">"การจำกัดเนื้อหา"</string>
     <string name="user_market_requires_pin" msgid="3571878227804334190">"การดาวน์โหลดต้องใช้ PIN"</string>
-    <string name="user_max_content_rating" msgid="8297759970216482772">"การให้คะแนนเนื้อหา:"</string>
+    <string name="user_max_content_rating" msgid="8297759970216482772">"การให้คะแนนเนื้อหา"</string>
     <string name="user_system_apps_heading" msgid="1956840109252079533">"แอปของระบบสำหรับเปิดใช้งาน"</string>
     <string name="user_market_apps_heading" msgid="6165106147189170463">"แอปที่ติดตั้งสำหรับเปิดใช้งาน"</string>
     <string name="user_discard_user_menu" msgid="6638388031088461242">"ยกเลิก"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 2dbb9b5..c8dafb5 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Gumalugad sa pamamagitan ng pagpindot"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Kapag naka-on ang Explore by Touch, makakarinig o makakakita ka ng mga paglalarawan ng kung ano ang nasa ilalim ng iyong daliri."\n\n" Ang tampok na ito ay para sa mga low-vision na user."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Pagkaantala sa pagpindot &amp; pagdiin"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"I-install ang mga web script"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Pahusayin ang accessibility sa web"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Mga Setting"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Tutorial"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Naka-on"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 64745ae..4b36857 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Dokunarak keşfet"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Explore by Touch açık olduğunda, parmağınızın altında bulunanlar ile ilgili açıklamaları duyabilir veya görebilirsiniz."\n\n" Bu özellik görüşü zayıf kullanıcılar içindir."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Dokunma ve tutma bekleme süresi"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Web komut dosyalarını yükle"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Web erişilebilirliğini artır"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Ayarlar"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Eğitici"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Açık"</string>
@@ -1620,7 +1620,7 @@
     <string name="user_name_title" msgid="7563724675699398319">"Ad"</string>
     <string name="user_restrictions_heading" msgid="4426403050397418553">"İçerik kısıtlamaları"</string>
     <string name="user_market_requires_pin" msgid="3571878227804334190">"İndirmeler PIN gerektirir"</string>
-    <string name="user_max_content_rating" msgid="8297759970216482772">"İçerik derecelendirme"</string>
+    <string name="user_max_content_rating" msgid="8297759970216482772">"İçerik oylama"</string>
     <string name="user_system_apps_heading" msgid="1956840109252079533">"Etkinleştirilecek sistem uygulamaları"</string>
     <string name="user_market_apps_heading" msgid="6165106147189170463">"Etkinleştirilecek yüklü uygulamalar"</string>
     <string name="user_discard_user_menu" msgid="6638388031088461242">"Sil"</string>
diff --git a/res/values-uk/arrays.xml b/res/values-uk/arrays.xml
index 81ef61b..f228e70 100644
--- a/res/values-uk/arrays.xml
+++ b/res/values-uk/arrays.xml
@@ -283,7 +283,7 @@
     <item msgid="7664124146786465092">"Невдача"</item>
   </string-array>
   <string-array name="user_content_ratings_entries">
-    <item msgid="6695142042685002581">"Істота випрямлена"</item>
+    <item msgid="6695142042685002581">"Вознесена особа"</item>
     <item msgid="5947820123307066039">"Людина"</item>
     <item msgid="8199409897107872131">"Неандерталець"</item>
     <item msgid="5420874533358730735">"Шимпанзе"</item>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 94d42b7..632e59a 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Дослідження дотиком"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Коли ввімкнено функцію дослідження дотиком, можна побачити або почути опис елемента, розташованого під вашим пальцем."\n\n"Ця функція призначена для користувачів зі слабким зором."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Затримка натискання й утримування"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Установити веб-сценарії"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Покращення доступності мережі"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Налаштування"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Навч. посібник"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Увімк."</string>
@@ -1621,11 +1621,11 @@
     <string name="user_restrictions_heading" msgid="4426403050397418553">"Обмеження вмісту"</string>
     <string name="user_market_requires_pin" msgid="3571878227804334190">"Для завант. потрібен PIN"</string>
     <string name="user_max_content_rating" msgid="8297759970216482772">"Рейтинг вмісту"</string>
-    <string name="user_system_apps_heading" msgid="1956840109252079533">"Системні програми для ввімкн."</string>
-    <string name="user_market_apps_heading" msgid="6165106147189170463">"Установл. програми для ввімкн."</string>
-    <string name="user_discard_user_menu" msgid="6638388031088461242">"Відхилити"</string>
+    <string name="user_system_apps_heading" msgid="1956840109252079533">"Системні програми"</string>
+    <string name="user_market_apps_heading" msgid="6165106147189170463">"Установлені програми"</string>
+    <string name="user_discard_user_menu" msgid="6638388031088461242">"Закрити"</string>
     <string name="user_remove_user_menu" msgid="3210146886949340574">"Видалити користувача"</string>
-    <string name="user_new_user_name" msgid="7603010274765911161">"Прикра дитина"</string>
+    <string name="user_new_user_name" msgid="7603010274765911161">"Надокучлива дитина"</string>
     <string name="user_confirm_remove_title" msgid="3856148232937245711">"Видалити користувача?"</string>
     <string name="user_confirm_remove_message" msgid="5284111415714437285">"Дійсно видалити користувача та всі пов’язані дані з цього пристрою?"</string>
 </resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 2afdbd8..72b490b 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Khám phá bằng cách chạm"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Khi bật Khám phá bằng cách chạm, bạn có thể nghe hoặc nhìn thấy mô tả của nội dung dưới ngón tay của bạn."\n\n" Tính năng này dùng cho những người có thị lực kém."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Thời gian chờ cho Chạm &amp; giữ"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Cài đặt tập lệnh web"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Nâng cao khả năng truy cập của web"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Cài đặt"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Hướng dẫn"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Bật"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 95348c8..873676f 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"触摸浏览"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"当“触摸浏览”功能打开时，您可以听到或看到您触摸内容的说明。"\n\n"此功能适用于视力不好的用户。"</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"触摸和按住延迟"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"安装网页脚本"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"增强网络辅助功能"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"设置"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"教程"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"启用"</string>
@@ -1619,13 +1619,13 @@
     <string name="user_information_heading" msgid="8728151075759863162">"用户信息"</string>
     <string name="user_name_title" msgid="7563724675699398319">"用户名"</string>
     <string name="user_restrictions_heading" msgid="4426403050397418553">"内容限制"</string>
-    <string name="user_market_requires_pin" msgid="3571878227804334190">"下载内容需要用到 PIN"</string>
+    <string name="user_market_requires_pin" msgid="3571878227804334190">"下载内容需要输入 PIN"</string>
     <string name="user_max_content_rating" msgid="8297759970216482772">"内容评级"</string>
     <string name="user_system_apps_heading" msgid="1956840109252079533">"要启用的系统应用"</string>
     <string name="user_market_apps_heading" msgid="6165106147189170463">"要启用的已安装应用"</string>
     <string name="user_discard_user_menu" msgid="6638388031088461242">"舍弃"</string>
     <string name="user_remove_user_menu" msgid="3210146886949340574">"删除用户"</string>
     <string name="user_new_user_name" msgid="7603010274765911161">"Pesky kid"</string>
-    <string name="user_confirm_remove_title" msgid="3856148232937245711">"删除用户吗？"</string>
+    <string name="user_confirm_remove_title" msgid="3856148232937245711">"是否删除用户？"</string>
     <string name="user_confirm_remove_message" msgid="5284111415714437285">"您确定要从设备中删除该用户和所有相关数据吗？"</string>
 </resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 5dc186f..fa53252 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -288,7 +288,7 @@
     <string name="zone_list_menu_sort_by_timezone" msgid="2720190443744884114">"依時區排序"</string>
     <string name="date_picker_title" msgid="1338210036394128512">"日期"</string>
     <string name="time_picker_title" msgid="483460752287255019">"時間"</string>
-    <string name="biometric_weak_improve_matching_title" msgid="8754080894393195194">"提升臉部配對精準度"</string>
+    <string name="biometric_weak_improve_matching_title" msgid="8754080894393195194">"加強臉部辨識精準度"</string>
     <string name="biometric_weak_liveliness_title" msgid="7980026533493781616">"需眨眼"</string>
     <string name="biometric_weak_liveliness_summary" product="tablet" msgid="6367838154211928954">"防止他人利用您的相片將平板電腦解鎖"</string>
     <string name="biometric_weak_liveliness_summary" product="default" msgid="2694191231783245799">"防止他人利用您的相片將手機解鎖"</string>
@@ -1184,7 +1184,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"輕觸探索"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"開啟 [輕觸探索] 時，您就能聽到或看到您手指觸碰到的描述。"\n\n"這項功能是專為視力不佳的使用者而設計的。"</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"輕觸並按住的延遲時間"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"安裝網路指令碼"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"強化網頁協助工具"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"設定"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"教學課程"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"開啟"</string>
@@ -1619,7 +1619,7 @@
     <string name="user_information_heading" msgid="8728151075759863162">"使用者資訊"</string>
     <string name="user_name_title" msgid="7563724675699398319">"名稱"</string>
     <string name="user_restrictions_heading" msgid="4426403050397418553">"內容限制"</string>
-    <string name="user_market_requires_pin" msgid="3571878227804334190">"需要 PIN 才能下載"</string>
+    <string name="user_market_requires_pin" msgid="3571878227804334190">"需要輸入 PIN 才能下載"</string>
     <string name="user_max_content_rating" msgid="8297759970216482772">"內容分級"</string>
     <string name="user_system_apps_heading" msgid="1956840109252079533">"可啟用的系統應用程式"</string>
     <string name="user_market_apps_heading" msgid="6165106147189170463">"可啟用的已安裝應用程式"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 7684607..8803502 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -1185,7 +1185,7 @@
     <string name="accessibility_touch_exploration_title" msgid="4171477646863806078">"Hlaziya ngokuthinta"</string>
     <string name="accessibility_touch_exploration_summary" msgid="1163951209315238103">"Lapho Ukuhlola Ngokuthinta kuvuliwe, ungezwa noma ubone izincazelo zalokho okungaphansi komunwe wakho"\n\n" Lesi sici esabasebenzisi abangaboni kahle."</string>
     <string name="accessibility_long_press_timeout_title" msgid="2373216941395035306">"Ukulibaziseka uma uthinta, ubamba"</string>
-    <string name="accessibility_script_injection_title" msgid="3264723681038625967">"Faka imibhalo yewebhu"</string>
+    <string name="accessibility_script_injection_title" msgid="7921388904564822855">"Engeza ukufinyelela kwewebhu"</string>
     <string name="accessibility_menu_item_settings" msgid="3344942964710773365">"Izilungiselelo"</string>
     <string name="accessibility_menu_item_tutorial" msgid="567989492004682307">"Okokufundisa"</string>
     <string name="accessibility_service_state_on" msgid="8791337599927106344">"Vuliwe"</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 61102e0..44a7b03 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2614,6 +2614,12 @@
     <!-- On Language & input settings screen, setting summary.  Setting for mouse pointer speed. [CHAR LIMIT=35] -->
     <string name="pointer_speed">Pointer speed</string>
 
+    <!-- Keyboard Layout Picker --> <skip />
+    <!-- Title for the keyboard layout picker activity. [CHAR LIMIT=35] -->
+    <string name="keyboard_layout_picker_title">Choose keyboard layout</string>
+    <!-- String to show when no keyboard layouts are available. [CHAR LIMIT=60] -->
+    <string name="keyboard_layout_picker_empty_text">No keyboard layouts are available.</string>
+
     <!-- User dictionary settings --><skip />
     <!-- User dictionary settings, The titlebar text of the User dictionary settings screen. -->
     <string name="user_dict_settings_titlebar">User dictionary</string>
@@ -3603,6 +3609,8 @@
     <string name="data_usage_menu_show_wifi">Show Wi-Fi usage</string>
     <!-- Title for checkbox menu option to show Ethernet data usage. [CHAR LIMIT=32] -->
     <string name="data_usage_menu_show_ethernet">Show Ethernet usage</string>
+    <!-- Title for menu option to configure expensive networks. [CHAR LIMIT=32] -->
+    <string name="data_usage_menu_metered">Expensive networks</string>
     <!-- Title for option to change data usage cycle day. [CHAR LIMIT=32] -->
     <string name="data_usage_change_cycle">Change cycle\u2026</string>
     <!-- Body of dialog prompting user to change numerical day of month that data usage cycle should reset. [CHAR LIMIT=64] -->
@@ -3704,6 +3712,15 @@
     <!-- Label displaying total network data transferred during a specific time period. [CHAR LIMIT=64] -->
     <string name="data_usage_total_during_range"><xliff:g id="range" example="Jul 1 - Jul 31">%2$s</xliff:g>: about <xliff:g id="total" example="128KB">%1$s</xliff:g> used</string>
 
+    <!-- Dialog title for selecting paid networks. [CHAR LIMIT=25] -->
+    <string name="data_usage_metered_title">Expensive networks</string>
+    <!-- Dialog body for selecting paid networks. [CHAR LIMIT=NONE] -->
+    <string name="data_usage_metered_body">Select the networks for which data usage is expensive.  Apps can be restricted from using these networks when in the background.  Apps may also warn before using these networks for large downloads.</string>
+    <!-- Header for list of mobile networks. [CHAR LIMIT=32] -->
+    <string name="data_usage_metered_mobile">Mobile networks</string>
+    <!-- Header for list of Wi-Fi networks. [CHAR LIMIT=32] -->
+    <string name="data_usage_metered_wifi">Wi-Fi networks</string>
+
     <!-- Button at the bottom of the CryptKeeper screen to make an emergency call. -->
     <string name="cryptkeeper_emergency_call">Emergency call</string>
     <!-- Button at the bottom of the CryptKeeper screen that lets the user return to a call -->
diff --git a/res/xml/data_usage_metered_prefs.xml b/res/xml/data_usage_metered_prefs.xml
new file mode 100644
index 0000000..7ec3059
--- /dev/null
+++ b/res/xml/data_usage_metered_prefs.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2012 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <Preference
+        android:summary="@string/data_usage_metered_body"
+        android:persistent="false"
+        android:selectable="false" />
+
+    <PreferenceCategory
+        android:key="mobile"
+        android:title="@string/data_usage_metered_mobile"
+        android:persistent="false" />
+
+    <PreferenceCategory
+        android:key="wifi"
+        android:title="@string/data_usage_metered_wifi"
+        android:persistent="false" />
+
+</PreferenceScreen>
diff --git a/res/xml/language_settings.xml b/res/xml/language_settings.xml
index fbfb3d7..cfcc341 100644
--- a/res/xml/language_settings.xml
+++ b/res/xml/language_settings.xml
@@ -36,27 +36,34 @@
         <PreferenceScreen android:key="current_input_method"
                 android:title="@string/current_input_method" />
     </PreferenceCategory>
+
     <PreferenceCategory
             android:key="hard_keyboard"
             android:title="@string/builtin_keyboard_settings_title"
             android:persistent="false">
+        <!-- Additional preference screens are inserted here programmatically
+             with low order values to set the key map of each attached keyboard. -->
+
         <CheckBoxPreference
                 android:key="auto_replace"
                 android:title="@string/auto_replace"
                 android:summaryOn="@string/auto_replace_summary"
                 android:summaryOff="@string/auto_replace_summary"
+                android:order="1000"
                 android:persistent="false"/>
         <CheckBoxPreference
                 android:key="auto_caps"
                 android:title="@string/auto_caps"
                 android:summaryOn="@string/auto_caps_summary"
                 android:summaryOff="@string/auto_caps_summary"
+                android:order="1001"
                 android:persistent="false"/>
         <CheckBoxPreference
                 android:key="auto_punctuate"
                 android:title="@string/auto_punctuate"
                 android:summaryOn="@string/auto_punctuate_summary"
                 android:summaryOff="@string/auto_punctuate_summary"
+                android:order="1002"
                 android:persistent="false"/>
     </PreferenceCategory>
 
diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java
index d398e0b..656288a 100644
--- a/src/com/android/settings/DataUsageSummary.java
+++ b/src/com/android/settings/DataUsageSummary.java
@@ -35,11 +35,12 @@
 import static android.net.NetworkTemplate.buildTemplateMobile3gLower;
 import static android.net.NetworkTemplate.buildTemplateMobile4g;
 import static android.net.NetworkTemplate.buildTemplateMobileAll;
-import static android.net.NetworkTemplate.buildTemplateWifi;
+import static android.net.NetworkTemplate.buildTemplateWifiWildcard;
 import static android.net.TrafficStats.GB_IN_BYTES;
 import static android.net.TrafficStats.MB_IN_BYTES;
 import static android.net.TrafficStats.UID_REMOVED;
 import static android.net.TrafficStats.UID_TETHERING;
+import static android.telephony.TelephonyManager.SIM_STATE_READY;
 import static android.text.format.DateUtils.FORMAT_ABBREV_MONTH;
 import static android.text.format.DateUtils.FORMAT_SHOW_DATE;
 import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
@@ -83,6 +84,7 @@
 import android.os.SystemProperties;
 import android.os.UserId;
 import android.preference.Preference;
+import android.preference.PreferenceActivity;
 import android.provider.Settings;
 import android.telephony.TelephonyManager;
 import android.text.TextUtils;
@@ -127,6 +129,7 @@
 import com.android.settings.drawable.InsetBoundsDrawable;
 import com.android.settings.net.ChartData;
 import com.android.settings.net.ChartDataLoader;
+import com.android.settings.net.DataUsageMeteredSettings;
 import com.android.settings.net.NetworkPolicyEditor;
 import com.android.settings.net.SummaryForAllUidLoader;
 import com.android.settings.net.UidDetail;
@@ -144,8 +147,8 @@
 import libcore.util.Objects;
 
 /**
- * Panel show data usage history across various networks, including options to
- * inspect based on usage cycle and control through {@link NetworkPolicy}.
+ * Panel showing data usage history across various networks, including options
+ * to inspect based on usage cycle and control through {@link NetworkPolicy}.
  */
 public class DataUsageSummary extends Fragment {
     private static final String TAG = "DataUsage";
@@ -180,7 +183,7 @@
 
     private INetworkManagementService mNetworkService;
     private INetworkStatsService mStatsService;
-    private INetworkPolicyManager mPolicyService;
+    private NetworkPolicyManager mPolicyManager;
     private ConnectivityManager mConnService;
 
     private static final String PREF_FILE = "data_usage";
@@ -253,19 +256,18 @@
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        final Context context = getActivity();
 
         mNetworkService = INetworkManagementService.Stub.asInterface(
                 ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE));
         mStatsService = INetworkStatsService.Stub.asInterface(
                 ServiceManager.getService(Context.NETWORK_STATS_SERVICE));
-        mPolicyService = INetworkPolicyManager.Stub.asInterface(
-                ServiceManager.getService(Context.NETWORK_POLICY_SERVICE));
-        mConnService = (ConnectivityManager) getActivity().getSystemService(
-                Context.CONNECTIVITY_SERVICE);
+        mPolicyManager = NetworkPolicyManager.from(context);
+        mConnService = ConnectivityManager.from(context);
 
         mPrefs = getActivity().getSharedPreferences(PREF_FILE, Context.MODE_PRIVATE);
 
-        mPolicyEditor = new NetworkPolicyEditor(mPolicyService);
+        mPolicyEditor = new NetworkPolicyEditor(mPolicyManager);
         mPolicyEditor.read();
 
         mShowWifi = mPrefs.getBoolean(PREF_SHOW_WIFI, false);
@@ -431,19 +433,19 @@
         final boolean appDetailMode = isAppDetailMode();
 
         mMenuDataRoaming = menu.findItem(R.id.data_usage_menu_roaming);
-        mMenuDataRoaming.setVisible(hasMobileRadio(context) && !appDetailMode);
+        mMenuDataRoaming.setVisible(hasReadyMobileRadio(context) && !appDetailMode);
         mMenuDataRoaming.setChecked(getDataRoaming());
 
         mMenuRestrictBackground = menu.findItem(R.id.data_usage_menu_restrict_background);
-        mMenuRestrictBackground.setVisible(hasMobileRadio(context) && !appDetailMode);
-        mMenuRestrictBackground.setChecked(getRestrictBackground());
+        mMenuRestrictBackground.setVisible(hasReadyMobileRadio(context) && !appDetailMode);
+        mMenuRestrictBackground.setChecked(mPolicyManager.getRestrictBackground());
 
         final MenuItem split4g = menu.findItem(R.id.data_usage_menu_split_4g);
         split4g.setVisible(hasMobile4gRadio(context) && !appDetailMode);
         split4g.setChecked(isMobilePolicySplit());
 
         final MenuItem showWifi = menu.findItem(R.id.data_usage_menu_show_wifi);
-        if (hasWifiRadio(context) && hasMobileRadio(context)) {
+        if (hasWifiRadio(context) && hasReadyMobileRadio(context)) {
             showWifi.setVisible(!appDetailMode);
             showWifi.setChecked(mShowWifi);
         } else {
@@ -452,13 +454,20 @@
         }
 
         final MenuItem showEthernet = menu.findItem(R.id.data_usage_menu_show_ethernet);
-        if (hasEthernet(context) && hasMobileRadio(context)) {
+        if (hasEthernet(context) && hasReadyMobileRadio(context)) {
             showEthernet.setVisible(!appDetailMode);
             showEthernet.setChecked(mShowEthernet);
         } else {
             showEthernet.setVisible(false);
             mShowEthernet = true;
         }
+
+        final MenuItem metered = menu.findItem(R.id.data_usage_menu_metered);
+        if (hasReadyMobileRadio(context) || hasWifiRadio(context)) {
+            metered.setVisible(!appDetailMode);
+        } else {
+            metered.setVisible(false);
+        }
     }
 
     @Override
@@ -505,6 +514,12 @@
                 updateTabs();
                 return true;
             }
+            case R.id.data_usage_menu_metered: {
+                final PreferenceActivity activity = (PreferenceActivity) getActivity();
+                activity.startPreferencePanel(DataUsageMeteredSettings.class.getCanonicalName(), null,
+                        R.string.data_usage_metered_title, null, this, 0);
+                return true;
+            }
         }
         return false;
     }
@@ -572,7 +587,7 @@
         if (mobileSplit && hasMobile4gRadio(context)) {
             mTabHost.addTab(buildTabSpec(TAB_3G, R.string.data_usage_tab_3g));
             mTabHost.addTab(buildTabSpec(TAB_4G, R.string.data_usage_tab_4g));
-        } else if (hasMobileRadio(context)) {
+        } else if (hasReadyMobileRadio(context)) {
             mTabHost.addTab(buildTabSpec(TAB_MOBILE, R.string.data_usage_tab_mobile));
         }
         if (mShowWifi && hasWifiRadio(context)) {
@@ -650,6 +665,9 @@
 
         mDataEnabledView.setVisibility(View.VISIBLE);
 
+        // TODO: remove mobile tabs when SIM isn't ready
+        final TelephonyManager tele = TelephonyManager.from(context);
+
         if (TAB_MOBILE.equals(currentTab)) {
             setPreferenceTitle(mDataEnabledView, R.string.data_usage_enable_mobile);
             setPreferenceTitle(mDisableAtLimitView, R.string.data_usage_disable_mobile_limit);
@@ -671,7 +689,7 @@
             // wifi doesn't have any controls
             mDataEnabledView.setVisibility(View.GONE);
             mDisableAtLimitView.setVisibility(View.GONE);
-            mTemplate = buildTemplateWifi();
+            mTemplate = buildTemplateWifiWildcard();
 
         } else if (TAB_ETHERNET.equals(currentTab)) {
             // ethernet doesn't have any controls
@@ -755,8 +773,8 @@
 
         updateDetailData();
 
-        if (UserId.isApp(appId) && !getRestrictBackground() && isBandwidthControlEnabled()
-                && hasMobileRadio(context)) {
+        if (UserId.isApp(appId) && !mPolicyManager.getRestrictBackground()
+                && isBandwidthControlEnabled() && hasReadyMobileRadio(context)) {
             setPreferenceTitle(mAppRestrictView, R.string.data_usage_app_restrict_background);
             setPreferenceSummary(mAppRestrictView,
                     getString(R.string.data_usage_app_restrict_background_summary));
@@ -829,48 +847,22 @@
         mMenuDataRoaming.setChecked(enabled);
     }
 
-    private boolean getRestrictBackground() {
-        try {
-            return mPolicyService.getRestrictBackground();
-        } catch (RemoteException e) {
-            Log.w(TAG, "problem talking with policy service: " + e);
-            return false;
-        }
-    }
-
-    private void setRestrictBackground(boolean restrictBackground) {
-        if (LOGD) Log.d(TAG, "setRestrictBackground()");
-        try {
-            mPolicyService.setRestrictBackground(restrictBackground);
-            mMenuRestrictBackground.setChecked(restrictBackground);
-        } catch (RemoteException e) {
-            Log.w(TAG, "problem talking with policy service: " + e);
-        }
+    public void setRestrictBackground(boolean restrictBackground) {
+        mPolicyManager.setRestrictBackground(restrictBackground);
+        mMenuRestrictBackground.setChecked(restrictBackground);
     }
 
     private boolean getAppRestrictBackground() {
         final int appId = mCurrentApp.appId;
-        final int uidPolicy;
-        try {
-            uidPolicy = mPolicyService.getAppPolicy(appId);
-        } catch (RemoteException e) {
-            // since we can't do much without policy, we bail hard.
-            throw new RuntimeException("problem reading network policy", e);
-        }
-
+        final int uidPolicy = mPolicyManager.getAppPolicy(appId);
         return (uidPolicy & POLICY_REJECT_METERED_BACKGROUND) != 0;
     }
 
     private void setAppRestrictBackground(boolean restrictBackground) {
         if (LOGD) Log.d(TAG, "setAppRestrictBackground()");
         final int appId = mCurrentApp.appId;
-        try {
-            mPolicyService.setAppPolicy(appId,
-                    restrictBackground ? POLICY_REJECT_METERED_BACKGROUND : POLICY_NONE);
-        } catch (RemoteException e) {
-            throw new RuntimeException("unable to save policy", e);
-        }
-
+        mPolicyManager.setAppPolicy(appId,
+                restrictBackground ? POLICY_REJECT_METERED_BACKGROUND : POLICY_NONE);
         mAppRestrict.setChecked(restrictBackground);
     }
 
@@ -1201,23 +1193,25 @@
 
     private boolean isMobilePolicySplit() {
         final Context context = getActivity();
-        if (hasMobileRadio(context)) {
-            final String subscriberId = getActiveSubscriberId(context);
-            return mPolicyEditor.isMobilePolicySplit(subscriberId);
+        if (hasReadyMobileRadio(context)) {
+            final TelephonyManager tele = TelephonyManager.from(context);
+            return mPolicyEditor.isMobilePolicySplit(getActiveSubscriberId(context));
         } else {
             return false;
         }
     }
 
     private void setMobilePolicySplit(boolean split) {
-        final String subscriberId = getActiveSubscriberId(getActivity());
-        mPolicyEditor.setMobilePolicySplit(subscriberId, split);
+        final Context context = getActivity();
+        if (hasReadyMobileRadio(context)) {
+            final TelephonyManager tele = TelephonyManager.from(context);
+            mPolicyEditor.setMobilePolicySplit(getActiveSubscriberId(context), split);
+        }
     }
 
     private static String getActiveSubscriberId(Context context) {
-        final TelephonyManager telephony = (TelephonyManager) context.getSystemService(
-                Context.TELEPHONY_SERVICE);
-        final String actualSubscriberId = telephony.getSubscriberId();
+        final TelephonyManager tele = TelephonyManager.from(context);
+        final String actualSubscriberId = tele.getSubscriberId();
         return SystemProperties.get(TEST_SUBSCRIBER_PROP, actualSubscriberId);
     }
 
@@ -2048,22 +2042,24 @@
     }
 
     /**
-     * Test if device has a mobile data radio.
+     * Test if device has a mobile data radio with SIM in ready state.
      */
-    private static boolean hasMobileRadio(Context context) {
+    public static boolean hasReadyMobileRadio(Context context) {
         if (TEST_RADIOS) {
             return SystemProperties.get(TEST_RADIOS_PROP).contains("mobile");
         }
 
-        final ConnectivityManager conn = (ConnectivityManager) context.getSystemService(
-                Context.CONNECTIVITY_SERVICE);
-        return conn.isNetworkSupported(TYPE_MOBILE);
+        final ConnectivityManager conn = ConnectivityManager.from(context);
+        final TelephonyManager tele = TelephonyManager.from(context);
+
+        // require both supported network and ready SIM
+        return conn.isNetworkSupported(TYPE_MOBILE) && tele.getSimState() == SIM_STATE_READY;
     }
 
     /**
      * Test if device has a mobile 4G data radio.
      */
-    private static boolean hasMobile4gRadio(Context context) {
+    public static boolean hasMobile4gRadio(Context context) {
         if (!NetworkPolicyEditor.ENABLE_SPLIT_POLICIES) {
             return false;
         }
@@ -2071,39 +2067,35 @@
             return SystemProperties.get(TEST_RADIOS_PROP).contains("4g");
         }
 
-        final ConnectivityManager conn = (ConnectivityManager) context.getSystemService(
-                Context.CONNECTIVITY_SERVICE);
-        final TelephonyManager telephony = (TelephonyManager) context.getSystemService(
-                Context.TELEPHONY_SERVICE);
+        final ConnectivityManager conn = ConnectivityManager.from(context);
+        final TelephonyManager tele = TelephonyManager.from(context);
 
         final boolean hasWimax = conn.isNetworkSupported(TYPE_WIMAX);
-        final boolean hasLte = telephony.getLteOnCdmaMode() == Phone.LTE_ON_CDMA_TRUE;
+        final boolean hasLte = tele.getLteOnCdmaMode() == Phone.LTE_ON_CDMA_TRUE;
         return hasWimax || hasLte;
     }
 
     /**
      * Test if device has a Wi-Fi data radio.
      */
-    private static boolean hasWifiRadio(Context context) {
+    public static boolean hasWifiRadio(Context context) {
         if (TEST_RADIOS) {
             return SystemProperties.get(TEST_RADIOS_PROP).contains("wifi");
         }
 
-        final ConnectivityManager conn = (ConnectivityManager) context.getSystemService(
-                Context.CONNECTIVITY_SERVICE);
+        final ConnectivityManager conn = ConnectivityManager.from(context);
         return conn.isNetworkSupported(TYPE_WIFI);
     }
 
     /**
      * Test if device has an ethernet network connection.
      */
-    private static boolean hasEthernet(Context context) {
+    public static boolean hasEthernet(Context context) {
         if (TEST_RADIOS) {
             return SystemProperties.get(TEST_RADIOS_PROP).contains("ethernet");
         }
 
-        final ConnectivityManager conn = (ConnectivityManager) context.getSystemService(
-                Context.CONNECTIVITY_SERVICE);
+        final ConnectivityManager conn = ConnectivityManager.from(context);
         return conn.isNetworkSupported(TYPE_ETHERNET);
     }
 
@@ -2138,6 +2130,7 @@
      * Build string describing currently limited networks, which defines when
      * background data is restricted.
      */
+    @Deprecated
     private CharSequence buildLimitedNetworksString() {
         final List<CharSequence> limited = buildLimitedNetworksList();
 
@@ -2153,22 +2146,28 @@
      * Build list of currently limited networks, which defines when background
      * data is restricted.
      */
+    @Deprecated
     private List<CharSequence> buildLimitedNetworksList() {
         final Context context = getActivity();
-        final String subscriberId = getActiveSubscriberId(context);
 
         // build combined list of all limited networks
         final ArrayList<CharSequence> limited = Lists.newArrayList();
-        if (mPolicyEditor.hasLimitedPolicy(buildTemplateMobileAll(subscriberId))) {
-            limited.add(getText(R.string.data_usage_list_mobile));
+
+        final TelephonyManager tele = TelephonyManager.from(context);
+        if (tele.getSimState() == SIM_STATE_READY) {
+            final String subscriberId = getActiveSubscriberId(context);
+            if (mPolicyEditor.hasLimitedPolicy(buildTemplateMobileAll(subscriberId))) {
+                limited.add(getText(R.string.data_usage_list_mobile));
+            }
+            if (mPolicyEditor.hasLimitedPolicy(buildTemplateMobile3gLower(subscriberId))) {
+                limited.add(getText(R.string.data_usage_tab_3g));
+            }
+            if (mPolicyEditor.hasLimitedPolicy(buildTemplateMobile4g(subscriberId))) {
+                limited.add(getText(R.string.data_usage_tab_4g));
+            }
         }
-        if (mPolicyEditor.hasLimitedPolicy(buildTemplateMobile3gLower(subscriberId))) {
-            limited.add(getText(R.string.data_usage_tab_3g));
-        }
-        if (mPolicyEditor.hasLimitedPolicy(buildTemplateMobile4g(subscriberId))) {
-            limited.add(getText(R.string.data_usage_tab_4g));
-        }
-        if (mPolicyEditor.hasLimitedPolicy(buildTemplateWifi())) {
+
+        if (mPolicyEditor.hasLimitedPolicy(buildTemplateWifiWildcard())) {
             limited.add(getText(R.string.data_usage_tab_wifi));
         }
         if (mPolicyEditor.hasLimitedPolicy(buildTemplateEthernet())) {
diff --git a/src/com/android/settings/PointerSpeedPreference.java b/src/com/android/settings/PointerSpeedPreference.java
index 6a6a71f..7679cfb 100644
--- a/src/com/android/settings/PointerSpeedPreference.java
+++ b/src/com/android/settings/PointerSpeedPreference.java
@@ -19,22 +19,20 @@
 import android.content.ContentResolver;
 import android.content.Context;
 import android.database.ContentObserver;
+import android.hardware.input.InputManager;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Parcel;
 import android.os.Parcelable;
-import android.os.RemoteException;
-import android.os.ServiceManager;
 import android.preference.SeekBarDialogPreference;
 import android.provider.Settings;
-import android.provider.Settings.SettingNotFoundException;
 import android.util.AttributeSet;
-import android.view.IWindowManager;
 import android.view.View;
 import android.widget.SeekBar;
 
 public class PointerSpeedPreference extends SeekBarDialogPreference implements
         SeekBar.OnSeekBarChangeListener {
+    private final InputManager mIm;
     private SeekBar mSeekBar;
 
     private int mOldSpeed;
@@ -42,9 +40,6 @@
 
     private boolean mTouchInProgress;
 
-    private static final int MIN_SPEED = -7;
-    private static final int MAX_SPEED = 7;
-
     private ContentObserver mSpeedObserver = new ContentObserver(new Handler()) {
         @Override
         public void onChange(boolean selfChange) {
@@ -54,6 +49,7 @@
 
     public PointerSpeedPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
+        mIm = (InputManager)getContext().getSystemService(Context.INPUT_SERVICE);
     }
 
     @Override
@@ -72,15 +68,15 @@
         super.onBindDialogView(view);
 
         mSeekBar = getSeekBar(view);
-        mSeekBar.setMax(MAX_SPEED - MIN_SPEED);
-        mOldSpeed = getSpeed(0);
-        mSeekBar.setProgress(mOldSpeed - MIN_SPEED);
+        mSeekBar.setMax(InputManager.MAX_POINTER_SPEED - InputManager.MIN_POINTER_SPEED);
+        mOldSpeed = mIm.getPointerSpeed();
+        mSeekBar.setProgress(mOldSpeed - InputManager.MIN_POINTER_SPEED);
         mSeekBar.setOnSeekBarChangeListener(this);
     }
 
     public void onProgressChanged(SeekBar seekBar, int progress, boolean fromTouch) {
         if (!mTouchInProgress) {
-            setSpeed(progress + MIN_SPEED);
+            mIm.tryPointerSpeed(progress + InputManager.MIN_POINTER_SPEED);
         }
     }
 
@@ -90,22 +86,12 @@
 
     public void onStopTrackingTouch(SeekBar seekBar) {
         mTouchInProgress = false;
-        setSpeed(seekBar.getProgress() + MIN_SPEED);
-    }
-
-    private int getSpeed(int defaultValue) {
-        int speed = defaultValue;
-        try {
-            speed = Settings.System.getInt(getContext().getContentResolver(),
-                    Settings.System.POINTER_SPEED);
-        } catch (SettingNotFoundException snfe) {
-        }
-        return speed;
+        mIm.tryPointerSpeed(seekBar.getProgress() + InputManager.MIN_POINTER_SPEED);
     }
 
     private void onSpeedChanged() {
-        int speed = getSpeed(0);
-        mSeekBar.setProgress(speed - MIN_SPEED);
+        int speed = mIm.getPointerSpeed();
+        mSeekBar.setProgress(speed - InputManager.MIN_POINTER_SPEED);
     }
 
     @Override
@@ -115,8 +101,7 @@
         final ContentResolver resolver = getContext().getContentResolver();
 
         if (positiveResult) {
-            Settings.System.putInt(resolver, Settings.System.POINTER_SPEED,
-                    mSeekBar.getProgress() + MIN_SPEED);
+            mIm.setPointerSpeed(mSeekBar.getProgress() + InputManager.MIN_POINTER_SPEED);
         } else {
             restoreOldState();
         }
@@ -127,21 +112,10 @@
     private void restoreOldState() {
         if (mRestoredOldState) return;
 
-        setSpeed(mOldSpeed);
+        mIm.tryPointerSpeed(mOldSpeed);
         mRestoredOldState = true;
     }
 
-    private void setSpeed(int speed) {
-        try {
-            IWindowManager wm = IWindowManager.Stub.asInterface(
-                    ServiceManager.getService("window"));
-            if (wm != null) {
-                wm.setPointerSpeed(speed);
-            }
-        } catch (RemoteException e) {
-        }
-    }
-
     @Override
     protected Parcelable onSaveInstanceState() {
         final Parcelable superState = super.onSaveInstanceState();
@@ -169,7 +143,7 @@
         super.onRestoreInstanceState(myState.getSuperState());
         mOldSpeed = myState.oldSpeed;
         mSeekBar.setProgress(myState.progress);
-        setSpeed(myState.progress + MIN_SPEED);
+        mIm.tryPointerSpeed(myState.progress + InputManager.MIN_POINTER_SPEED);
     }
 
     private static class SavedState extends BaseSavedState {
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 3513dcc..1922100 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -18,6 +18,7 @@
 
 import com.android.internal.util.ArrayUtils;
 import com.android.settings.accounts.AccountSyncSettings;
+import com.android.settings.applications.ManageApplications;
 import com.android.settings.bluetooth.BluetoothEnabler;
 import com.android.settings.deviceinfo.Memory;
 import com.android.settings.fuelgauge.PowerUsageSummary;
@@ -84,7 +85,7 @@
             R.id.bluetooth_settings,
             R.id.sound_settings,
             R.id.display_settings,
-            //R.id.security_settings,
+            R.id.security_settings,
             R.id.sync_settings,
             R.id.about_settings
     };
@@ -316,7 +317,8 @@
                 PowerUsageSummary.class.getName().equals(fragmentName) ||
                 AccountSyncSettings.class.getName().equals(fragmentName) ||
                 UserDictionarySettings.class.getName().equals(fragmentName) ||
-                Memory.class.getName().equals(fragmentName)) {
+                Memory.class.getName().equals(fragmentName) ||
+                ManageApplications.class.getName().equals(fragmentName)) {
             intent.putExtra(EXTRA_CLEAR_UI_OPTIONS, true);
         }
 
@@ -609,6 +611,7 @@
     public static class WifiSettingsActivity extends Settings { /* empty */ }
     public static class WifiP2pSettingsActivity extends Settings { /* empty */ }
     public static class InputMethodAndLanguageSettingsActivity extends Settings { /* empty */ }
+    public static class KeyboardLayoutPickerActivity extends Settings { /* empty */ }
     public static class InputMethodAndSubtypeEnablerActivity extends Settings { /* empty */ }
     public static class SpellCheckersSettingsActivity extends Settings { /* empty */ }
     public static class LocalePickerActivity extends Settings { /* empty */ }
diff --git a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
index 4454389..cc2cf0a 100644
--- a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
+++ b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
@@ -17,6 +17,7 @@
 package com.android.settings.inputmethod;
 
 import com.android.settings.R;
+import com.android.settings.Settings.KeyboardLayoutPickerActivity;
 import com.android.settings.Settings.SpellCheckersSettingsActivity;
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.Utils;
@@ -29,6 +30,8 @@
 import android.content.pm.PackageManager;
 import android.content.res.Configuration;
 import android.database.ContentObserver;
+import android.hardware.input.InputManager;
+import android.hardware.input.InputManager.KeyboardLayout;
 import android.os.Bundle;
 import android.os.Handler;
 import android.preference.CheckBoxPreference;
@@ -40,11 +43,15 @@
 import android.provider.Settings;
 import android.provider.Settings.System;
 import android.text.TextUtils;
+import android.view.InputDevice;
+import android.view.KeyCharacterMap;
+import android.view.KeyCharacterMap.UnavailableException;
 import android.view.inputmethod.InputMethodInfo;
 import android.view.inputmethod.InputMethodManager;
 
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 import java.util.Set;
 
@@ -68,11 +75,13 @@
 
     private int mDefaultInputMethodSelectorVisibility = 0;
     private ListPreference mShowInputMethodSelectorPref;
-    private Preference mLanguagePref;
-    private ArrayList<InputMethodPreference> mInputMethodPreferenceList =
-            new ArrayList<InputMethodPreference>();
-    private boolean mHaveHardKeyboard;
+    private PreferenceCategory mKeyboardSettingsCategory;
     private PreferenceCategory mHardKeyboardCategory;
+    private Preference mLanguagePref;
+    private final ArrayList<InputMethodPreference> mInputMethodPreferenceList =
+            new ArrayList<InputMethodPreference>();
+    private final ArrayList<PreferenceScreen> mHardKeyboardPreferenceList =
+            new ArrayList<PreferenceScreen>();
     private InputMethodManager mImm;
     private List<InputMethodInfo> mImis;
     private boolean mIsOnlyImeSettings;
@@ -108,18 +117,55 @@
 
         new VoiceInputOutputSettings(this).onCreate();
 
-        // Hard keyboard
-        final Configuration config = getResources().getConfiguration();
-        mHaveHardKeyboard = (config.keyboard == Configuration.KEYBOARD_QWERTY);
+        // Get references to dynamically constructed categories.
+        mHardKeyboardCategory = (PreferenceCategory)findPreference("hard_keyboard");
+        mKeyboardSettingsCategory = (PreferenceCategory)findPreference(
+                "keyboard_settings_category");
 
-        // IME
+        // Filter out irrelevant features if invoked from IME settings button.
         mIsOnlyImeSettings = Settings.ACTION_INPUT_METHOD_SETTINGS.equals(
                 getActivity().getIntent().getAction());
         getActivity().getIntent().setAction(null);
+        if (mIsOnlyImeSettings) {
+            getPreferenceScreen().removeAll();
+            getPreferenceScreen().addPreference(mHardKeyboardCategory);
+            if (SHOW_INPUT_METHOD_SWITCHER_SETTINGS) {
+                getPreferenceScreen().addPreference(mShowInputMethodSelectorPref);
+            }
+            getPreferenceScreen().addPreference(mKeyboardSettingsCategory);
+        }
+
+        // Build IME preference category.
         mImm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
         mImis = mImm.getInputMethodList();
-        createImePreferenceHierarchy((PreferenceGroup)findPreference("keyboard_settings_category"));
 
+        mKeyboardSettingsCategory.removeAll();
+        if (!mIsOnlyImeSettings) {
+            final PreferenceScreen currentIme = new PreferenceScreen(getActivity(), null);
+            currentIme.setKey(KEY_CURRENT_INPUT_METHOD);
+            currentIme.setTitle(getResources().getString(R.string.current_input_method));
+            mKeyboardSettingsCategory.addPreference(currentIme);
+        }
+
+        mInputMethodPreferenceList.clear();
+        final int N = (mImis == null ? 0 : mImis.size());
+        for (int i = 0; i < N; ++i) {
+            final InputMethodInfo imi = mImis.get(i);
+            final InputMethodPreference pref = getInputMethodPreference(imi, N);
+            mInputMethodPreferenceList.add(pref);
+        }
+
+        if (!mInputMethodPreferenceList.isEmpty()) {
+            Collections.sort(mInputMethodPreferenceList);
+            for (int i = 0; i < N; ++i) {
+                mKeyboardSettingsCategory.addPreference(mInputMethodPreferenceList.get(i));
+            }
+        }
+
+        // Build hard keyboard preference category.
+        updateHardKeyboards();
+
+        // Spell Checker
         final Intent intent = new Intent(Intent.ACTION_MAIN);
         intent.setClass(getActivity(), SpellCheckersSettingsActivity.class);
         final SpellCheckersPreference scp = ((SpellCheckersPreference)findPreference(
@@ -189,7 +235,7 @@
         }
 
         // Hard keyboard
-        if (mHaveHardKeyboard) {
+        if (!mHardKeyboardPreferenceList.isEmpty()) {
             for (int i = 0; i < sHardKeyboardKeys.length; ++i) {
                 CheckBoxPreference chkPref = (CheckBoxPreference)
                         mHardKeyboardCategory.findPreference(sHardKeyboardKeys[i]);
@@ -198,6 +244,8 @@
             }
         }
 
+        updateHardKeyboards();
+
         // IME
         InputMethodAndSubtypeUtil.loadInputMethodSubtypeList(
                 this, getContentResolver(), mImis, null);
@@ -211,7 +259,7 @@
             mShowInputMethodSelectorPref.setOnPreferenceChangeListener(null);
         }
         InputMethodAndSubtypeUtil.saveInputMethodSubtypeList(
-                this, getContentResolver(), mImis, mHaveHardKeyboard);
+                this, getContentResolver(), mImis, !mHardKeyboardPreferenceList.isEmpty());
     }
 
     @Override
@@ -230,7 +278,7 @@
             }
         } else if (preference instanceof CheckBoxPreference) {
             final CheckBoxPreference chkPref = (CheckBoxPreference) preference;
-            if (mHaveHardKeyboard) {
+            if (!mHardKeyboardPreferenceList.isEmpty()) {
                 for (int i = 0; i < sHardKeyboardKeys.length; ++i) {
                     if (chkPref == mHardKeyboardCategory.findPreference(sHardKeyboardKeys[i])) {
                         System.putInt(getContentResolver(), sSystemSettingNames[i],
@@ -315,46 +363,57 @@
         return pref;
     }
 
-    private void createImePreferenceHierarchy(PreferenceGroup root) {
-        final Preference hardKeyPref = findPreference("hard_keyboard");
-        if (mIsOnlyImeSettings) {
-            getPreferenceScreen().removeAll();
-            if (hardKeyPref != null && mHaveHardKeyboard) {
-                getPreferenceScreen().addPreference(hardKeyPref);
-            }
-            if (SHOW_INPUT_METHOD_SWITCHER_SETTINGS) {
-                getPreferenceScreen().addPreference(mShowInputMethodSelectorPref);
-            }
-            getPreferenceScreen().addPreference(root);
-        }
-        if (hardKeyPref != null) {
-            if (mHaveHardKeyboard) {
-                mHardKeyboardCategory = (PreferenceCategory) hardKeyPref;
-            } else {
-                getPreferenceScreen().removePreference(hardKeyPref);
+    private void updateHardKeyboards() {
+        mHardKeyboardPreferenceList.clear();
+        if (getResources().getConfiguration().keyboard == Configuration.KEYBOARD_QWERTY) {
+            final InputManager im =
+                    (InputManager)getActivity().getSystemService(Context.INPUT_SERVICE);
+
+            final int[] devices = InputDevice.getDeviceIds();
+            for (int i = 0; i < devices.length; i++) {
+                InputDevice device = InputDevice.getDevice(devices[i]);
+                if (device != null
+                        && (device.getSources() & InputDevice.SOURCE_KEYBOARD) != 0
+                        && device.getKeyboardType() == InputDevice.KEYBOARD_TYPE_ALPHABETIC) {
+                    final String inputDeviceDescriptor = device.getDescriptor();
+                    final String keyboardLayoutDescriptor =
+                            im.getInputDeviceKeyboardLayoutDescriptor(inputDeviceDescriptor);
+                    final KeyboardLayout keyboardLayout = keyboardLayoutDescriptor != null ?
+                            im.getKeyboardLayout(keyboardLayoutDescriptor) : null;
+
+                    final Intent intent = new Intent(Intent.ACTION_MAIN);
+                    intent.setClass(getActivity(), KeyboardLayoutPickerActivity.class);
+                    intent.putExtra(KeyboardLayoutPicker.EXTRA_INPUT_DEVICE_DESCRIPTOR,
+                            inputDeviceDescriptor);
+
+                    final PreferenceScreen pref = new PreferenceScreen(getActivity(), null);
+                    pref.setTitle(device.getName());
+                    if (keyboardLayout != null) {
+                        pref.setSummary(keyboardLayout.getLabel());
+                    }
+                    pref.setIntent(intent);
+                    mHardKeyboardPreferenceList.add(pref);
+                }
             }
         }
-        root.removeAll();
-        mInputMethodPreferenceList.clear();
 
-        if (!mIsOnlyImeSettings) {
-            // Current IME selection
-            final PreferenceScreen currentIme = new PreferenceScreen(getActivity(), null);
-            currentIme.setKey(KEY_CURRENT_INPUT_METHOD);
-            currentIme.setTitle(getResources().getString(R.string.current_input_method));
-            root.addPreference(currentIme);
-        }
+        if (!mHardKeyboardPreferenceList.isEmpty()) {
+            for (int i = mHardKeyboardCategory.getPreferenceCount(); i-- > 0; ) {
+                final Preference pref = mHardKeyboardCategory.getPreference(i);
+                if (pref.getOrder() < 1000) {
+                    mHardKeyboardCategory.removePreference(pref);
+                }
+            }
 
-        final int N = (mImis == null ? 0 : mImis.size());
-        for (int i = 0; i < N; ++i) {
-            final InputMethodInfo imi = mImis.get(i);
-            final InputMethodPreference pref = getInputMethodPreference(imi, N);
-            mInputMethodPreferenceList.add(pref);
-        }
-
-        Collections.sort(mInputMethodPreferenceList);
-        for (int i = 0; i < N; ++i) {
-            root.addPreference(mInputMethodPreferenceList.get(i));
+            Collections.sort(mHardKeyboardPreferenceList);
+            final int count = mHardKeyboardPreferenceList.size();
+            for (int i = 0; i < count; i++) {
+                final Preference pref = mHardKeyboardPreferenceList.get(i);
+                pref.setOrder(i);
+                mHardKeyboardCategory.addPreference(pref);
+            }
+        } else {
+            getPreferenceScreen().removePreference(mHardKeyboardCategory);
         }
     }
 
diff --git a/src/com/android/settings/inputmethod/KeyboardLayoutPicker.java b/src/com/android/settings/inputmethod/KeyboardLayoutPicker.java
new file mode 100644
index 0000000..472df3a
--- /dev/null
+++ b/src/com/android/settings/inputmethod/KeyboardLayoutPicker.java
@@ -0,0 +1,131 @@
+/*
+ * Copyright (C) 2012 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 com.android.settings.R;
+
+import android.app.ListFragment;
+import android.app.LoaderManager.LoaderCallbacks;
+import android.content.AsyncTaskLoader;
+import android.content.Context;
+import android.content.Loader;
+import android.hardware.input.InputManager;
+import android.hardware.input.InputManager.KeyboardLayout;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.View;
+import android.widget.ArrayAdapter;
+import android.widget.ListAdapter;
+import android.widget.ListView;
+
+import java.util.Collections;
+import java.util.List;
+
+public class KeyboardLayoutPicker extends ListFragment
+        implements LoaderCallbacks<List<KeyboardLayout>> {
+    private static final String TAG = "KeyboardLayoutPicker";
+
+    private String mInputDeviceDescriptor;
+
+    /**
+     * Intent extra: The input device descriptor of the keyboard whose keyboard
+     * layout is to be changed.
+     */
+    public static final String EXTRA_INPUT_DEVICE_DESCRIPTOR = "input_device_descriptor";
+
+    @Override
+    public void onActivityCreated(Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+
+        mInputDeviceDescriptor = getActivity().getIntent().getStringExtra(
+                EXTRA_INPUT_DEVICE_DESCRIPTOR);
+        if (mInputDeviceDescriptor == null) {
+            Log.e(TAG, "Missing expected intent parameter: " + EXTRA_INPUT_DEVICE_DESCRIPTOR);
+            getActivity().finish();
+        }
+
+        setEmptyText(getActivity().getText(R.string.keyboard_layout_picker_empty_text));
+        getLoaderManager().initLoader(0, null, this);
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        getListView().requestFocus();
+    }
+
+    @Override
+    public void onListItemClick(ListView l, View v, int position, long id) {
+        if (mInputDeviceDescriptor != null) {
+            KeyboardLayout c = (KeyboardLayout)l.getItemAtPosition(position);
+            InputManager im = (InputManager)getActivity().getSystemService(Context.INPUT_SERVICE);
+            im.setInputDeviceKeyboardLayoutDescriptor(mInputDeviceDescriptor, c.getDescriptor());
+        }
+
+        getActivity().finish();
+    }
+
+    @Override
+    public Loader<List<KeyboardLayout>> onCreateLoader(int id, Bundle args) {
+        return new KeyboardLayoutLoader(getActivity());
+    }
+
+    @Override
+    public void onLoadFinished(Loader<List<KeyboardLayout>> loader,
+            List<KeyboardLayout> data) {
+        setListAdapter(new KeyboardLayoutAdapter(getActivity(), data));
+    }
+
+    @Override
+    public void onLoaderReset(Loader<List<KeyboardLayout>> loader) {
+        setListAdapter(null);
+    }
+
+    private static final class KeyboardLayoutAdapter
+            extends ArrayAdapter<KeyboardLayout> {
+        public KeyboardLayoutAdapter(Context context, List<KeyboardLayout> list) {
+            super(context, android.R.layout.simple_list_item_1, list);
+        }
+    }
+
+    private static final class KeyboardLayoutLoader
+            extends AsyncTaskLoader<List<KeyboardLayout>> {
+        public KeyboardLayoutLoader(Context context) {
+            super(context);
+        }
+
+        @Override
+        public List<KeyboardLayout> loadInBackground() {
+            InputManager im = (InputManager)getContext().getSystemService(Context.INPUT_SERVICE);
+            List<KeyboardLayout> list = im.getKeyboardLayouts();
+            Collections.sort(list);
+            return list;
+        }
+
+        @Override
+        protected void onStartLoading() {
+            super.onStartLoading();
+            forceLoad();
+        }
+
+        @Override
+        protected void onStopLoading() {
+            super.onStopLoading();
+            cancelLoad();
+        }
+    }
+}
diff --git a/src/com/android/settings/net/DataUsageMeteredSettings.java b/src/com/android/settings/net/DataUsageMeteredSettings.java
new file mode 100644
index 0000000..d069a71
--- /dev/null
+++ b/src/com/android/settings/net/DataUsageMeteredSettings.java
@@ -0,0 +1,133 @@
+/*
+ * Copyright (C) 2012 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.net;
+
+import static com.android.settings.DataUsageSummary.hasReadyMobileRadio;
+import static com.android.settings.DataUsageSummary.hasWifiRadio;
+
+import android.content.Context;
+import android.net.NetworkPolicy;
+import android.net.NetworkPolicyManager;
+import android.net.NetworkTemplate;
+import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiManager;
+import android.os.Bundle;
+import android.preference.CheckBoxPreference;
+import android.preference.Preference;
+import android.preference.PreferenceCategory;
+import android.telephony.TelephonyManager;
+
+import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragment;
+
+/**
+ * Panel to configure {@link NetworkPolicy#metered} for networks.
+ */
+public class DataUsageMeteredSettings extends SettingsPreferenceFragment {
+
+    private NetworkPolicyManager mPolicyManager;
+    private WifiManager mWifiManager;
+
+    private NetworkPolicyEditor mPolicyEditor;
+
+    private PreferenceCategory mMobileCategory;
+    private PreferenceCategory mWifiCategory;
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+        final Context context = getActivity();
+
+        mPolicyManager = NetworkPolicyManager.from(context);
+        mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
+
+        mPolicyEditor = new NetworkPolicyEditor(mPolicyManager);
+        mPolicyEditor.read();
+
+        addPreferencesFromResource(R.xml.data_usage_metered_prefs);
+        mMobileCategory = (PreferenceCategory) findPreference("mobile");
+        mWifiCategory = (PreferenceCategory) findPreference("wifi");
+
+        updateNetworks(context);
+
+    }
+
+    private void updateNetworks(Context context) {
+        if (hasReadyMobileRadio(context)) {
+            mMobileCategory.removeAll();
+            mMobileCategory.addPreference(buildMobilePref(context));
+        } else {
+            getPreferenceScreen().removePreference(mMobileCategory);
+        }
+
+        if (hasWifiRadio(context)) {
+            mWifiCategory.removeAll();
+            for (WifiConfiguration config : mWifiManager.getConfiguredNetworks()) {
+                if (config.SSID != null) {
+                    mWifiCategory.addPreference(buildWifiPref(context, config));
+                }
+            }
+        } else {
+            getPreferenceScreen().removePreference(mWifiCategory);
+        }
+    }
+
+    private Preference buildMobilePref(Context context) {
+        final TelephonyManager tele = TelephonyManager.from(context);
+        final NetworkTemplate template = NetworkTemplate.buildTemplateMobileAll(
+                tele.getSubscriberId());
+        final MeteredPreference pref = new MeteredPreference(context, template);
+        pref.setTitle(tele.getNetworkOperatorName());
+        return pref;
+    }
+
+    private Preference buildWifiPref(Context context, WifiConfiguration config) {
+        final String networkId = removeDoubleQuotes(config.SSID);
+        final NetworkTemplate template = NetworkTemplate.buildTemplateWifi(networkId);
+        final MeteredPreference pref = new MeteredPreference(context, template);
+        pref.setTitle(networkId);
+        return pref;
+    }
+
+    private class MeteredPreference extends CheckBoxPreference {
+        private final NetworkTemplate mTemplate;
+
+        public MeteredPreference(Context context, NetworkTemplate template) {
+            super(context);
+            mTemplate = template;
+
+            setPersistent(false);
+            setChecked(mPolicyEditor.getPolicyMetered(mTemplate));
+        }
+
+        @Override
+        protected void notifyChanged() {
+            super.notifyChanged();
+            mPolicyEditor.setPolicyMetered(mTemplate, isChecked());
+        }
+    }
+
+
+    private static String removeDoubleQuotes(String string) {
+        final int length = string.length();
+        if ((length > 1) && (string.charAt(0) == '"') && (string.charAt(length - 1) == '"')) {
+            return string.substring(1, length - 1);
+        }
+        return string;
+    }
+
+}
diff --git a/src/com/android/settings/net/NetworkPolicyEditor.java b/src/com/android/settings/net/NetworkPolicyEditor.java
index 80fcdb5..07a2afb 100644
--- a/src/com/android/settings/net/NetworkPolicyEditor.java
+++ b/src/com/android/settings/net/NetworkPolicyEditor.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.net;
 
+import static android.net.NetworkPolicy.CYCLE_NONE;
 import static android.net.NetworkPolicy.LIMIT_DISABLED;
 import static android.net.NetworkPolicy.SNOOZE_NEVER;
 import static android.net.NetworkPolicy.WARNING_DISABLED;
@@ -27,11 +28,10 @@
 import static android.net.NetworkTemplate.buildTemplateMobileAll;
 import static com.android.internal.util.Preconditions.checkNotNull;
 
-import android.net.INetworkPolicyManager;
 import android.net.NetworkPolicy;
+import android.net.NetworkPolicyManager;
 import android.net.NetworkTemplate;
 import android.os.AsyncTask;
-import android.os.RemoteException;
 import android.text.format.Time;
 
 import com.android.internal.util.Objects;
@@ -43,27 +43,23 @@
 
 /**
  * Utility class to modify list of {@link NetworkPolicy}. Specifically knows
- * about which policies can coexist. Not thread safe.
+ * about which policies can coexist. This editor offers thread safety when
+ * talking with {@link NetworkPolicyManager}.
  */
 public class NetworkPolicyEditor {
     // TODO: be more robust when missing policies from service
 
     public static final boolean ENABLE_SPLIT_POLICIES = false;
 
-    private INetworkPolicyManager mPolicyService;
+    private NetworkPolicyManager mPolicyManager;
     private ArrayList<NetworkPolicy> mPolicies = Lists.newArrayList();
 
-    public NetworkPolicyEditor(INetworkPolicyManager policyService) {
-        mPolicyService = checkNotNull(policyService);
+    public NetworkPolicyEditor(NetworkPolicyManager policyManager) {
+        mPolicyManager = checkNotNull(policyManager);
     }
 
     public void read() {
-        final NetworkPolicy[] policies;
-        try {
-            policies = mPolicyService.getNetworkPolicies();
-        } catch (RemoteException e) {
-            throw new RuntimeException("problem reading policies", e);
-        }
+        final NetworkPolicy[] policies = mPolicyManager.getNetworkPolicies();
 
         boolean modified = false;
         mPolicies.clear();
@@ -78,12 +74,6 @@
                 modified = true;
             }
 
-            // drop any WIFI policies that were defined
-            if (policy.template.getMatchRule() == MATCH_WIFI) {
-                modified = true;
-                continue;
-            }
-
             mPolicies.add(policy);
         }
 
@@ -109,11 +99,7 @@
     }
 
     public void write(NetworkPolicy[] policies) {
-        try {
-            mPolicyService.setNetworkPolicies(policies);
-        } catch (RemoteException e) {
-            throw new RuntimeException("problem writing policies", e);
-        }
+        mPolicyManager.setNetworkPolicies(policies);
     }
 
     public boolean hasLimitedPolicy(NetworkTemplate template) {
@@ -142,13 +128,24 @@
     @Deprecated
     private static NetworkPolicy buildDefaultPolicy(NetworkTemplate template) {
         // TODO: move this into framework to share with NetworkPolicyManagerService
-        final Time time = new Time();
-        time.setToNow();
-        final int cycleDay = time.monthDay;
-        final String cycleTimezone = time.timezone;
+        final int cycleDay;
+        final String cycleTimezone;
+        final boolean metered;
+
+        if (template.getMatchRule() == MATCH_WIFI) {
+            cycleDay = CYCLE_NONE;
+            cycleTimezone = Time.TIMEZONE_UTC;
+            metered = false;
+        } else {
+            final Time time = new Time();
+            time.setToNow();
+            cycleDay = time.monthDay;
+            cycleTimezone = time.timezone;
+            metered = true;
+        }
 
         return new NetworkPolicy(template, cycleDay, cycleTimezone, WARNING_DISABLED,
-                LIMIT_DISABLED, SNOOZE_NEVER, SNOOZE_NEVER, true, false);
+                LIMIT_DISABLED, SNOOZE_NEVER, SNOOZE_NEVER, metered, true);
     }
 
     public int getPolicyCycleDay(NetworkTemplate template) {
@@ -188,6 +185,52 @@
         writeAsync();
     }
 
+    public boolean getPolicyMetered(NetworkTemplate template) {
+        final NetworkPolicy policy = getPolicy(template);
+        if (policy != null) {
+            return policy.metered;
+        } else {
+            return false;
+        }
+    }
+
+    public void setPolicyMetered(NetworkTemplate template, boolean metered) {
+        boolean modified = false;
+
+        NetworkPolicy policy = getPolicy(template);
+        if (metered) {
+            if (policy == null) {
+                policy = buildDefaultPolicy(template);
+                policy.metered = true;
+                policy.inferred = false;
+                mPolicies.add(policy);
+                modified = true;
+            } else if (!policy.metered) {
+                policy.metered = true;
+                policy.inferred = false;
+                modified = true;
+            }
+
+        } else {
+            if (policy == null) {
+                // ignore when policy doesn't exist
+            } else if (policy.template.getMatchRule() == MATCH_WIFI
+                    && policy.warningBytes == WARNING_DISABLED
+                    && policy.limitBytes == LIMIT_DISABLED) {
+                // when WIFI goes unmetered, and no other warning/limit for
+                // policy, clean it up.
+                mPolicies.remove(policy);
+                modified = true;
+            } else if (policy.metered) {
+                policy.metered = false;
+                policy.inferred = false;
+                modified = true;
+            }
+        }
+
+        if (modified) writeAsync();
+    }
+
     /**
      * Remove any split {@link NetworkPolicy}.
      */
