diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 1f9ebe4..687a5a2 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -14,6 +14,7 @@
     <uses-permission android:name="android.permission.VIBRATE" />
     <uses-permission android:name="android.permission.BLUETOOTH" />
     <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
+    <uses-permission android:name="android.permission.NFC" />
     <uses-permission android:name="android.permission.HARDWARE_TEST" />
     <uses-permission android:name="android.permission.CALL_PHONE" />
     <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
@@ -47,7 +48,8 @@
 
         <!-- Settings -->
 
-        <activity android:name="Settings" android:label="@string/settings_label"
+        <activity android:name="Settings"
+                android:label="@string/settings_label_launcher"
                 android:taskAffinity="com.android.settings"
                 android:clearTaskOnLaunch="true"
                 android:launchMode="singleTop">
@@ -352,14 +354,15 @@
             </intent-filter>
         </activity>
 
-        <activity android:name="ManageApplications"
+        <activity android:name=".applications.ManageApplications"
                   android:label="@string/manageapplications_settings_title"
                   android:clearTaskOnLaunch="true"
-                  android:configChanges="orientation|keyboardHidden">
+                  android:theme="@android:style/Theme.NoTitleBar">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.intent.action.MANAGE_PACKAGE_STORAGE" />
                 <action android:name="android.settings.MANAGE_APPLICATIONS_SETTINGS" />
+                <action android:name="android.settings.MANAGE_ALL_APPLICATIONS_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
                 <category android:name="android.intent.category.MONKEY" />
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
@@ -367,17 +370,25 @@
             </intent-filter>
         </activity>
 
-        <activity android:name="InstalledAppDetails" android:label="@string/application_info_label">
+        <!-- Keep compatibility with old shortcuts. -->
+        <activity-alias android:name=".ManageApplications"
+            android:targetActivity=".applications.ManageApplications"
+            android:exported="true" />
+        
+        <activity android:name=".applications.InstalledAppDetails"
+                android:theme="@android:style/Theme.NoTitleBar"
+                android:label="@string/application_info_label">
             <intent-filter>
-                <action android:name="android.intent.action.VIEW" />
+                <action android:name="android.settings.APPLICATION_DETAILS_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
-                <category android:name="android.intent.category.VOICE_LAUNCH" />
+                <data android:scheme="package" />
             </intent-filter>
         </activity>
 
-        <activity android:name="RunningServices"
-                  android:label="@string/runningservices_settings_title"
-                  android:clearTaskOnLaunch="true">
+        <!-- Provide direct entry into manage apps showing running services. -->
+        <activity-alias android:name=".RunningServices"
+                android:label="@string/runningservices_settings_title"
+            android:targetActivity=".applications.ManageApplications">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -385,6 +396,24 @@
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
                 <category android:name="com.android.settings.SHORTCUT" />
             </intent-filter>
+        </activity-alias>
+        
+        <!-- Provide direct entry into manage apps showing running services. -->
+        <activity-alias android:name=".applications.StorageUse"
+                android:label="@string/storageuse_settings_title"
+            android:targetActivity=".applications.ManageApplications">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="android.intent.category.MONKEY" />
+                <category android:name="android.intent.category.VOICE_LAUNCH" />
+                <category android:name="com.android.settings.SHORTCUT" />
+            </intent-filter>
+        </activity-alias>
+        
+        <activity android:name=".applications.RunningServiceDetails"
+                android:theme="@android:style/Theme.NoTitleBar"
+                android:label="@string/runningservicedetails_settings_title">
         </activity>
 
         <activity android:name="SecuritySettings"
@@ -689,13 +718,6 @@
             </intent-filter>
         </activity>
 
-        <activity android:name=".battery_history.BatteryHistory" android:label="@string/battery_history_label">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" />
-            </intent-filter>
-        </activity>
-
         <activity android:name="Display" android:label="@string/display_label"
                 android:configChanges="fontScale">
             <intent-filter>
@@ -765,6 +787,7 @@
         </activity>
 
         <activity android:name=".fuelgauge.PowerUsageSummary"
+                android:theme="@android:style/Theme.NoTitleBar"
                 android:label="@string/power_usage_summary_title"
                 android:clearTaskOnLaunch="true"
                 >
@@ -777,6 +800,7 @@
         </activity>
 
         <activity android:name=".fuelgauge.PowerUsageDetail"
+                android:theme="@android:style/Theme.NoTitleBar"
                 android:label="@string/details_title">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
@@ -784,13 +808,23 @@
             </intent-filter>
         </activity>
 
-        <receiver android:name=".widget.SettingsAppWidgetProvider" android:label="@string/gadget_title">
+        <activity android:name=".fuelgauge.BatteryHistoryDetail"
+                android:theme="@android:style/Theme.NoTitleBar">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+
+        <receiver android:name=".widget.SettingsAppWidgetProvider"
+                android:label="@string/gadget_title" android:exported="false">
             <intent-filter>
                 <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
                 <action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
                 <action android:name="android.net.conn.BACKGROUND_DATA_SETTING_CHANGED" />
                 <action android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
-                <action android:name="android.intent.action.CLOSE_SYSTEM_DIALOGS" /> <!-- pick up misc changes -->
+                <action android:name="android.location.PROVIDERS_CHANGED" />
+                <action android:name="com.android.sync.SYNC_CONN_STATUS_CHANGED" />
             </intent-filter>
             <meta-data android:name="android.appwidget.provider" android:resource="@xml/appwidget_info" />
         </receiver>
diff --git a/res/drawable-hdpi/ic_appwidget_settings_bluetooth_off.png b/res/drawable-hdpi/ic_appwidget_settings_bluetooth_off.png
index be96dd9..d8fa90b 100644
--- a/res/drawable-hdpi/ic_appwidget_settings_bluetooth_off.png
+++ b/res/drawable-hdpi/ic_appwidget_settings_bluetooth_off.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_appwidget_settings_bluetooth_on.png b/res/drawable-hdpi/ic_appwidget_settings_bluetooth_on.png
index 0b7ccc6..459ff18 100644
--- a/res/drawable-hdpi/ic_appwidget_settings_bluetooth_on.png
+++ b/res/drawable-hdpi/ic_appwidget_settings_bluetooth_on.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_appwidget_settings_gps_off.png b/res/drawable-hdpi/ic_appwidget_settings_gps_off.png
index ec6bcde..bb037bc 100644
--- a/res/drawable-hdpi/ic_appwidget_settings_gps_off.png
+++ b/res/drawable-hdpi/ic_appwidget_settings_gps_off.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_appwidget_settings_gps_on.png b/res/drawable-hdpi/ic_appwidget_settings_gps_on.png
index e52caa4..75ae817 100644
--- a/res/drawable-hdpi/ic_appwidget_settings_gps_on.png
+++ b/res/drawable-hdpi/ic_appwidget_settings_gps_on.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_appwidget_settings_sync_off.png b/res/drawable-hdpi/ic_appwidget_settings_sync_off.png
index a0a46a5..636f0cc 100644
--- a/res/drawable-hdpi/ic_appwidget_settings_sync_off.png
+++ b/res/drawable-hdpi/ic_appwidget_settings_sync_off.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_appwidget_settings_sync_on.png b/res/drawable-hdpi/ic_appwidget_settings_sync_on.png
index 1342751..8ecf159 100644
--- a/res/drawable-hdpi/ic_appwidget_settings_sync_on.png
+++ b/res/drawable-hdpi/ic_appwidget_settings_sync_on.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_appwidget_settings_wifi_off.png b/res/drawable-hdpi/ic_appwidget_settings_wifi_off.png
index cafb195..f0c9afd 100644
--- a/res/drawable-hdpi/ic_appwidget_settings_wifi_off.png
+++ b/res/drawable-hdpi/ic_appwidget_settings_wifi_off.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_appwidget_settings_wifi_on.png b/res/drawable-hdpi/ic_appwidget_settings_wifi_on.png
index c6ac993..66fae12 100644
--- a/res/drawable-hdpi/ic_appwidget_settings_wifi_on.png
+++ b/res/drawable-hdpi/ic_appwidget_settings_wifi_on.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_3d_globe.png b/res/drawable-hdpi/ic_menu_3d_globe.png
index 0858fec..1b55f09 100644
--- a/res/drawable-hdpi/ic_menu_3d_globe.png
+++ b/res/drawable-hdpi/ic_menu_3d_globe.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_add.png b/res/drawable-hdpi/ic_menu_add.png
index 65cc01e..4b73250 100644
--- a/res/drawable-hdpi/ic_menu_add.png
+++ b/res/drawable-hdpi/ic_menu_add.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_filter_settings.png b/res/drawable-hdpi/ic_menu_filter_settings.png
index a6777e9..fde4749 100644
--- a/res/drawable-hdpi/ic_menu_filter_settings.png
+++ b/res/drawable-hdpi/ic_menu_filter_settings.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_scan_network.png b/res/drawable-hdpi/ic_menu_scan_network.png
index 196ece0..a260e86 100644
--- a/res/drawable-hdpi/ic_menu_scan_network.png
+++ b/res/drawable-hdpi/ic_menu_scan_network.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_settings_search.png b/res/drawable-hdpi/ic_settings_search.png
deleted file mode 100755
index ec07f37..0000000
--- a/res/drawable-hdpi/ic_settings_search.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_settings_sync.png b/res/drawable-hdpi/ic_settings_sync.png
index d8544d9..d18b0c9 100755
--- a/res/drawable-hdpi/ic_settings_sync.png
+++ b/res/drawable-hdpi/ic_settings_sync.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_settings_wireless.png b/res/drawable-hdpi/ic_settings_wireless.png
index b96ad00..472e546 100755
--- a/res/drawable-hdpi/ic_settings_wireless.png
+++ b/res/drawable-hdpi/ic_settings_wireless.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_wifi_lock_signal_1.png b/res/drawable-hdpi/ic_wifi_lock_signal_1.png
index 688df55..34bbbab 100644
--- a/res/drawable-hdpi/ic_wifi_lock_signal_1.png
+++ b/res/drawable-hdpi/ic_wifi_lock_signal_1.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_wifi_lock_signal_2.png b/res/drawable-hdpi/ic_wifi_lock_signal_2.png
index a88675b..2ad54ca 100644
--- a/res/drawable-hdpi/ic_wifi_lock_signal_2.png
+++ b/res/drawable-hdpi/ic_wifi_lock_signal_2.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_wifi_lock_signal_3.png b/res/drawable-hdpi/ic_wifi_lock_signal_3.png
index 1b8e15a..d4e36d2 100644
--- a/res/drawable-hdpi/ic_wifi_lock_signal_3.png
+++ b/res/drawable-hdpi/ic_wifi_lock_signal_3.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_wifi_lock_signal_4.png b/res/drawable-hdpi/ic_wifi_lock_signal_4.png
index 9ad6432..224eead 100644
--- a/res/drawable-hdpi/ic_wifi_lock_signal_4.png
+++ b/res/drawable-hdpi/ic_wifi_lock_signal_4.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_wifi_signal_1.png b/res/drawable-hdpi/ic_wifi_signal_1.png
index b27f69b..bb6a2eb 100644
--- a/res/drawable-hdpi/ic_wifi_signal_1.png
+++ b/res/drawable-hdpi/ic_wifi_signal_1.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_wifi_signal_2.png b/res/drawable-hdpi/ic_wifi_signal_2.png
index 5ea37f2..0a91615 100644
--- a/res/drawable-hdpi/ic_wifi_signal_2.png
+++ b/res/drawable-hdpi/ic_wifi_signal_2.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_wifi_signal_3.png b/res/drawable-hdpi/ic_wifi_signal_3.png
index f8c0221..b6f05e6 100644
--- a/res/drawable-hdpi/ic_wifi_signal_3.png
+++ b/res/drawable-hdpi/ic_wifi_signal_3.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_wifi_signal_4.png b/res/drawable-hdpi/ic_wifi_signal_4.png
index b62bf35..11e8a73 100644
--- a/res/drawable-hdpi/ic_wifi_signal_4.png
+++ b/res/drawable-hdpi/ic_wifi_signal_4.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_3d_globe.png b/res/drawable-mdpi/ic_menu_3d_globe.png
index 638e7fd..6755d5e 100644
--- a/res/drawable-mdpi/ic_menu_3d_globe.png
+++ b/res/drawable-mdpi/ic_menu_3d_globe.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_add.png b/res/drawable-mdpi/ic_menu_add.png
old mode 100755
new mode 100644
index 6752bfd..04f01ac
--- a/res/drawable-mdpi/ic_menu_add.png
+++ b/res/drawable-mdpi/ic_menu_add.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_filter_settings.png b/res/drawable-mdpi/ic_menu_filter_settings.png
old mode 100755
new mode 100644
index 7be883a..bc1e51a
--- a/res/drawable-mdpi/ic_menu_filter_settings.png
+++ b/res/drawable-mdpi/ic_menu_filter_settings.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_scan_network.png b/res/drawable-mdpi/ic_menu_scan_network.png
index eed82a2..3fa3f45 100644
--- a/res/drawable-mdpi/ic_menu_scan_network.png
+++ b/res/drawable-mdpi/ic_menu_scan_network.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_settings_search.png b/res/drawable-mdpi/ic_settings_search.png
deleted file mode 100755
index 8e13de3..0000000
--- a/res/drawable-mdpi/ic_settings_search.png
+++ /dev/null
Binary files differ
diff --git a/res/layout/battery_history.xml b/res/layout/battery_history.xml
deleted file mode 100644
index b46d97b..0000000
--- a/res/layout/battery_history.xml
+++ /dev/null
@@ -1,144 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/topLayout"
-    android:orientation="vertical"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <TextView
-        android:id="@+id/title"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content" />
-
-    <LinearLayout
-        android:id="@+id/graphLayout"
-        android:orientation="vertical"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent" >
-
-        <Spinner
-            android:id="@+id/typeSpinner"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:entries="@array/battery_history_type_spinner" />
-
-        <Spinner
-            android:id="@+id/whichSpinner"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:entries="@array/battery_history_which_spinner" />
-
-        <ScrollView
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content" >
-
-        <LinearLayout
-            android:orientation="vertical"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content" >
-            
-        <TextView
-            android:id="@+id/messageText"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:gravity="center_horizontal"
-            android:textSize="17dp"
-            android:visibility="gone" />
-
-        <com.android.settings.battery_history.GraphableButton
-            android:id="@+id/button0"
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_marginLeft="4dp"
-            android:layout_marginRight="4dp"
-            android:layout_marginBottom="4dp"
-            android:layout_weight="1" />
-    
-        <com.android.settings.battery_history.GraphableButton
-            android:id="@+id/button1"
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_marginLeft="4dp"
-            android:layout_marginRight="4dp"
-            android:layout_marginBottom="4dp"
-            android:layout_weight="1" />
-    
-        <com.android.settings.battery_history.GraphableButton
-            android:id="@+id/button2"
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_marginLeft="4dp"
-            android:layout_marginRight="4dp"
-            android:layout_marginBottom="4dp"
-            android:layout_weight="1" />
-    
-        <com.android.settings.battery_history.GraphableButton
-            android:id="@+id/button3"
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_marginLeft="4dp"
-            android:layout_marginRight="4dp"
-            android:layout_marginBottom="4dp"
-            android:layout_weight="1" />
-    
-        <com.android.settings.battery_history.GraphableButton
-            android:id="@+id/button4"
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_marginLeft="4dp"
-            android:layout_marginRight="4dp"
-            android:layout_marginBottom="4dp"
-            android:layout_weight="1" />
-    
-        <com.android.settings.battery_history.GraphableButton
-            android:id="@+id/button5"
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_marginLeft="4dp"
-            android:layout_marginRight="4dp"
-            android:layout_marginBottom="4dp"
-            android:layout_weight="1" />
-    
-        <com.android.settings.battery_history.GraphableButton
-            android:id="@+id/button6"
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_marginLeft="4dp"
-            android:layout_marginRight="4dp"
-            android:layout_marginBottom="4dp"
-            android:layout_weight="1" />
-    
-        <com.android.settings.battery_history.GraphableButton
-            android:id="@+id/button7"
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_marginLeft="4dp"
-            android:layout_marginRight="4dp"
-            android:layout_marginBottom="4dp"
-            android:layout_weight="1" />
-
-        </LinearLayout>
-        </ScrollView>
-
-    </LinearLayout>
-
-    <LinearLayout
-        android:id="@+id/textLayout"
-        android:visibility="gone"
-        android:orientation="vertical"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent" >
-
-        <ScrollView
-            android:layout_width="match_parent"
-            android:layout_height="match_parent" >
-            <TextView
-                android:id="@+id/detailsText"
-                android:layout_width="match_parent"
-                android:textSize="17dp"
-                android:layout_height="1000dp"/>
-        </ScrollView>
-
-    </LinearLayout>
-
-</LinearLayout>
diff --git a/res/layout/compute_sizes.xml b/res/layout/compute_sizes.xml
deleted file mode 100755
index 4ba5b3e..0000000
--- a/res/layout/compute_sizes.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2008 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.
--->
-
-<ListView 
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@android:id/list"
-    android:drawSelectorOnTop="false"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent" />
diff --git a/res/layout/device_admin_add.xml b/res/layout/device_admin_add.xml
index f560331..f3ba59e 100644
--- a/res/layout/device_admin_add.xml
+++ b/res/layout/device_admin_add.xml
@@ -20,30 +20,32 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="horizontal"
+        android:background="@*android:drawable/title_bar_medium">
+        <TextView android:id="@+id/title"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:gravity="center"
+            android:textAppearance="?android:attr/textAppearanceLarge"
+            android:textColor="?android:attr/textColorPrimary"
+            android:shadowColor="?android:attr/colorBackground"
+            android:shadowRadius="2" />
+    </LinearLayout>
+
     <ScrollView
         android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:layout_weight="1"
-        android:orientation="vertical">
+        android:layout_height="0dip"
+        android:layout_weight="1.0"
+        android:gravity="top">
         <LinearLayout
             android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_weight="1"
+            android:layout_height="wrap_content"
             android:orientation="vertical">
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:orientation="horizontal"
-                android:background="@*android:drawable/title_bar_medium">
-                <TextView android:id="@+id/title"
-                    android:layout_width="match_parent"
-                    android:layout_height="match_parent"
-                    android:gravity="center"
-                    android:textAppearance="?android:attr/textAppearanceLarge"
-                    android:textColor="?android:attr/textColorPrimary"
-                    android:shadowColor="?android:attr/colorBackground"
-                    android:shadowRadius="2" />
-            </LinearLayout>
+
             <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
@@ -66,28 +68,49 @@
                     android:singleLine="true"
                     android:ellipsize="marquee" />
             </LinearLayout>
-            <TextView android:id="@+id/admin_warning"
+
+            <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:padding="10dip" />
-            <LinearLayout android:id="@+id/admin_policies"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:orientation="vertical"
-                android:paddingLeft="16dip"
-                android:paddingRight="12dip" />
-            <TextView android:id="@+id/admin_description"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_weight="1"
-                android:padding="10dip" />
-            <TextView android:id="@+id/add_msg"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_weight="1"
-                android:padding="10dip" />
+                android:orientation="vertical">
+                <TextView android:id="@+id/admin_description"
+                    android:layout_width="fill_parent"
+                    android:layout_height="0dip"
+                    android:layout_weight="0"
+                    android:padding="0dip" />
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="horizontal"
+                    android:gravity="center_vertical">
+                    <ImageView android:id="@+id/add_msg_expander"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:gravity="center_vertical" />
+                    <TextView android:id="@+id/add_msg"
+                        android:layout_width="fill_parent"
+                        android:layout_height="wrap_content"
+                        android:gravity="center_vertical"
+                        android:padding="10dip" />
+                </LinearLayout>
+
+                <TextView android:id="@+id/admin_warning"
+                    android:layout_width="fill_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:padding="10dip" />
+                <LinearLayout android:id="@+id/admin_policies"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:orientation="vertical"
+                    android:paddingLeft="16dip"
+                    android:paddingRight="12dip" />
+            </LinearLayout>
+
         </LinearLayout>
     </ScrollView>
+
     <LinearLayout style="@android:style/ButtonBar"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
@@ -114,4 +137,5 @@
            android:layout_height="0dip"
            android:layout_weight="1" />
     </LinearLayout>
+
 </LinearLayout>
diff --git a/res/layout/installed_app_details.xml b/res/layout/installed_app_details.xml
index 3243672..fff1975 100644
--- a/res/layout/installed_app_details.xml
+++ b/res/layout/installed_app_details.xml
@@ -25,7 +25,6 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:paddingRight="6dip"
-        android:paddingTop="5dip"
         android:paddingBottom="5dip"
         android:orientation="vertical">
 
diff --git a/res/layout/manage_applications.xml b/res/layout/manage_applications.xml
new file mode 100755
index 0000000..95d4847
--- /dev/null
+++ b/res/layout/manage_applications.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2008 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.
+-->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent" >
+
+    <LinearLayout android:id="@+id/list_container"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:orientation="vertical"
+            android:visibility="gone">
+        <FrameLayout android:layout_width="match_parent"
+                android:layout_height="0px"
+                android:layout_weight="1">
+            <ListView android:id="@android:id/list"
+                android:drawSelectorOnTop="false"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+            <TextView android:id="@android:id/empty"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:gravity="center"
+                    android:text="@string/no_applications"
+                    android:textAppearance="?android:attr/textAppearanceLarge" />
+        </FrameLayout>
+        <view class="com.android.settings.applications.LinearColorBar"
+                android:id="@+id/storage_color_bar"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="-5dp"
+                android:orientation="horizontal"
+                android:clipChildren="false"
+                android:clipToPadding="false"
+                android:paddingTop="30dp"
+                android:paddingLeft="4dp"
+                android:paddingRight="4dp"
+                android:paddingBottom="1dp">
+            <TextView android:id="@+id/usedStorageText"
+                android:layout_width="0px"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:textAppearance="?android:attr/textAppearanceSmallInverse"
+                android:textColor="#000"
+                android:singleLine="true" />
+            <TextView android:id="@+id/storageChartLabel"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_weight="0"
+                android:layout_marginTop="-20dp"
+                android:textAppearance="?android:attr/textAppearanceSmallInverse"
+                android:textColor="#ccc"
+                android:shadowColor="#000"
+                android:shadowRadius="5"
+                android:textStyle="bold"
+                android:singleLine="true"
+                android:text="@string/internal_storage" />
+            <TextView android:id="@+id/freeStorageText"
+                android:layout_gravity="center_vertical|right"
+                android:layout_width="0px"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:gravity="right"
+                android:textAppearance="?android:attr/textAppearanceSmallInverse"
+                android:textColor="#000"
+                android:singleLine="true" />
+        </view>
+    </LinearLayout>
+
+    <view class="com.android.settings.applications.RunningProcessesView"
+            android:id="@+id/running_processes"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:visibility="gone" />
+
+    <LinearLayout android:id="@+id/loading_container"
+            android:orientation="vertical"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:visibility="gone"
+            android:gravity="center">
+
+        <ProgressBar style="?android:attr/progressBarStyleLarge"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content" />
+        <TextView android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:textAppearance="?android:attr/textAppearanceSmall"
+                android:text="@string/settings_safetylegal_activity_loading"
+                android:paddingTop="4dip"
+                android:singleLine="true" />
+
+    </LinearLayout>
+
+</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/manage_applications_item.xml b/res/layout/manage_applications_item.xml
index cdf4c9d..78d9a02 100755
--- a/res/layout/manage_applications_item.xml
+++ b/res/layout/manage_applications_item.xml
@@ -31,14 +31,14 @@
     <ImageView android:id="@+id/app_icon"
         android:layout_width="@android:dimen/app_icon_size"
         android:layout_height="@android:dimen/app_icon_size"
-        android:layout_marginLeft="5dip"
         android:layout_marginRight="11dip"
         android:layout_gravity="center_vertical"
         android:scaleType="fitCenter"/>
 
     <LinearLayout
         android:orientation="vertical"
-        android:layout_width="match_parent"
+        android:layout_width="0px"
+        android:layout_weight="1"
         android:layout_height="wrap_content" >
         <TextView android:id="@+id/app_name"
             android:layout_width="wrap_content"
@@ -48,12 +48,36 @@
             android:singleLine="true"
             android:ellipsize="marquee"
             android:layout_marginBottom="2dip" />
-        <TextView android:id="@+id/app_size"
-            android:layout_marginTop="-4dip"
-            android:layout_gravity="center_vertical"
-            android:layout_width="wrap_content"
+        <LinearLayout
+            android:orientation="horizontal"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:textAppearance="?android:attr/textAppearanceSmall" />
+            android:baselineAlignedChildIndex="0" >
+            <TextView android:id="@+id/app_size"
+                android:layout_marginTop="-4dip"
+                android:layout_gravity="center_vertical|left"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:textAppearance="?android:attr/textAppearanceSmall" />
+            <TextView android:id="@+id/app_disabled"
+                android:layout_marginTop="-4dip"
+                android:layout_gravity="center_vertical|right"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_weight="0"
+                android:visibility="gone"
+                android:textAppearance="?android:attr/textAppearanceSmall"
+                android:text="@string/disabled" />
+        </LinearLayout>
     </LinearLayout>
+    
+    <CheckBox android:id="@+id/app_on_sdcard"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="5dip"
+        android:layout_gravity="center_vertical"
+        android:visibility="gone"
+        android:clickable="false"
+        android:focusable="false" />
 </LinearLayout>
-
diff --git a/res/layout/master_clear_primary.xml b/res/layout/master_clear_primary.xml
index 2c4156b..dd25900 100644
--- a/res/layout/master_clear_primary.xml
+++ b/res/layout/master_clear_primary.xml
@@ -25,11 +25,46 @@
             android:layout_width="fill_parent"
             android:layout_height="0dip"
             android:layout_weight="1">
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:textSize="18sp"
-            android:text="@string/master_clear_desc" />
+        <LinearLayout android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical">
+            <TextView
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:textSize="18sp"
+                android:text="@string/master_clear_desc" />
+            <LinearLayout android:id="@+id/erase_external_container"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="horizontal"
+                    android:focusable="true"
+                    android:clickable="true">
+                <CheckBox android:id="@+id/erase_external"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="top"
+                        android:paddingRight="8dp"
+                        android:focusable="false"
+                        android:clickable="false"
+                        android:duplicateParentState="true" />
+                <LinearLayout android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:orientation="vertical">
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:paddingTop="12dp"
+                        android:textSize="18sp"
+                        android:text="@string/erase_external_storage" />
+                    <TextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:paddingTop="4sp"
+                        android:textSize="14sp"
+                        android:text="@string/erase_external_storage_description" />
+                </LinearLayout>
+            </LinearLayout>
+        </LinearLayout>
     </ScrollView>
     <Button
             android:id="@+id/initiate_master_clear"
diff --git a/res/layout/preference_batteryhistory.xml b/res/layout/preference_batteryhistory.xml
new file mode 100644
index 0000000..53dce74
--- /dev/null
+++ b/res/layout/preference_batteryhistory.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<com.android.settings.fuelgauge.BatteryHistoryChart
+        xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:minHeight="?android:attr/listPreferredItemHeight"
+    android:gravity="center_vertical"
+    android:id="@+android:id/battery_history_chart"
+    android:paddingRight="?android:attr/scrollbarSize"
+    android:textAppearance="?android:attr/textAppearanceMedium"
+    android:shadowRadius="4"
+    android:shadowColor="?android:attr/colorBackground"
+    android:shadowDx="2"
+    android:shadowDy="2">
+</com.android.settings.fuelgauge.BatteryHistoryChart>
diff --git a/res/layout/running_services_item.xml b/res/layout/running_processes_item.xml
similarity index 70%
rename from res/layout/running_services_item.xml
rename to res/layout/running_processes_item.xml
index f8a0c97..dacee9e 100644
--- a/res/layout/running_services_item.xml
+++ b/res/layout/running_processes_item.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
 /*
-** Copyright 2008, The Android Open Source Project
+** Copyright 2010, 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.
@@ -24,11 +24,6 @@
     android:orientation="vertical"
     android:gravity="fill" >
 
-    <ImageView android:id="@+id/separator"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:src="?android:attr/listDivider"/>
-    
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
@@ -41,7 +36,6 @@
         <ImageView android:id="@+id/icon"
             android:layout_width="@android:dimen/app_icon_size"
             android:layout_height="@android:dimen/app_icon_size"
-            android:layout_marginLeft="5dip"
             android:layout_marginRight="11dip"
             android:layout_gravity="center_vertical"
             android:scaleType="fitCenter"/>
@@ -55,15 +49,16 @@
                 android:baselineAlignedChildIndex="0"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content">
-	            <TextView android:id="@+id/name"
-	                android:layout_width="wrap_content"
-	                android:layout_height="wrap_content"
+                <TextView android:id="@+id/name"
+                    android:layout_width="0px"
+                    android:layout_height="wrap_content"
                     android:layout_weight="1"
-	                android:textAppearance="?android:attr/textAppearanceMedium"
-	                android:textStyle="bold"
-	                android:singleLine="true"
-	                android:ellipsize="marquee"
-	                android:layout_marginBottom="2dip" />
+                    android:paddingRight="4dip"
+                    android:textAppearance="?android:attr/textAppearanceMedium"
+                    android:textStyle="bold"
+                    android:singleLine="true"
+                    android:ellipsize="marquee"
+                    android:layout_marginBottom="2dip" />
                 <TextView android:id="@+id/size"
                     android:layout_gravity="center_vertical|right"
                     android:layout_width="wrap_content"
@@ -72,15 +67,28 @@
                     android:singleLine="true"
                     android:textAppearance="?android:attr/textAppearanceSmall" />
             </LinearLayout>
+            <LinearLayout
+                android:orientation="horizontal"
+                android:baselineAlignedChildIndex="0"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content">
                 <TextView android:id="@+id/description"
-                    android:layout_marginTop="-4dip"
                     android:layout_gravity="center_vertical|left"
-                    android:layout_width="wrap_content"
+                    android:layout_width="0px"
                     android:layout_height="wrap_content"
+                    android:layout_weight="1"
                     android:paddingRight="4dip"
                     android:singleLine="true"
                     android:ellipsize="marquee"
                     android:textAppearance="?android:attr/textAppearanceSmall" />
+                <TextView android:id="@+id/uptime"
+                    android:layout_gravity="center_vertical|right"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="0"
+                    android:singleLine="true"
+                    android:textAppearance="?android:attr/textAppearanceSmall" />
+            </LinearLayout>
         </LinearLayout>
     </LinearLayout>
 </LinearLayout>
diff --git a/res/layout/running_processes_view.xml b/res/layout/running_processes_view.xml
new file mode 100644
index 0000000..3558e92
--- /dev/null
+++ b/res/layout/running_processes_view.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+ * Copyright (C) 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+    <FrameLayout
+            android:layout_width="match_parent"
+            android:layout_height="0px"
+            android:layout_weight="1">
+        <ListView android:id="@android:id/list"
+                android:layout_width="match_parent" 
+                android:layout_height="match_parent"
+                android:drawSelectorOnTop="false"
+                android:fastScrollEnabled="true" />
+        <TextView android:id="@android:id/empty"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:gravity="center"
+                android:text="@string/no_running_services"
+                android:textAppearance="?android:attr/textAppearanceLarge" />
+    </FrameLayout>
+    <view class="com.android.settings.applications.LinearColorBar"
+            android:id="@+id/color_bar"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="-5dp"
+            android:orientation="horizontal"
+            android:clipChildren="false"
+            android:clipToPadding="false"
+            android:paddingTop="30dp"
+            android:paddingLeft="4dp"
+            android:paddingRight="4dp"
+            android:paddingBottom="1dp">
+        <TextView android:id="@+id/foregroundText"
+            android:layout_width="0px"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:focusable="true"
+            android:gravity="left|bottom"
+            android:textAppearance="?android:attr/textAppearanceSmallInverse"
+            android:textColor="#000"
+            android:singleLine="true" />
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_weight="0"
+            android:layout_marginTop="-20dp"
+            android:textAppearance="?android:attr/textAppearanceSmallInverse"
+            android:textColor="#ccc"
+            android:shadowColor="#000"
+            android:shadowRadius="5"
+            android:textStyle="bold"
+            android:singleLine="true"
+            android:text="@string/memory" />
+        <TextView android:id="@+id/backgroundText"
+            android:layout_gravity="center_vertical|right"
+            android:layout_width="0px"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:focusable="true"
+            android:gravity="right|bottom"
+            android:textAppearance="?android:attr/textAppearanceSmallInverse"
+            android:textColor="#000"
+            android:singleLine="true" />
+    </view>
+</LinearLayout>
diff --git a/res/layout/running_service_details.xml b/res/layout/running_service_details.xml
new file mode 100644
index 0000000..98c144c
--- /dev/null
+++ b/res/layout/running_service_details.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2010, 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.
+*/
+-->
+<ScrollView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+    <LinearLayout
+        android:id="@+id/all_details"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+
+        <!-- Summary information as per previous screen -->
+        <include
+            layout="@layout/running_processes_item"
+            android:id="@+id/snippet"/>
+
+    </LinearLayout>
+</ScrollView>
+
diff --git a/res/layout/running_service_details_process.xml b/res/layout/running_service_details_process.xml
new file mode 100644
index 0000000..d12b486
--- /dev/null
+++ b/res/layout/running_service_details_process.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2010, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+    
+    <!-- Icon and label of the service. -->
+    <include
+        layout="@layout/running_processes_item"
+        android:id="@+id/service"/>
+
+    <TextView android:id="@+id/comp_description"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:paddingTop="8dp"
+        android:paddingBottom="8dp"
+        android:paddingLeft="14dip"
+        android:textAppearance="?android:attr/textAppearanceMedium" />
+
+</LinearLayout>
diff --git a/res/layout/running_service_details_service.xml b/res/layout/running_service_details_service.xml
new file mode 100644
index 0000000..b9f9bbe
--- /dev/null
+++ b/res/layout/running_service_details_service.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2010, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <!--    
+    <ImageView
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:src="?android:attr/listDivider"/>
+    -->
+        
+    <!-- Icon and label of the service. -->
+    <include
+        layout="@layout/running_processes_item"
+        android:id="@+id/service"/>
+
+    <TextView android:id="@+id/comp_description"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:paddingTop="8dp"
+        android:paddingBottom="8dp"
+        android:paddingLeft="14dip"
+        android:textAppearance="?android:attr/textAppearanceMedium" />
+
+    <include
+        layout="@layout/two_buttons_panel"
+        android:id="@+id/control_buttons_panel"/>
+
+</LinearLayout>
diff --git a/res/layout/running_services.xml b/res/layout/running_services.xml
deleted file mode 100644
index 5c0da6f..0000000
--- a/res/layout/running_services.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 
- * Copyright (C) 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- -->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-	    android:layout_width="match_parent"
-	    android:layout_height="match_parent"
-	    android:orientation="vertical">
-    <FrameLayout
-		    android:layout_width="match_parent"
-		    android:layout_height="0px"
-		    android:layout_weight="1">
-	    <ListView android:id="@android:id/list"
-	            android:layout_width="match_parent" 
-	            android:layout_height="match_parent"
-	            android:drawSelectorOnTop="false"
-	            android:fastScrollEnabled="true" />
-	    <TextView android:id="@android:id/empty"
-	            android:layout_width="match_parent"
-	            android:layout_height="match_parent"
-	            android:gravity="center"
-	            android:text="@string/no_running_services"
-	            android:textAppearance="?android:attr/textAppearanceLarge" />
-    </FrameLayout>
-    <view class="com.android.settings.RunningServices$LinearColorBar"
-            android:id="@+id/color_bar"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:padding="4dp">
-        <TextView android:id="@+id/foregroundText"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:textAppearance="?android:attr/textAppearanceSmallInverse"
-            android:color="?android:attr/textColorPrimaryInverse"
-            android:singleLine="true" />
-        <TextView android:id="@+id/backgroundText"
-            android:layout_gravity="center_vertical|right"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_weight="0"
-            android:textAppearance="?android:attr/textAppearanceSmallInverse"
-            android:color="?android:attr/textColorPrimaryInverse"
-            android:singleLine="true" />
-    </view>
-</LinearLayout>
diff --git a/res/layout/separator_label.xml b/res/layout/separator_label.xml
new file mode 100644
index 0000000..b0e69fa
--- /dev/null
+++ b/res/layout/separator_label.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2008, 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.
+*/
+-->
+
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+    style="?android:attr/listSeparatorTextViewStyle" />
diff --git a/res/layout/wifi_ap_dialog.xml b/res/layout/wifi_ap_dialog.xml
index 6d9691b..b4c67a2 100644
--- a/res/layout/wifi_ap_dialog.xml
+++ b/res/layout/wifi_ap_dialog.xml
@@ -82,6 +82,7 @@
                     android:password="true" />
 
             <TextView android:id="@+id/hint"
+                    style="?android:attr/textAppearanceSmallInverse"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     android:textSize="12sp"
diff --git a/res/values-cs/arrays.xml b/res/values-cs/arrays.xml
index e91ac4b..00e605e 100644
--- a/res/values-cs/arrays.xml
+++ b/res/values-cs/arrays.xml
@@ -115,19 +115,6 @@
     <item msgid="1549288661423279207">"Nikdy, je-li zapnuto napájení"</item>
     <item msgid="1986753720941888596">"Nikdy"</item>
   </string-array>
-  <string-array name="battery_history_type_spinner">
-    <item msgid="2193799199027871385">"Využití CPU"</item>
-    <item msgid="6401018715947316517">"Využití sítě"</item>
-    <item msgid="188092590354892392">"Využití GPS"</item>
-    <item msgid="8414109131222049141">"Využití senzoru"</item>
-    <item msgid="1327904325081257093">"Použití při částečném probuzení"</item>
-    <item msgid="4832254146664706277">"Další využití"</item>
-  </string-array>
-  <string-array name="battery_history_which_spinner">
-    <item msgid="3451981114763440074">"Od posledního odpojení"</item>
-    <item msgid="166936313535197598">"Celkem od spuštění"</item>
-    <item msgid="4793941382744963893">"Celkem za celou dobu"</item>
-  </string-array>
   <string-array name="usage_stats_display_order_types">
     <item msgid="9077371706468756228">"Doba použití"</item>
     <item msgid="1908750532762193304">"Počet spuštění"</item>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 398d49e..0fe32ef 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -45,13 +45,16 @@
     <string name="radioInfo_display_asu" msgid="1422248392727818082">"asu"</string>
     <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string>
     <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string>
-    <string name="sdcard_unmount" msgid="3364184561355611897">"Odpojit kartu SD"</string>
-    <string name="sdcard_format" msgid="362497552060004057">"Formátovat kartu SD"</string>
+    <string name="sdcard_unmount" product="nosdcard" msgid="6325292633327972272">"Odpojit úložiště USB"</string>
+    <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Odpojit kartu SD"</string>
+    <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Smazat úložiště USB"</string>
+    <string name="sdcard_format" product="default" msgid="6713185532039187532">"Smazat kartu SD"</string>
     <string name="small_font" msgid="2295331917424072635">"Malá"</string>
     <string name="medium_font" msgid="2068475425515133701">"Střední"</string>
     <string name="large_font" msgid="599055175160971446">"Velká"</string>
     <string name="font_size_save" msgid="3450855718056759095">"OK"</string>
-    <string name="sdcard_setting" msgid="5922637503871474866">"Karta SD"</string>
+    <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"Úložiště USB"</string>
+    <string name="sdcard_setting" product="default" msgid="5922637503871474866">"Karta SD"</string>
     <string name="battery_info_status_label" msgid="8109155295509700309">"Stav baterie:"</string>
     <string name="battery_info_power_label" msgid="7465140230991349382">"Napájecí konektor:"</string>
     <string name="battery_info_scale_label" msgid="3649763192389778437">"Měřítko baterie:"</string>
@@ -180,27 +183,34 @@
     <string name="sdcard_changes_instructions" msgid="1364712901180556244">"Změna se projeví při příštím připojení kabelu USB."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"Povolit velkokapacitní paměťové zařízení USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"Celková paměť (bajty):"</string>
-    <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"Žádná karta SD"</string>
+    <string name="sdcard_settings_not_present_status" product="nosdcard" msgid="2902787003418172125">"Úložiště USB není připojeno"</string>
+    <string name="sdcard_settings_not_present_status" product="default" msgid="6666688653496819947">"Žádná karta SD"</string>
     <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"Dostupná paměť (bajty):"</string>
-    <string name="sdcard_settings_mass_storage_status" msgid="4786433969313661655">"Karta SD je využívána jako velkokapacitní paměťové zařízení."</string>
-    <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"Nyní můžete kartu SD bezpečně odebrat."</string>
-    <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"Karta SD byla odstraněna za provozu."</string>
+    <string name="sdcard_settings_mass_storage_status" product="nosdcard" msgid="2736378870889777857">"Úložiště USB využíváno jako velkokapacitní paměťové zařízení"</string>
+    <string name="sdcard_settings_mass_storage_status" product="default" msgid="4786433969313661655">"Karta SD je využívána jako velkokapacitní paměťové zařízení."</string>
+    <string name="sdcard_settings_unmounted_status" product="nosdcard" msgid="7503300818792750913">"Úložiště USB lze nyní odebrat"</string>
+    <string name="sdcard_settings_unmounted_status" product="default" msgid="3812022095683863087">"Nyní můžete kartu SD bezpečně odebrat."</string>
+    <string name="sdcard_settings_bad_removal_status" product="nosdcard" msgid="7761390725880773697">"Úlož. USB odebráno za provozu."</string>
+    <string name="sdcard_settings_bad_removal_status" product="default" msgid="5145797653495907970">"Karta SD byla odstraněna za provozu."</string>
     <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"Obsazená paměť (bajty):"</string>
-    <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Vyhledávání mediálních souborů na kartě SD..."</string>
-    <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"Karta SD byla připojena pouze pro čtení."</string>
+    <string name="sdcard_settings_scanning_status" product="nosdcard" msgid="7503429447676219564">"Hledání médií v úložišti USB…"</string>
+    <string name="sdcard_settings_scanning_status" product="default" msgid="2763464949274455656">"Vyhledávání mediálních souborů na kartě SD..."</string>
+    <string name="sdcard_settings_read_only_status" product="nosdcard" msgid="3771783090621312312">"Úlož. připojeno jen pro čtení"</string>
+    <string name="sdcard_settings_read_only_status" product="default" msgid="5706115860484118911">"Karta SD byla připojena pouze pro čtení."</string>
     <string name="next_label" msgid="4693520878012668114">"Další"</string>
     <string name="language_picker_title" msgid="4034157617842965844">"Národní prostředí"</string>
     <string name="select_your_language" msgid="1146235168951906084">"Zvolte jazyk"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Zvolit činnost"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Info o zařízení"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Info o baterii"</string>
-    <string name="battery_history_label" msgid="8242244969757414501">"Historie baterie"</string>
     <string name="display_label" msgid="7403874003169865762">"Zobrazení"</string>
     <string name="phone_info_label" msgid="2127552523124277664">"Info o telefonu"</string>
-    <string name="sd_card_settings_label" msgid="5743100901106177102">"Karta SD"</string>
+    <string name="sd_card_settings_label" product="nosdcard" msgid="8101475181301178428">"Úložiště USB"</string>
+    <string name="sd_card_settings_label" product="default" msgid="5743100901106177102">"Karta SD"</string>
     <string name="proxy_settings_label" msgid="3271174136184391743">"Nastavení proxy serveru"</string>
     <string name="cancel" msgid="6859253417269739139">"Zrušit"</string>
     <string name="settings_label" msgid="1626402585530130914">"Nastavení"</string>
+    <string name="settings_label_launcher" msgid="8344735489639482340">"Nastavení"</string>
     <string name="settings_shortcut" msgid="3672145147925639262">"Nastavení"</string>
     <string name="airplane_mode" msgid="8837269988154128601">"Režim V letadle"</string>
     <string name="airplane_mode_summary" msgid="3154817401368780988">"Vypne všechna bezdrátová připojení"</string>
@@ -323,6 +333,11 @@
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Jako telefon pro hlasitý poslech"</string>
     <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Pro hudbu a média"</string>
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Zapamatovat nastavení"</string>
+    <string name="nfc_quick_toggle_title" msgid="6769159366307299004">"NFC"</string>
+    <string name="nfc_quick_toggle_summary" msgid="1988408027741447231">"Použít technologii NFC ke čtení a výměně štítků"</string>
+    <!-- no translation found for nfc_toggle_error (2233172102497535522) -->
+    <!-- no translation found for nfc_toggle_error (8998642457947607263) -->
+    <skip />
     <string name="wifi_quick_toggle_title" msgid="874495178395350104">"WiFi"</string>
     <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Zapnout WiFi"</string>
     <string name="wifi_settings" msgid="4746946030627213196">"Nastavení WiFi"</string>
@@ -376,6 +391,7 @@
     <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Určit, kdy přepnout ze sítě Wi-Fi na mobilní datový přenos"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Při nastavení zásad pro režim spánku došlo k problému."</string>
     <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Adresa MAC"</string>
+    <string name="wifi_advanced_ip_address_title" msgid="6215297094363164846">"Adresa IP"</string>
     <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Nastavení adresy IP"</string>
     <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Uložit"</string>
     <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Zrušit"</string>
@@ -496,9 +512,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Stav"</string>
     <string name="device_status" msgid="607405385799807324">"Stav"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Telefonní číslo, signál, atd."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"Karta SD a paměť telefonu"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Nastavení karty SD a paměti telefonu"</string>
-    <string name="storage_settings_summary" msgid="9176693537325988610">"Umožňuje odpojit kartu SD a zobrazit dostupnou paměť"</string>
+    <string name="storage_settings" msgid="4211799979832404953">"Úložiště"</string>
+    <string name="storage_settings_title" msgid="8746016738388094064">"Nastavení úložiště"</string>
+    <string name="storage_settings_summary" product="nosdcard" msgid="3543813623294870759">"Odpojit úložiště USB a zobrazit dostupné úložiště"</string>
+    <string name="storage_settings_summary" product="default" msgid="9176693537325988610">"Umožňuje odpojit kartu SD a zobrazit dostupnou paměť"</string>
     <string name="status_number" msgid="5123197324870153205">"Moje telefonní číslo"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
     <string name="status_prl_version" msgid="8499039751817386529">"Verze PRL"</string>
@@ -514,24 +531,36 @@
     <string name="status_unavailable" msgid="7862009036663793314">"Nedostupný údaj"</string>
     <string name="status_up_time" msgid="7294859476816760399">"Doba provozu"</string>
     <string name="status_awake_time" msgid="2393949909051183652">"Doba provozu"</string>
-    <string name="internal_memory" msgid="1130932766236387454">"Interní paměť telefonu"</string>
-    <string name="sd_memory" msgid="151871913888051515">"Karta SD"</string>
+    <string name="internal_memory" msgid="9129595691484260784">"Interní úložiště"</string>
+    <string name="sd_memory" product="nosdcard" msgid="2510246194083052841">"Úložiště USB"</string>
+    <string name="sd_memory" product="default" msgid="151871913888051515">"Karta SD"</string>
     <string name="memory_available" msgid="418542433817289474">"Dostupná paměť"</string>
     <string name="memory_size" msgid="6629067715017232195">"Celková paměť"</string>
-    <string name="sd_eject" msgid="6915293408836853020">"Odpojit kartu SD"</string>
-    <string name="sd_eject_summary" msgid="3315557796211542962">"Odpojit kartu SD za účelem bezpečného odebrání"</string>
-    <string name="sd_insert_summary" msgid="2048640010381803841">"Vložte kartu SD, kterou chcete připojit."</string>
-    <string name="sd_mount" msgid="5940523765187704135">"Připojit kartu SD"</string>
-    <string name="sd_mount_summary" msgid="4936591681679097699">"Připojit kartu SD"</string>
-    <string name="sd_format" msgid="5448738337382712203">"Formátovat kartu SD"</string>
-    <string name="sd_format_summary" msgid="6616491027883134004">"Formátovat (vymazat) kartu SD"</string>
+    <string name="sd_eject" product="default" msgid="6915293408836853020">"Odpojit kartu SD"</string>
+    <string name="sd_eject_summary" product="nosdcard" msgid="5009296896648072891">"Odpojit interní úložiště USB"</string>
+    <string name="sd_eject_summary" product="default" msgid="3300599435073550246">"K bezpečnému odebrání karty SD je potřeba kartu nejprve odpojit"</string>
+    <string name="sd_insert_summary" product="nosdcard" msgid="5264016886409577313">"Vložte úložiště USB"</string>
+    <string name="sd_insert_summary" product="default" msgid="2048640010381803841">"Vložte kartu SD, kterou chcete připojit."</string>
+    <string name="sd_mount" product="nosdcard" msgid="8966695015677343116">"Připojit úložiště USB"</string>
+    <string name="sd_mount" product="default" msgid="5940523765187704135">"Připojit kartu SD"</string>
+    <!-- outdated translation 6733254203291665551 -->     <string name="sd_mount_summary" product="nosdcard" msgid="1794150364965145726">"Připojit interní úložiště USB"</string>
+    <string name="sd_mount_summary" product="default" msgid="4936591681679097699">"Připojit kartu SD"</string>
+    <string name="sd_format" product="nosdcard" msgid="2148179271623099054">"Smazat úložiště USB"</string>
+    <string name="sd_format" product="default" msgid="2576054280507119870">"Smazat kartu SD"</string>
+    <string name="sd_format_summary" product="nosdcard" msgid="1504606546865152514">"Smaže všechna data v interním úložišti USB telefonu, například hudbu a fotografie"</string>
+    <string name="sd_format_summary" product="default" msgid="915849621390821841">"Smaže všechna data na kartě SD telefonu, například hudbu a fotografie"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"Nedostupný údaj"</string>
     <string name="read_only" msgid="6702420168629076340">" (Pouze pro čtení)"</string>
-    <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Odpojit kartu SD"</string>
-    <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Pokud odpojíte kartu SD, dojde k zastavení některých používaných aplikací. Tyto aplikace pravděpodobně nebudou k dispozici až do opětovného připojení karty SD."</string>
-    <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Odpojení karty SD se nezdařilo"</string>
-    <string name="dlg_error_unmount_text" msgid="9188972789897713180">"Kartu SD nelze odpojit. Zkuste to znovu později."</string>
-    <string name="unmount_inform_text" msgid="3213378327712151498">"Karta SD bude odpojena. Stav bude zobrazen v oznamovací oblasti."</string>
+    <string name="dlg_confirm_unmount_title" product="nosdcard" msgid="2349876662428231297">"Odpojit úložiště USB"</string>
+    <string name="dlg_confirm_unmount_title" product="default" msgid="8612140627310646730">"Odpojit kartu SD"</string>
+    <string name="dlg_confirm_unmount_text" product="nosdcard" msgid="3390169455621185223">"Pokud úložiště USB odpojíte, některé používané aplikace přestanou fungovat. Tyto aplikace pravděpodobně nebudou k dispozici, dokud úložiště USB znovu nepřipojíte."</string>
+    <string name="dlg_confirm_unmount_text" product="default" msgid="5851214273718817727">"Pokud odpojíte kartu SD, dojde k zastavení některých používaných aplikací. Tyto aplikace pravděpodobně nebudou k dispozici až do opětovného připojení karty SD."</string>
+    <string name="dlg_error_unmount_title" product="nosdcard" msgid="7695491947411836733">"Odpojení úložiště USB se nezdařilo"</string>
+    <string name="dlg_error_unmount_title" product="default" msgid="4004106918266783081">"Odpojení karty SD se nezdařilo"</string>
+    <string name="dlg_error_unmount_text" product="nosdcard" msgid="1450864147013376592">"Úložiště USB nelze odpojit. Zkuste to znovu později."</string>
+    <string name="dlg_error_unmount_text" product="default" msgid="9188972789897713180">"Kartu SD nelze odpojit. Zkuste to znovu později."</string>
+    <string name="unmount_inform_text" product="nosdcard" msgid="7120241136790744265">"Úložiště USB bude odpojeno."</string>
+    <string name="unmount_inform_text" product="default" msgid="1904212716075458402">"Karta SD bude odpojena."</string>
     <string name="sd_ejecting_title" msgid="8824572198034365468">"Odpojování"</string>
     <string name="sd_ejecting_summary" msgid="2028753069184908491">"Probíhá odpojování"</string>
     <string name="battery_status_title" msgid="9159414319574976203">"Stav baterie"</string>
@@ -571,21 +600,32 @@
     <string name="restore_default_apn_completed" msgid="3990449939234957281">"Obnovení výchozích nastavení názvu AP bylo dokončeno."</string>
     <string name="master_clear_title" msgid="5907939616087039756">"Obnovení továrních dat"</string>
     <string name="master_clear_summary" msgid="4986154238001088492">"Vymaže všechna data v telefonu"</string>
-    <string name="master_clear_desc" msgid="7823268823499739178">"Tento krok vymaže všechna data z vašeho telefonu včetně:"\n<li>"vašeho účtu Google,"</li>\n<li>"dat a nastavení systému a aplikací,"</li>\n<li>"stažených aplikací."</li>\n"Vymazány nebudou:"\n<li>"aktuální software systému a s ním dodané aplikace"</li>\n<li>"soubory na kartě SD, například hudba a fotky."</li></string>
+    <string name="master_clear_desc" product="nosdcard" msgid="2163013814299528247">"Tato akce smaže všechna data z "<b>"interního úložiště"</b>" telefonu, včetně:"\n\n<li>"účtu Google,"</li>\n<li>"dat a nastavení systému a aplikací,"</li>\n<li>"stažených aplikací."</li>\n\n"Chcete-li smazat všechna data v tomto telefonu, je potřeba smazat"<b>"úložiště USB"</b>"."\n\n</string>
+    <string name="master_clear_desc" product="default" msgid="1741944496458365969">"Tato akce smaže všechna data z "<b>"interního úložiště"</b>" telefonu, včetně:"\n\n<li>"účtu Google,"</li>\n<li>"dat a nastavení aplikací a systému,"</li>\n<li>"stažených aplikací."</li>\n\n"Chcete-li smazat také hudbu, obrázky a další uživatelská data, je potřeba smazat"<b>"kartu SD"</b>\n\n</string>
+    <string name="erase_external_storage" product="nosdcard" msgid="969364037450286809">"Smazat úložiště USB"</string>
+    <string name="erase_external_storage" product="default" msgid="1397239046334307625">"Smazat kartu SD"</string>
+    <string name="erase_external_storage_description" product="nosdcard" msgid="1657838142707381027">"Smazat všechna data v interním úložišti USB telefonu, například hudbu a fotografie."</string>
+    <string name="erase_external_storage_description" product="default" msgid="8100175974635894073">"Smazat všechna data na kartě SD telefonu, například hudbu a fotografie."</string>
     <string name="master_clear_button_text" msgid="7550632653343157971">"Resetovat telefon"</string>
     <string name="master_clear_final_desc" msgid="6917971132484622696">"Chcete smazat všechny osobní informace a stažené aplikace? Tuto akci nelze vrátit zpět."</string>
     <string name="master_clear_final_button_text" msgid="5390908019019242910">"Odstranit vše"</string>
     <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Proveďte gesto odemknutí"</string>
     <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"Chcete-li potvrdit reset telefonu, musíte provést gesto odemknutí."</string>
     <string name="master_clear_failed" msgid="8655202125010189406">"Pokus o reset se nezdařil, protože služba System Clear není dostupná."</string>
-    <string name="media_format_title" msgid="4671276096695789895">"Formátovat kartu SD"</string>
-    <string name="media_format_summary" msgid="3805714639375830120">"Vymaže všechna data na kartě SD"</string>
-    <string name="media_format_desc" msgid="1142563222357820834">"Tato akce smaže kartu SD v telefonu. VŠECHNA data na kartě budou ztracena."</string>
-    <string name="media_format_button_text" msgid="370856400090190151">"Formátovat kartu SD"</string>
-    <string name="media_format_final_desc" msgid="1776666694910717198">"Formátování karty SD. Chcete smazat všechna svoje média? Akci nelze vrátit zpět."</string>
+    <string name="media_format_title" product="nosdcard" msgid="3999653431422767156">"Smazat úložiště USB"</string>
+    <string name="media_format_title" product="default" msgid="4427528440306787972">"Smazat kartu SD"</string>
+    <string name="media_format_summary" product="nosdcard" msgid="776603298628082065">"Smaže data v úložišti USB"</string>
+    <string name="media_format_summary" product="default" msgid="3805714639375830120">"Vymaže všechna data na kartě SD"</string>
+    <string name="media_format_desc" product="nosdcard" msgid="4553860683952763905">"Tato akce smaže úložiště USB. Ztratíte "<b>"všechna"</b>" data v něm uložená."</string>
+    <string name="media_format_desc" product="default" msgid="1598627584181935513">"Tato akce vymaže kartu SD. "<b>"Všechna"</b>" data na kartě budou ztracena."</string>
+    <string name="media_format_button_text" product="nosdcard" msgid="6293669371185352810">"Smazat úložiště USB"</string>
+    <string name="media_format_button_text" product="default" msgid="6721544380069373626">"Smazat kartu SD"</string>
+    <string name="media_format_final_desc" product="nosdcard" msgid="8094635533378487255">"Chcete úložiště USB smazat a odstranit tak všechny soubory, které jsou v něm uloženy? Tuto akci nelze vrátit zpět."</string>
+    <string name="media_format_final_desc" product="default" msgid="9015504991522581434">"Chcete kartu SD smazat a odstranit tak všechny soubory, které jsou na ní uloženy? Tuto akci nelze vrátit zpět."</string>
     <string name="media_format_final_button_text" msgid="4881713344315923175">"Odstranit vše"</string>
     <string name="media_format_gesture_prompt" msgid="3109349468816856670">"Proveďte gesto odemknutí"</string>
-    <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Formátování karty SD je potřeba potvrdit nakreslením odemykacího obrazce."</string>
+    <string name="media_format_gesture_explanation" product="nosdcard" msgid="1379736318750958338">"Smazání úložiště USB je třeba potvrdit pomocí bezpečnostního gesta."</string>
+    <string name="media_format_gesture_explanation" product="default" msgid="1681213416497647321">"Smazání karty SD je třeba potvrdit pomocí bezpečnostního gesta."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Nastavení hovorů"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Nastavení hlasové schránky, přesměrování a čekání hovorů a ID volajícího"</string>
     <string name="tether_settings_title_usb" msgid="4315031513434087777">"Tethering"</string>
@@ -609,7 +649,7 @@
     <string name="location_networks_disabled" msgid="2708968452901433980">"Zobrazuje polohu v aplikacích (jako Mapy) pomocí bezdrátových sítí"</string>
     <string name="location_neighborhood_level" msgid="4656658097932515921">"Poloha je zaměřena pomocí WiFi nebo mobilních sítí"</string>
     <string name="location_gps" msgid="6296125378829097831">"Použít satelity GPS"</string>
-    <string name="location_street_level" msgid="6460740847018275745">"Zaměření je s přesností na úrovni ulic (zrušením této volby lze šetřit baterii)"</string>
+    <string name="location_street_level" msgid="7456259025474443314">"Zaměření je s přesností na úrovni ulic."</string>
     <string name="location_gps_disabled" msgid="6632537158777308128">"Umožňuje zaměřit na úrovni ulic (vetší spotřeba baterie a nutný výhled na oblohu)"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"Použít systém A-GPS"</string>
     <string name="assisted_gps_enabled" msgid="8751899609589792803">"Vylepšit funkčnost GPS pomocí serveru (deaktivací této funkce snížíte využití sítě)"</string>
@@ -692,22 +732,31 @@
     <string name="application_size_label" msgid="5055196275624686382">"Aplikace"</string>
     <string name="data_size_label" msgid="8679376373625710107">"Data"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Odinstalovat"</string>
+    <string name="disable_text" msgid="6544054052049395202">"Vypnout"</string>
+    <string name="enable_text" msgid="9217362512327828987">"Povolit"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Mazání dat"</string>
     <string name="app_factory_reset" msgid="6635744722502563022">"Odinstalovat aktualizace"</string>
     <string name="auto_launch_enable_text" msgid="2630656657744196691">"Aplikace byla nastavena, aby se pro některé akce spouštěla jako výchozí."</string>
     <string name="auto_launch_disable_text" msgid="7800385822185540166">"Není výchozí pro žádné akce."</string>
     <string name="clear_activities" msgid="7408923511535174430">"Vymazat výchozí nastavení"</string>
     <string name="unknown" msgid="1592123443519355854">"Neznámé"</string>
-    <string name="sort_order_alpha" msgid="8622029358896599842">"Řadit"</string>
+    <string name="sort_order_alpha" msgid="1410278099123670628">"Seřadit dle jména"</string>
     <string name="sort_order_size" msgid="7024513286636502362">"Řadit podle velikosti"</string>
+    <string name="show_running_services" msgid="5736278767975544570">"Zobrazit spuštěné služby"</string>
+    <string name="show_background_processes" msgid="2009840211972293429">"Zobrazit mezipaměť"</string>
     <string name="manage_space_text" msgid="8852711522447794676">"Správa paměti"</string>
     <string name="filter" msgid="2018011724373033887">"Filtrovat"</string>
     <string name="filter_dlg_title" msgid="6507663329723966854">"Vyberte možnosti filtru"</string>
     <string name="filter_apps_all" msgid="5142129378749391876">"Vše"</string>
     <string name="filter_apps_third_party" msgid="7786348047690140979">"Stažené"</string>
     <string name="filter_apps_running" msgid="7767071454371350486">"Spuštěné"</string>
-    <string name="filter_apps_onsdcard" msgid="1477351142334784771">"Na kartě SD"</string>
-    <string name="loading" msgid="3200408047793887917">"Načítání..."</string>
+    <string name="filter_apps_onsdcard" product="nosdcard" msgid="4843063154701023349">"Úložiště USB"</string>
+    <string name="filter_apps_onsdcard" product="default" msgid="1477351142334784771">"Na kartě SD"</string>
+    <string name="disabled" msgid="9206776641295849915">"Deaktivováno"</string>
+    <string name="no_applications" msgid="5190227407135243904">"Žádné aplikace."</string>
+    <string name="internal_storage" msgid="1584700623164275282">"Interní úložiště"</string>
+    <string name="sd_card_storage" product="nosdcard" msgid="2673203150465132465">"Úložiště USB"</string>
+    <string name="sd_card_storage" product="default" msgid="7623513618171928235">"Karta SD"</string>
     <string name="recompute_size" msgid="7722567982831691718">"Přepočítávání velikosti..."</string>
     <string name="clear_data_dlg_title" msgid="4470209520936375508">"Smazat"</string>
     <string name="clear_data_dlg_text" msgid="8368035073300828451">"Veškerá data (všechny soubory, nastavení, účty, databáze apod.) této aplikace budou trvale vymazána."</string>
@@ -727,7 +776,8 @@
     <string name="version_text" msgid="9189073826278676425">"verze <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5042838441401731346">"Přesunout"</string>
     <string name="move_app_to_internal" msgid="3895430471913858185">"Přesunout do telefonu"</string>
-    <string name="move_app_to_sdcard" msgid="1143379049903056407">"Přesunout na kartu SD"</string>
+    <string name="move_app_to_sdcard" product="nosdcard" msgid="4350451696315265420">"Přesunout do úlož. USB"</string>
+    <string name="move_app_to_sdcard" product="default" msgid="1143379049903056407">"Přesunout na kartu SD"</string>
     <string name="moving" msgid="6431016143218876491">"Přesouvání"</string>
     <string name="insufficient_storage" msgid="8566913062094452962">"V úložišti je nedostatek volného místa."</string>
     <string name="does_not_exist" msgid="837163572898468245">"Aplikace neexistuje."</string>
@@ -735,29 +785,49 @@
     <string name="invalid_location" msgid="4934491353200240499">"Zadané místo pro instalaci není platné."</string>
     <string name="system_package" msgid="1030561474413022831">"Aktualizace systému nelze nainstalovat na externí média."</string>
     <string name="force_stop_dlg_title" msgid="4289453224368188476">"Vynutit zastavení"</string>
-    <string name="force_stop_dlg_text" msgid="3381302041569982075">"Tato aplikace bude okamžitě restartována. Opravdu chcete vynutit její zastavení?"</string>
+    <string name="force_stop_dlg_text" msgid="5157374701213502922">"Vynucené zastavení může způsobit nepředvídatelné chování aplikace. Jste si jisti?"</string>
     <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Přesun aplikace"</string>
     <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Přesunutí aplikace se nezdařilo. <xliff:g id="REASON">%1$s</xliff:g>"</string>
     <string name="app_install_location_title" msgid="2068975150026852168">"Preferované umístění pro instalaci"</string>
     <string name="app_install_location_summary" msgid="879753854530300436">"Změna preferovaného umístění pro instalaci nových aplikací"</string>
+    <string name="storageuse_settings_title" msgid="5657014373502630403">"Využití úložiště"</string>
+    <string name="storageuse_settings_summary" msgid="2556057379120846792">"Zobrazit aplikacemi používané úložiště"</string>
     <string name="runningservices_settings_title" msgid="8097287939865165213">"Spuštěné služby"</string>
     <string name="runningservices_settings_summary" msgid="854608995821032748">"Umožňuje zobrazit a ovládat aktuálně spuštěné služby"</string>
     <string name="service_restarting" msgid="2242747937372354306">"Probíhá restartování"</string>
-    <string name="no_running_services" msgid="6981216347270280598">"Žádné spuštěné služby"</string>
-    <string name="confirm_stop_service" msgid="5700448757318301681">"Zastavit službu?"</string>
-    <string name="confirm_stop_service_msg" msgid="1166661293369421272">"Služba zůstane vypnutá, dokud nebude znovu spuštěna. To může mít nežádoucí vliv na aplikaci <xliff:g id="APPLICATION">%1$s</xliff:g>."</string>
-    <string name="confirm_stop_stop" msgid="7382363913280993331">"Zastavit"</string>
-    <string name="confirm_stop_cancel" msgid="206495326622692381">"Zrušit"</string>
-    <string name="service_started_by_app" msgid="8432097226392386802">"Spuštěno aplikací: dotykem zastavíte"</string>
-    <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: spravovat dotykem"</string>
-    <string name="service_background_processes" msgid="5158600475629177758">"K dispozici: <xliff:g id="FREE">%2$s</xliff:g> + <xliff:g id="MEMORY">%3$s</xliff:g> v <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_foreground_processes" msgid="4013890350284680796">"Ostatní: <xliff:g id="MEMORY">%2$s</xliff:g> v <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_process_name" msgid="8630408984456958400">"Proces: <xliff:g id="PROCESS">%1$s</xliff:g>"</string>
+    <string name="cached" msgid="1059590879740175019">"Proces na pozadí v mezipaměti"</string>
+    <string name="no_running_services" msgid="2059536495597645347">"Nic není spuštěno."</string>
+    <string name="service_started_by_app" msgid="6575184738671598131">"Spuštěno aplikací."</string>
+    <!-- no translation found for service_client_name (4037193625611815517) -->
+    <skip />
+    <string name="service_background_processes" msgid="6844156253576174488">"<xliff:g id="MEMORY">%1$s</xliff:g> volno"</string>
+    <string name="service_foreground_processes" msgid="7583975676795574276">"Využito <xliff:g id="MEMORY">%1$s</xliff:g>"</string>
+    <string name="memory" msgid="6609961111091483458">"RAM"</string>
+    <!-- no translation found for service_process_name (4098932168654826656) -->
+    <skip />
+    <string name="running_processes_item_description_s_s" msgid="5790575965282023145">"Počet procesů: <xliff:g id="NUMPROCESS">%1$d</xliff:g>; počet služeb: <xliff:g id="NUMSERVICES">%2$d</xliff:g>"</string>
+    <string name="running_processes_item_description_s_p" msgid="8019860457123222953">"Počet procesů: <xliff:g id="NUMPROCESS">%1$d</xliff:g>; počet služeb: <xliff:g id="NUMSERVICES">%2$d</xliff:g>"</string>
+    <string name="running_processes_item_description_p_s" msgid="744424668287252915">"Počet procesů: <xliff:g id="NUMPROCESS">%1$d</xliff:g>; počet služeb: <xliff:g id="NUMSERVICES">%2$d</xliff:g>"</string>
+    <string name="running_processes_item_description_p_p" msgid="1607384595790852782">"Počet procesů: <xliff:g id="NUMPROCESS">%1$d</xliff:g>; počet služeb: <xliff:g id="NUMSERVICES">%2$d</xliff:g>"</string>
+    <string name="runningservicedetails_settings_title" msgid="6188692418986988288">"Spuštěná aplikace"</string>
+    <string name="no_services" msgid="7133900764462288263">"Neaktivní"</string>
+    <string name="runningservicedetails_services_title" msgid="391168243725357375">"Služby"</string>
+    <string name="runningservicedetails_processes_title" msgid="928115582044655268">"Procesy"</string>
+    <string name="service_stop" msgid="6369807553277527248">"Zastavit"</string>
+    <string name="service_manage" msgid="1876642087421959194">"Nastavení"</string>
+    <string name="service_stop_description" msgid="3261798282116866961">"Tato služba byla spuštěna svou aplikací. Pokud ji zastavíte, může dojít k selhání aplikace."</string>
+    <string name="heavy_weight_stop_description" msgid="6855241582643136019">"Tuto aplikaci nelze bezpečně zastavit. Mohlo by dojít ke ztrátě části vaší aktuální práce."</string>
+    <string name="background_process_stop_description" msgid="1728354083304746737">"Toto je starý proces aplikace zachovaný pro rychlejší spuštění v případě, že bude znovu potřeba. Zpravidla není důvod jej zastavovat."</string>
+    <string name="service_manage_description" msgid="7050092269951613102">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: právě se používá. Ovládací prvky zobrazte dotykem na Nastavení."</string>
+    <string name="main_running_process_description" msgid="929204645380391397">"Hlavní proces, který se používá."</string>
+    <string name="process_service_in_use_description" msgid="8993335064403217080">"Služba <xliff:g id="COMP_NAME">%1$s</xliff:g> se používá."</string>
+    <string name="process_provider_in_use_description" msgid="5586603325677678940">"Poskytovatel <xliff:g id="COMP_NAME">%1$s</xliff:g> se používá."</string>
+    <string name="runningservicedetails_stop_dlg_title" msgid="4253292537154337233">"Zastavit systémovou službu?"</string>
+    <string name="runningservicedetails_stop_dlg_text" msgid="6929716497425738387">"Opravdu tuto systémovou službu chcete zastavit? Může se stát, že telefon ztratí některé funkce. Ty nebudou fungovat, dokud telefon nevypnete a opět nezapnete."</string>
     <string name="language_settings" msgid="502219872342167227">"Jazyk a klávesnice"</string>
     <string name="language_keyboard_settings_title" msgid="3455826933385341107">"Nastavení jazyka a klávesnice"</string>
-    <string name="language_settings_summary" msgid="595647729475399987">"Nastavení jazyka a oblasti, způsobu zadávání textu a automatických oprav"</string>
-    <string name="language_category" msgid="3391756582724541530">"Nastavení národního prostředí"</string>
-    <string name="text_category" msgid="6342540511465136739">"Nastavení textu"</string>
+    <string name="language_settings_category" msgid="2288258489940617043">"Nastavení jazyka"</string>
+    <string name="keyboard_settings_category" msgid="7060453865544070642">"Nastavení klávesnice"</string>
     <string name="phone_language" msgid="1165758957501090679">"Vyberte jazyk"</string>
     <string name="phone_language_summary" msgid="3871309445655554211"></string>
     <string name="auto_replace" msgid="6199184757891937822">"Automatické nahrazování"</string>
@@ -782,7 +852,6 @@
     <string name="testing" msgid="6584352735303604146">"Testování"</string>
     <string name="testing_phone_info" msgid="8656693364332840056">"Info o telefonu"</string>
     <string name="testing_battery_info" msgid="3497865525976497848">"Info o baterii"</string>
-    <string name="testing_battery_history" msgid="3043329445810695647">"Historie baterie"</string>
     <string name="quick_launch_title" msgid="7904609846945905306">"Rychlé spuštění"</string>
     <string name="quick_launch_summary" msgid="3453825712466417452">"Umožňuje nastavit klávesové zkratky pro spouštění aplikací"</string>
     <string name="quick_launch_assign_application" msgid="4521368464929956350">"Přiřadit aplikaci"</string>
@@ -798,8 +867,8 @@
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Správa možností zadávání textu"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Nastavení modulu <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Nastavení klávesnice na obrazovce"</string>
-    <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"Klávesnice zařízení"</string>
-    <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"Nastavení vestavěné klávesnice"</string>
+    <string name="builtin_keyboard_settings_title" msgid="5274990495405941804">"Vestavěná klávesnice"</string>
+    <string name="builtin_keyboard_settings_summary" msgid="7990296351888096836">"Nastavení vestavěné fyzické klávesnice"</string>
     <string name="development_settings_title" msgid="6719732334835420989">"Vývoj"</string>
     <string name="development_settings_summary" msgid="2151320488701538355">"Umožňuje nastavit možnosti pro vývoj aplikací"</string>
     <string name="enable_adb" msgid="7982306934419797485">"Ladění USB"</string>
@@ -812,36 +881,10 @@
     <string name="adb_warning_message" msgid="5352555112049663033">"Ladění USB je určeno pouze pro účely vývoje. Lze pomocí něho kopírovat data mezi počítačem a zařízením, instalovat aplikace do zařízení bez upozornění a číst data protokolů."</string>
     <string name="gadget_picker_title" msgid="98374951396755811">"Zvolte gadget"</string>
     <string name="widget_picker_title" msgid="9130684134213467557">"Zvolte widget"</string>
-    <string name="battery_history_details_for" msgid="5924639922153109669">"Podrobnosti pro UID <xliff:g id="NUMBER">%d</xliff:g>"</string>
-    <string name="battery_history_uid" msgid="1016606150528436298">"UID <xliff:g id="USER_ID">%1$d</xliff:g>"</string>
-    <string name="battery_history_network_usage" msgid="8010852371665217020">"Podrobnosti o používání sítě aplikací <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_bytes_received" msgid="980307569180518302">"Přijato bytů: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_sent" msgid="2501748768602119159">"Odesláno bytů: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_total" msgid="4444807574361642753">"Celkem bytů: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_cpu_usage" msgid="2597353713014790877">"Podrobnosti o využívání CPU aplikací <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_user_time" msgid="6227507614894791359">"Čas uživatele:"</string>
-    <string name="battery_history_system_time" msgid="2015862072724507547">"Systémový čas:"</string>
-    <string name="battery_history_total_time" msgid="3618703970098556104">"Celková doba:"</string>
-    <string name="battery_history_starts" msgid="9137453931978571696">"Počet spuštění: <xliff:g id="STARTS">%1$d</xliff:g>"</string>
     <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g> dní <xliff:g id="HOURS">%2$d</xliff:g> h <xliff:g id="MINUTES">%3$d</xliff:g> min <xliff:g id="SECONDS">%4$d</xliff:g> s"</string>
     <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min <xliff:g id="SECONDS">%3$d</xliff:g> s"</string>
     <string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g> min <xliff:g id="SECONDS">%2$d</xliff:g> s"</string>
     <string name="battery_history_seconds" msgid="4283492130945761685">"<xliff:g id="SECONDS">%1$d</xliff:g> s"</string>
-    <string name="battery_history_packages_sharing_this_uid" msgid="4101596071379250050">"Balíčky sdílející toto UID:"</string>
-    <string name="battery_history_no_data" msgid="1177238743237067617">"Údaje o využití baterie nejsou k dispozici"</string>
-    <string name="battery_history_sensor" msgid="2333488996028993982">"Senzor:"</string>
-    <string name="battery_history_wakelock" msgid="608683447522396293">"Částečný zámek probuzení:"</string>
-    <string name="battery_history_used_by_packages" msgid="3000711380023436470">"Senzor je používán následujícími balíčky:"</string>
-    <string name="battery_history_sensor_usage" msgid="3593133338613209024">"Použito <xliff:g id="COUNT">%1$d</xliff:g>krát balíčkem <xliff:g id="PACKAGE">%2$s</xliff:g>\n"</string>
-    <string name="battery_history_sensor_usage_multi" msgid="4536084375991014508">"Použito <xliff:g id="COUNT">%1$d</xliff:g>krát některým z následujících:"</string>
-    <string name="battery_history_awake_label" msgid="8449792868990080882">"Spuštěné"</string>
-    <string name="battery_history_screen_on_label" msgid="1848936521786339362">"Obrazovka zapnutá"</string>
-    <string name="battery_history_phone_on_label" msgid="700191958853142297">"Telefon zapnutý"</string>
-    <string name="battery_history_awake" msgid="4350886665719031057">"Doba bez režimu spánku:"</string>
-    <string name="battery_history_screen_on" msgid="1377240025275657277">"Doba se zapnutou obrazovkou:"</string>
-    <string name="battery_history_phone_on" msgid="4891504401623839532">"Doba se zapnutým telefonem:"</string>
-    <string name="battery_history_screen_on_battery" msgid="536058210445081888">"Na baterii:"</string>
-    <string name="battery_history_screen_on_plugged" msgid="5019127390021871260">"Připojeno:"</string>
     <string name="usage_stats_label" msgid="5890846333487083609">"Statistika použití"</string>
     <string name="testing_usage_stats" msgid="7823048598893937339">"Statistika použití"</string>
     <string name="display_order_text" msgid="8592776965827565271">"Řadit podle:"</string>
@@ -865,12 +908,19 @@
     <string name="power_usage_summary" msgid="7237084831082848168">"Co využívá baterii"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Využití baterie od odpojení"</string>
     <string name="battery_since_reset" msgid="7464546661121187045">"Využití baterie od obnovení"</string>
+    <string name="battery_stats_on_battery" msgid="4970762168505236033">"doba provozu na baterii: <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="battery_stats_duration" msgid="7464501326709469282">"<xliff:g id="TIME">%1$s</xliff:g> od odpojení"</string>
+    <string name="battery_stats_charging_label" msgid="4223311142875178785">"Nabíjení"</string>
+    <string name="battery_stats_screen_on_label" msgid="7150221809877509708">"Obrazovka zapnutá"</string>
+    <string name="battery_stats_gps_on_label" msgid="1193657533641951256">"GPS aktivní"</string>
+    <string name="battery_stats_wifi_running_label" msgid="3093545080361658269">"Wi-Fi"</string>
+    <string name="battery_stats_wake_lock_label" msgid="1908942681902324095">"Probudit"</string>
+    <string name="battery_stats_phone_signal_label" msgid="6822042940376636775">"Signál telefonu"</string>
     <!-- no translation found for battery_stats_last_duration (1535831453827905957) -->
     <skip />
     <string name="awake" msgid="387122265874485088">"Doba provozu zařízení"</string>
-    <string name="wifi_on_time" msgid="4630925382578609056">"Doba provozu sítě WiFi"</string>
-    <string name="bluetooth_on_time" msgid="4478515071957280711">"Doba provozu sítě WiFi"</string>
+    <string name="wifi_on_time" msgid="6310209835617490616">"Doba provozu modulu Wi-Fi"</string>
+    <string name="bluetooth_on_time" msgid="6157799524996162271">"Doba provozu sítě Wi-Fi"</string>
     <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g> – <xliff:g id="NUMBER">%2$s</xliff:g> <xliff:g id="PERCENT">%%</xliff:g>"</string>
     <string name="details_title" msgid="7564809986329021063">"Podrobnosti využití baterie"</string>
     <string name="details_subtitle" msgid="32593908269911734">"Podrobnosti používání"</string>
@@ -884,7 +934,9 @@
     <string name="power_idle" msgid="9055659695602194990">"Telefon v pohotovostním režimu"</string>
     <string name="usage_type_cpu" msgid="715162150698338714">"Doba provozu procesoru"</string>
     <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"CPU v popředí"</string>
+    <string name="usage_type_wake_lock" msgid="5125438890233677880">"Zakázat režim spánku"</string>
     <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string>
+    <string name="usage_type_wifi_running" msgid="8234997940652067049">"Připojení WiFi aktivní"</string>
     <string name="usage_type_phone" msgid="9108247984998041853">"Telefon"</string>
     <string name="usage_type_data_send" msgid="2857401966985425427">"Odeslaná data"</string>
     <string name="usage_type_data_recv" msgid="7251090882025234185">"Přijatá data"</string>
@@ -896,7 +948,7 @@
     <string name="battery_action_app_details" msgid="3275013531871113681">"Informace o aplikaci"</string>
     <string name="battery_action_app_settings" msgid="350562653472577250">"Nastavení aplikací"</string>
     <string name="battery_action_display" msgid="5302763261448580102">"Nastavení zobrazení"</string>
-    <string name="battery_action_wifi" msgid="5452076674659927993">"Nastavení WiFi"</string>
+    <string name="battery_action_wifi" msgid="2272741639606146903">"Nastavení Wi-Fi"</string>
     <string name="battery_action_bluetooth" msgid="8374789049507723142">"Nastavení Bluetooth"</string>
     <string name="battery_desc_voice" msgid="8980322055722959211">"Využití baterie hlasovými hovory"</string>
     <string name="battery_desc_standby" msgid="3009080001948091424">"Využití baterie v pohotovostním režimu telefonu"</string>
@@ -909,9 +961,9 @@
     <string name="battery_desc_bluetooth" msgid="7535520658674621902">"Využití baterie technologií Bluetooth"</string>
     <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"Vypněte technologii Bluetooth, když ji nepoužíváte."</string>
     <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"Zkuste se připojit k jinému zařízení bluetooth"</string>
-    <string name="battery_desc_apps" msgid="8123202939321333639">"Využití baterie spuštěnými aplikacemi"</string>
+    <string name="battery_desc_apps" msgid="6665712811746233450">"Spotřeba energie podle aplikací"</string>
     <string name="battery_sugg_apps_info" msgid="6065882899391322442">"Ukončete aplikaci nebo ji odinstalujte"</string>
-    <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"Nepoužíváte-li systém GPS, vypněte jej."</string>
+    <string name="battery_sugg_apps_gps" msgid="4545056413090932541">"GPS můžete ručně nastavit, aby jej aplikace nemohly používat."</string>
     <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"Tato aplikace může nabízet nastavení pro snížení využití baterie"</string>
     <string name="menu_stats_unplugged" msgid="8296577130840261624">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> od odpojení"</string>
     <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"Při posledním odpojení pro <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
@@ -961,6 +1013,8 @@
     <string name="pico_not_installed" msgid="6266845418419994311">"Není nainstalováno"</string>
     <string name="pico_voice_summary_female" msgid="8047327176247727492">"Žena"</string>
     <string name="pico_voice_summary_male" msgid="8331266854058577610">"Muž"</string>
+    <string name="tts_notif_engine_install_title" msgid="7000346872482649034">"Nainstalován modul syntézy řeči"</string>
+    <string name="tts_notif_engine_install_message" msgid="5304661142202662693">"Před použitím nový modul povolte"</string>
     <string name="gadget_title" msgid="7455548605888590466">"Ovládací prvek napájení"</string>
     <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Probíhá aktualizace nastavení Wi-Fi"</string>
     <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Probíhá aktualizace nastavení Bluetooth"</string>
@@ -1047,8 +1101,10 @@
     <string name="credentials_access_summary" msgid="319662078718574168">"Povolit aplikacím přístup k zabezpečeným certifikátům a dalším pověřením"</string>
     <string name="credentials_unlock" msgid="1463040326264133844">"Zadejte heslo"</string>
     <string name="credentials_unlock_hint" msgid="594679530407918031">"Zadejte heslo úložiště pověření."</string>
-    <string name="credentials_install_certificates" msgid="177337517568022236">"Instalace z karty SD"</string>
-    <string name="credentials_install_certificates_summary" msgid="7737001268684193093">"Nainstalovat šifrované certifikáty z karty SD"</string>
+    <string name="credentials_install_certificates" product="nosdcard" msgid="619171634797689906">"Instalovat z úložiště USB"</string>
+    <string name="credentials_install_certificates" product="default" msgid="177337517568022236">"Instalace z karty SD"</string>
+    <string name="credentials_install_certificates_summary" product="nosdcard" msgid="8920330112631198575">"Instalovat šifrované certifikáty z úložiště USB"</string>
+    <string name="credentials_install_certificates_summary" product="default" msgid="7737001268684193093">"Nainstalovat šifrované certifikáty z karty SD"</string>
     <string name="credentials_set_password" msgid="9104473585811899989">"Nastavit heslo"</string>
     <string name="credentials_set_password_summary" msgid="8287876917562085701">"Nastavení nebo změna hesla úložiště pověření"</string>
     <string name="credentials_reset" msgid="9170150870552453457">"Vymazat úložiště"</string>
@@ -1068,6 +1124,16 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Úložiště pověření je vymazáno."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Úložiště pověření je aktivováno."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Úložiště pověření je deaktivováno."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Systém souborů EFS (Encrypted File System)"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Šifrovat soukromá uživatelská data"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Aktivovat v tomto zařízení úložiště pro soukromá uživatelská data, které využívá šifrovaný systém souborů"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Aktivace systému souborů EFS vyžaduje vymazání dat ze zařízení."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Deaktivace systému souborů EFS vyžaduje vymazání dat ze zařízení."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Povolit"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Vypnout"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Zrušit"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Změna režimu systému souborů EFS byla zrušena."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Upozornění systému souborů EFS."</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Tísňové vyzvánění"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Nastavit chování při tísňovém volání"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Ochrana osobních údajů"</string>
@@ -1075,11 +1141,11 @@
     <string name="backup_section_title" msgid="8856083167469467588">"Zálohování a obnovení"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Osobní údaje"</string>
     <string name="backup_data_title" msgid="1239105919852668016">"Zálohovat moje data"</string>
-    <string name="backup_data_summary" msgid="5662190190240860035">"Zálohovat moje nastavení a další data aplikací."</string>
+    <string name="backup_data_summary" msgid="6515285107793232815">"Zálohovat data aplikací, hesla sítí Wi-Fi a další nastavení na serverech Google"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Automatické obnovení"</string>
-    <string name="auto_restore_summary" msgid="6867766474057290177">"Pokud přeinstaluji aplikaci, chci obnovit zálohovaná nastavení a další data."</string>
+    <string name="auto_restore_summary" msgid="83177150536734378">"Pokud přeinstaluji aplikaci, chci obnovit zálohovaná nastavení a další data"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Záloha"</string>
-    <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Opravdu chcete zrušit zálohování nastavení a dat aplikací a vymazat všechny kopie těchto dat na serverech Google?"</string>
+    <string name="backup_erase_dialog_message" msgid="7766283133557587608">"Opravdu chcete zrušit zálohování hesel sítí Wi-Fi, záložek a dalších nastavení a dat aplikací a vymazat všechny kopie těchto dat na serverech Google?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Nastavení správce zařízení"</string>
     <string name="active_device_admin_msg" msgid="6930903262612422111">"Správce zařízení"</string>
     <string name="remove_device_admin" msgid="3596845261596451437">"Deaktivovat"</string>
diff --git a/res/values-da/arrays.xml b/res/values-da/arrays.xml
index 567e194..97b1cc3 100644
--- a/res/values-da/arrays.xml
+++ b/res/values-da/arrays.xml
@@ -115,19 +115,6 @@
     <item msgid="1549288661423279207">"Aldrig når tilsluttet"</item>
     <item msgid="1986753720941888596">"Aldrig"</item>
   </string-array>
-  <string-array name="battery_history_type_spinner">
-    <item msgid="2193799199027871385">"CPU-brug"</item>
-    <item msgid="6401018715947316517">"Netværksbrug"</item>
-    <item msgid="188092590354892392">"GPS-brug"</item>
-    <item msgid="8414109131222049141">"Sensorbrug"</item>
-    <item msgid="1327904325081257093">"Delvis vågen brug"</item>
-    <item msgid="4832254146664706277">"Anden brug"</item>
-  </string-array>
-  <string-array name="battery_history_which_spinner">
-    <item msgid="3451981114763440074">"Siden sidste afbrydelse"</item>
-    <item msgid="166936313535197598">"I alt siden start"</item>
-    <item msgid="4793941382744963893">"I alt hele tiden"</item>
-  </string-array>
   <string-array name="usage_stats_display_order_types">
     <item msgid="9077371706468756228">"Brugstid"</item>
     <item msgid="1908750532762193304">"Start optælling"</item>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 3a139e1..4e3e4cb 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -45,13 +45,16 @@
     <string name="radioInfo_display_asu" msgid="1422248392727818082">"asu"</string>
     <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string>
     <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string>
-    <string name="sdcard_unmount" msgid="3364184561355611897">"Demonter SD-kort"</string>
-    <string name="sdcard_format" msgid="362497552060004057">"Formater SD-kort"</string>
+    <string name="sdcard_unmount" product="nosdcard" msgid="6325292633327972272">"Demonter USB-lager"</string>
+    <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Demonter SD-kort"</string>
+    <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Slet USB-lager"</string>
+    <string name="sdcard_format" product="default" msgid="6713185532039187532">"Slet SD-kort"</string>
     <string name="small_font" msgid="2295331917424072635">"Lille"</string>
     <string name="medium_font" msgid="2068475425515133701">"Normal"</string>
     <string name="large_font" msgid="599055175160971446">"Stor"</string>
     <string name="font_size_save" msgid="3450855718056759095">"OK"</string>
-    <string name="sdcard_setting" msgid="5922637503871474866">"SD-kort"</string>
+    <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB-lager"</string>
+    <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD-kort"</string>
     <string name="battery_info_status_label" msgid="8109155295509700309">"Batteristatus:"</string>
     <string name="battery_info_power_label" msgid="7465140230991349382">"Strømstik:"</string>
     <string name="battery_info_scale_label" msgid="3649763192389778437">"Batteriskala:"</string>
@@ -180,27 +183,34 @@
     <string name="sdcard_changes_instructions" msgid="1364712901180556244">"Ændringerne træder i kraft, når USB-kablet tilsluttes igen"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"Aktiver USB-masselagring"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"Bytes i alt:"</string>
-    <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"Der er intet SD-kort"</string>
+    <string name="sdcard_settings_not_present_status" product="nosdcard" msgid="2902787003418172125">"USB-lager ikke monteret"</string>
+    <string name="sdcard_settings_not_present_status" product="default" msgid="6666688653496819947">"Der er intet SD-kort"</string>
     <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"Ledige bytes:"</string>
-    <string name="sdcard_settings_mass_storage_status" msgid="4786433969313661655">"SD-kortet bruges som en masselagringsenhed"</string>
-    <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"SD-kortet kan nu fjernes sikkert"</string>
-    <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"SD-kortet blev fjernet, mens det stadig var i brug."</string>
+    <string name="sdcard_settings_mass_storage_status" product="nosdcard" msgid="2736378870889777857">"USB bruges som masselager"</string>
+    <string name="sdcard_settings_mass_storage_status" product="default" msgid="4786433969313661655">"SD-kortet bruges som en masselagringsenhed"</string>
+    <string name="sdcard_settings_unmounted_status" product="nosdcard" msgid="7503300818792750913">"USB-lager kan fjernes sikkert"</string>
+    <string name="sdcard_settings_unmounted_status" product="default" msgid="3812022095683863087">"SD-kortet kan nu fjernes sikkert"</string>
+    <string name="sdcard_settings_bad_removal_status" product="nosdcard" msgid="7761390725880773697">"USB-lager fjernet under brug!"</string>
+    <string name="sdcard_settings_bad_removal_status" product="default" msgid="5145797653495907970">"SD-kortet blev fjernet, mens det stadig var i brug."</string>
     <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"Brugte bytes:"</string>
-    <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Scanner SD-kort efter medier ..."</string>
-    <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"SD-kortet er monteret som skrivebeskyttet"</string>
+    <string name="sdcard_settings_scanning_status" product="nosdcard" msgid="7503429447676219564">"Scanner USB-lager for medier…"</string>
+    <string name="sdcard_settings_scanning_status" product="default" msgid="2763464949274455656">"Scanner SD-kort efter medier ..."</string>
+    <string name="sdcard_settings_read_only_status" product="nosdcard" msgid="3771783090621312312">"USB-lager er skrivebeskyttet"</string>
+    <string name="sdcard_settings_read_only_status" product="default" msgid="5706115860484118911">"SD-kortet er monteret som skrivebeskyttet"</string>
     <string name="next_label" msgid="4693520878012668114">"Næste"</string>
     <string name="language_picker_title" msgid="4034157617842965844">"Landestandard"</string>
     <string name="select_your_language" msgid="1146235168951906084">"Vælg dit sprog"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Vælg aktivitet"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Enhedsoplysninger"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Batterioplysninger"</string>
-    <string name="battery_history_label" msgid="8242244969757414501">"Batterioversigt"</string>
     <string name="display_label" msgid="7403874003169865762">"Visning"</string>
     <string name="phone_info_label" msgid="2127552523124277664">"Telefonoplysninger"</string>
-    <string name="sd_card_settings_label" msgid="5743100901106177102">"SD-kort"</string>
+    <string name="sd_card_settings_label" product="nosdcard" msgid="8101475181301178428">"USB-lager"</string>
+    <string name="sd_card_settings_label" product="default" msgid="5743100901106177102">"SD-kort"</string>
     <string name="proxy_settings_label" msgid="3271174136184391743">"Proxyindstillinger"</string>
     <string name="cancel" msgid="6859253417269739139">"Annuller"</string>
     <string name="settings_label" msgid="1626402585530130914">"Indstillinger"</string>
+    <string name="settings_label_launcher" msgid="8344735489639482340">"Indstillinger"</string>
     <string name="settings_shortcut" msgid="3672145147925639262">"Indstillinger"</string>
     <string name="airplane_mode" msgid="8837269988154128601">"Flytilstand"</string>
     <string name="airplane_mode_summary" msgid="3154817401368780988">"Deaktiver alle trådløse forbindelser"</string>
@@ -323,6 +333,11 @@
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Som højttalertelefon"</string>
     <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Til musik og medier"</string>
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Husk indstillinger"</string>
+    <string name="nfc_quick_toggle_title" msgid="6769159366307299004">"NFC"</string>
+    <string name="nfc_quick_toggle_summary" msgid="1988408027741447231">"Brug Near Field Communication til at læse og udveksle tags"</string>
+    <!-- no translation found for nfc_toggle_error (2233172102497535522) -->
+    <!-- no translation found for nfc_toggle_error (8998642457947607263) -->
+    <skip />
     <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Slå Wi-Fi til"</string>
     <string name="wifi_settings" msgid="4746946030627213196">"Indstillinger for Wi-Fi"</string>
@@ -376,6 +391,7 @@
     <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Angiv, hvornår der skal skiftes fra Wi-Fi til mobile data"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Der opstod et problem med indstillingen af dvalepolitikken."</string>
     <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MAC-adresse"</string>
+    <string name="wifi_advanced_ip_address_title" msgid="6215297094363164846">"IP-adresse"</string>
     <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP-indstillinger"</string>
     <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Gem"</string>
     <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Annuller"</string>
@@ -411,7 +427,7 @@
     <string name="vibrate_summary" msgid="7378130397830790458">"Vibration ved opkald og underretninger"</string>
     <string name="notification_sound_title" msgid="6316316069880531693">"Ringetone for meddelelser"</string>
     <string name="notification_sound_summary" msgid="2953599929394109819"></string>
-    <string name="notification_pulse_title" msgid="1247988024534030629">"Blinkende underretningslys"</string>
+    <string name="notification_pulse_title" msgid="1247988024534030629">"Blinkende meddelelseslys"</string>
     <string name="notification_pulse_summary" msgid="6899220780534617152">"Gentagne lysblink i trackball ved nye meddelelser"</string>
     <string name="incoming_call_volume_title" msgid="8073714801365904099">"Ringetone"</string>
     <string name="notification_volume_title" msgid="2012640760341080408">"Meddelelse"</string>
@@ -427,7 +443,7 @@
     <string name="sound_effects_enable_title" msgid="3197313718929122833">"Lyd ved valg"</string>
     <string name="sound_effects_enable_summary_on" msgid="6154141289879491329">"Afspil lyd, når der foretages et valg på skærmen"</string>
     <string name="sound_effects_enable_summary_off" msgid="3447739581759560125">"Afspil lyd, når der foretages et valg på skærmen"</string>
-    <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Lyde ved skærmlås "</string>
+    <string name="lock_sounds_enable_title" msgid="1575990840389107141">"Lyde ved skærmlås"</string>
     <string name="lock_sounds_enable_summary_on" msgid="145741024028391473">"Afspil lyde, når skærmen låses og låses op"</string>
     <string name="lock_sounds_enable_summary_off" msgid="8481243116223542804">"Afspil lyde, når skærmen låses og låses op"</string>
     <string name="haptic_feedback_enable_title" msgid="6311736559245411290">"Feedback ved berøring"</string>
@@ -496,9 +512,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Status"</string>
     <string name="device_status" msgid="607405385799807324">"Status"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Telefonnummer, signal osv."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"Lagerplads, SD-kort og tlf."</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Indstillinger for lagerplads på SD-kort og telefon"</string>
-    <string name="storage_settings_summary" msgid="9176693537325988610">"Demonter SD-kort, vis ledig lagerplads"</string>
+    <string name="storage_settings" msgid="4211799979832404953">"Lagerplads"</string>
+    <string name="storage_settings_title" msgid="8746016738388094064">"Indstillinger for lager"</string>
+    <string name="storage_settings_summary" product="nosdcard" msgid="3543813623294870759">"Demonter USB-lager, vis ledig lagerplads"</string>
+    <string name="storage_settings_summary" product="default" msgid="9176693537325988610">"Demonter SD-kort, vis ledig lagerplads"</string>
     <string name="status_number" msgid="5123197324870153205">"Mit telefonnummer"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
     <string name="status_prl_version" msgid="8499039751817386529">"PRL-version"</string>
@@ -514,24 +531,36 @@
     <string name="status_unavailable" msgid="7862009036663793314">"Utilgængelig"</string>
     <string name="status_up_time" msgid="7294859476816760399">"Oppetid"</string>
     <string name="status_awake_time" msgid="2393949909051183652">"Opvågningstid"</string>
-    <string name="internal_memory" msgid="1130932766236387454">"Intern lagerplads på telefonen"</string>
-    <string name="sd_memory" msgid="151871913888051515">"SD-kort"</string>
+    <string name="internal_memory" msgid="9129595691484260784">"Internt lager"</string>
+    <string name="sd_memory" product="nosdcard" msgid="2510246194083052841">"USB-lager"</string>
+    <string name="sd_memory" product="default" msgid="151871913888051515">"SD-kort"</string>
     <string name="memory_available" msgid="418542433817289474">"Ledig plads"</string>
     <string name="memory_size" msgid="6629067715017232195">"Plads i alt"</string>
-    <string name="sd_eject" msgid="6915293408836853020">"Demonter SD-kort"</string>
-    <string name="sd_eject_summary" msgid="3315557796211542962">"Demonter SD-kortet til sikker fjernelse"</string>
-    <string name="sd_insert_summary" msgid="2048640010381803841">"Insæt et SD-kort, der skal monteres"</string>
-    <string name="sd_mount" msgid="5940523765187704135">"Montér SD-kort"</string>
-    <string name="sd_mount_summary" msgid="4936591681679097699">"Montér SD-kortet"</string>
-    <string name="sd_format" msgid="5448738337382712203">"Formater SD-kort"</string>
-    <string name="sd_format_summary" msgid="6616491027883134004">"Formater (slet) SD-kortet"</string>
+    <string name="sd_eject" product="default" msgid="6915293408836853020">"Demonter SD-kort"</string>
+    <string name="sd_eject_summary" product="nosdcard" msgid="5009296896648072891">"Demonter det interne USB-lager"</string>
+    <string name="sd_eject_summary" product="default" msgid="3300599435073550246">"Demonter SD-kortet for at fjerne det sikkert"</string>
+    <string name="sd_insert_summary" product="nosdcard" msgid="5264016886409577313">"Isæt USB-lager til mont."</string>
+    <string name="sd_insert_summary" product="default" msgid="2048640010381803841">"Insæt et SD-kort, der skal monteres"</string>
+    <string name="sd_mount" product="nosdcard" msgid="8966695015677343116">"Isæt USB-lager"</string>
+    <string name="sd_mount" product="default" msgid="5940523765187704135">"Montér SD-kort"</string>
+    <!-- outdated translation 6733254203291665551 -->     <string name="sd_mount_summary" product="nosdcard" msgid="1794150364965145726">"Monter det interne USB-lager"</string>
+    <string name="sd_mount_summary" product="default" msgid="4936591681679097699">"Montér SD-kortet"</string>
+    <string name="sd_format" product="nosdcard" msgid="2148179271623099054">"Slet USB-lager"</string>
+    <string name="sd_format" product="default" msgid="2576054280507119870">"Slet SD-kort"</string>
+    <string name="sd_format_summary" product="nosdcard" msgid="1504606546865152514">"Sletter alle data på telefonens interne USB-lager, f.eks. musik og billeder."</string>
+    <string name="sd_format_summary" product="default" msgid="915849621390821841">"Sletter alle data på telefonens SD-kort, f.eks. musik og billeder"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"Utilgængelig"</string>
     <string name="read_only" msgid="6702420168629076340">" (Skrivebeskyttet)"</string>
-    <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Demonter SD-kort"</string>
-    <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Hvis du demonterer SD-kortet, vil nogle af de programmer, som du bruger, stoppe, og de kan være utilgængelige, indtil du monterer SD-kortet igen."</string>
-    <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Demonteringen af SD-kortet mislykkedes"</string>
-    <string name="dlg_error_unmount_text" msgid="9188972789897713180">"SD-kortet kan ikke demonteres. Prøv igen senere. "</string>
-    <string name="unmount_inform_text" msgid="3213378327712151498">"SD-kortet demonteres. Se status i meddelelsesområdet."</string>
+    <string name="dlg_confirm_unmount_title" product="nosdcard" msgid="2349876662428231297">"Demonter USB-lager"</string>
+    <string name="dlg_confirm_unmount_title" product="default" msgid="8612140627310646730">"Demonter SD-kort"</string>
+    <string name="dlg_confirm_unmount_text" product="nosdcard" msgid="3390169455621185223">"Hvis du demonterer USB-lager, vil nogle af de programmer, som du bruger, stoppe, og de kan være utilgængelige, indtil du monterer USB-lager igen."</string>
+    <string name="dlg_confirm_unmount_text" product="default" msgid="5851214273718817727">"Hvis du demonterer SD-kortet, vil nogle af de programmer, som du bruger, stoppe, og de kan være utilgængelige, indtil du monterer SD-kortet igen."</string>
+    <string name="dlg_error_unmount_title" product="nosdcard" msgid="7695491947411836733">"Demontering af USB mislykkedes"</string>
+    <string name="dlg_error_unmount_title" product="default" msgid="4004106918266783081">"Demonteringen af SD-kortet mislykkedes"</string>
+    <string name="dlg_error_unmount_text" product="nosdcard" msgid="1450864147013376592">"USB-lager kan ikke demonteres. Prøv igen senere."</string>
+    <string name="dlg_error_unmount_text" product="default" msgid="9188972789897713180">"SD-kortet kan ikke demonteres. Prøv igen senere."</string>
+    <string name="unmount_inform_text" product="nosdcard" msgid="7120241136790744265">"USB-lager demonteres."</string>
+    <string name="unmount_inform_text" product="default" msgid="1904212716075458402">"SD-kort bliver demonteret."</string>
     <string name="sd_ejecting_title" msgid="8824572198034365468">"Demontering"</string>
     <string name="sd_ejecting_summary" msgid="2028753069184908491">"Demontering i gang"</string>
     <string name="battery_status_title" msgid="9159414319574976203">"Batteristatus"</string>
@@ -571,21 +600,32 @@
     <string name="restore_default_apn_completed" msgid="3990449939234957281">"Nulstillingen af APN-standardindstillinger er afsluttet"</string>
     <string name="master_clear_title" msgid="5907939616087039756">"Gendannelse af fabriksdata"</string>
     <string name="master_clear_summary" msgid="4986154238001088492">"Sletter alle data på telefonen"</string>
-    <string name="master_clear_desc" msgid="7823268823499739178">"Dette sletter alle data fra din telefon, inklusive :"\n<li>"Din Google-konto"</li>\n<li>"System- og programdata samt indstillinger"</li>\n<li>"Downloadede programmer"</li>\n"Det sletter ikke:"\n<li>"Nuværende systemsoftware og programbundter"</li>\n<li>"SD-kortfiler, som f.eks. musik og fotos"</li></string>
+    <string name="master_clear_desc" product="nosdcard" msgid="2163013814299528247">"Dette sletter alle data fra telefonens "<b>"interne lager"</b>", bl.a.:"\n\n<li>"din Google-konto"</li>\n<li>"system- og programdata og -indstillinger"</li>\n<li>"downloadede programmer"</li>\n\n"Slet musik, billeder og andre brugerdata ved også at slette "<b>"USB-lager"</b>"."\n\n</string>
+    <string name="master_clear_desc" product="default" msgid="1741944496458365969">"Dette sletter alle data fra telefonens "<b>"interne lager"</b>", bl.a. :"\n\n<li>"din Google-konto"</li>\n<li>"system- og programdata og -indstillinger"</li>\n<li>"downloadede programmer"</li>\n\n"Slet musik, billeder og andre brugerdata ved også at slette "<b>"SD-kortet"</b>"."\n\n</string>
+    <string name="erase_external_storage" product="nosdcard" msgid="969364037450286809">"Slet USB-lager"</string>
+    <string name="erase_external_storage" product="default" msgid="1397239046334307625">"Slet SD-kort"</string>
+    <string name="erase_external_storage_description" product="nosdcard" msgid="1657838142707381027">"Slet alle data på telefonens interne USB-lager, f.eks. musik og billeder."</string>
+    <string name="erase_external_storage_description" product="default" msgid="8100175974635894073">"Slet alle data på telefonens SD-kort, f.eks. musik og billeder."</string>
     <string name="master_clear_button_text" msgid="7550632653343157971">"Nulstil telefon"</string>
     <string name="master_clear_final_desc" msgid="6917971132484622696">"Slet alle dine personlige oplysninger og downloadede programmer? Denne handlíng kan ikke fortrydes."</string>
     <string name="master_clear_final_button_text" msgid="5390908019019242910">"Slet alt"</string>
     <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Tegn dit oplåsningsmønster"</string>
     <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"Du skal tegne dit oplåsningsmønster for at bekræfte, at telefonen nulstilles."</string>
     <string name="master_clear_failed" msgid="8655202125010189406">"Der blev ikke foretaget nogen nulstilling, fordi tjenesten Systemoprydning ikke er tilgængelig."</string>
-    <string name="media_format_title" msgid="4671276096695789895">"Formater SD-kort."</string>
-    <string name="media_format_summary" msgid="3805714639375830120">"Sletter alle data på SD-kortet"</string>
-    <string name="media_format_desc" msgid="1142563222357820834">"Denne handling rydder det SD-kort, der sidder i telefonen. Du mister ALLE data på kortet!"</string>
-    <string name="media_format_button_text" msgid="370856400090190151">"Formater SD-kort"</string>
-    <string name="media_format_final_desc" msgid="1776666694910717198">"Vil du formatere dit SD-kort og slette alle dine medier? Handlingen kan ikke annulleres."</string>
+    <string name="media_format_title" product="nosdcard" msgid="3999653431422767156">"Slet USB-lager"</string>
+    <string name="media_format_title" product="default" msgid="4427528440306787972">"Slet SD-kort"</string>
+    <string name="media_format_summary" product="nosdcard" msgid="776603298628082065">"Sletter alle data i USB-lager"</string>
+    <string name="media_format_summary" product="default" msgid="3805714639375830120">"Sletter alle data på SD-kortet"</string>
+    <string name="media_format_desc" product="nosdcard" msgid="4553860683952763905">"Denne handling sletter USB-lager. Du mister "<b>"alle"</b>" data!"</string>
+    <string name="media_format_desc" product="default" msgid="1598627584181935513">"Denne handling rydder SD-kortet. Du mister "<b>"alle"</b>" data på kortet!"</string>
+    <string name="media_format_button_text" product="nosdcard" msgid="6293669371185352810">"Slet USB-lager"</string>
+    <string name="media_format_button_text" product="default" msgid="6721544380069373626">"Slet SD-kort"</string>
+    <string name="media_format_final_desc" product="nosdcard" msgid="8094635533378487255">"Vil du slette USB-lager og alle filer, som er gemt der? Handlingen kan ikke fortrydes!"</string>
+    <string name="media_format_final_desc" product="default" msgid="9015504991522581434">"Vil du slette SD-kort og alle filer, som er gemt der? Handlingen kan ikke fortrydes!"</string>
     <string name="media_format_final_button_text" msgid="4881713344315923175">"Slet alt"</string>
     <string name="media_format_gesture_prompt" msgid="3109349468816856670">"Tegn dit oplåsningsmønster"</string>
-    <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Du skal tegne dit oplåsningsmønster for at bekræfte et SD-kortformat."</string>
+    <string name="media_format_gesture_explanation" product="nosdcard" msgid="1379736318750958338">"Du skal tegne dit oplåsningsmønster for at bekræfte, at du vil slette USB-lager."</string>
+    <string name="media_format_gesture_explanation" product="default" msgid="1681213416497647321">"Du skal tegne dit oplåsningsmønster for at bekræfte, at du vil slette SD-kortet."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Indstillinger for opkald"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Opsæt voicemail, viderestilling af opkald, ventende opkald, opkalds-id"</string>
     <string name="tether_settings_title_usb" msgid="4315031513434087777">"Tethering"</string>
@@ -609,7 +649,7 @@
     <string name="location_networks_disabled" msgid="2708968452901433980">"Se placering i programmer (som f.eks. Maps) ved hjælp af trådløse netværk"</string>
     <string name="location_neighborhood_level" msgid="4656658097932515921">"Placering afgøres af Wi-Fi og/eller mobilnetværk"</string>
     <string name="location_gps" msgid="6296125378829097831">"Brug GPS-satellitter"</string>
-    <string name="location_street_level" msgid="6460740847018275745">"Præcis placering på gadeplan (slå fra for at spare på batteriet)"</string>
+    <string name="location_street_level" msgid="7456259025474443314">"Præcis placering på gadeplan"</string>
     <string name="location_gps_disabled" msgid="6632537158777308128">"Placering på gadeplan (mere batterikrævende, skal bruges i det fri)"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"Brug assisteret GPS"</string>
     <string name="assisted_gps_enabled" msgid="8751899609589792803">"Brug serveren til at assistere GPS (fjern markering for at mindske netværksforbrug)"</string>
@@ -692,22 +732,31 @@
     <string name="application_size_label" msgid="5055196275624686382">"Program"</string>
     <string name="data_size_label" msgid="8679376373625710107">"Data"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Afinstaller"</string>
+    <string name="disable_text" msgid="6544054052049395202">"Deaktiver"</string>
+    <string name="enable_text" msgid="9217362512327828987">"Aktiver"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Ryd data"</string>
     <string name="app_factory_reset" msgid="6635744722502563022">"Afinstaller opdateringer"</string>
     <string name="auto_launch_enable_text" msgid="2630656657744196691">"Du har valgt at starte dette program som standard for nogle handlinger."</string>
     <string name="auto_launch_disable_text" msgid="7800385822185540166">"Der er ikke angivet nogen standarder."</string>
     <string name="clear_activities" msgid="7408923511535174430">"Ryd standarder"</string>
     <string name="unknown" msgid="1592123443519355854">"Ukendte"</string>
-    <string name="sort_order_alpha" msgid="8622029358896599842">"Sorter"</string>
+    <string name="sort_order_alpha" msgid="1410278099123670628">"Sorter efter navn"</string>
     <string name="sort_order_size" msgid="7024513286636502362">"Sorter efter størrelse"</string>
+    <string name="show_running_services" msgid="5736278767975544570">"Vis kørende tjenester"</string>
+    <string name="show_background_processes" msgid="2009840211972293429">"Cachelagrede processer"</string>
     <string name="manage_space_text" msgid="8852711522447794676">"Administrer plads"</string>
     <string name="filter" msgid="2018011724373033887">"Filter"</string>
     <string name="filter_dlg_title" msgid="6507663329723966854">"Vælg indstillinger for filtret"</string>
     <string name="filter_apps_all" msgid="5142129378749391876">"Alle"</string>
     <string name="filter_apps_third_party" msgid="7786348047690140979">"Overført"</string>
     <string name="filter_apps_running" msgid="7767071454371350486">"Kørende"</string>
-    <string name="filter_apps_onsdcard" msgid="1477351142334784771">"På SD-kort"</string>
-    <string name="loading" msgid="3200408047793887917">"Indlæser ..."</string>
+    <string name="filter_apps_onsdcard" product="nosdcard" msgid="4843063154701023349">"USB-lager"</string>
+    <string name="filter_apps_onsdcard" product="default" msgid="1477351142334784771">"På SD-kort"</string>
+    <string name="disabled" msgid="9206776641295849915">"Deaktiveret"</string>
+    <string name="no_applications" msgid="5190227407135243904">"Ingen programmer."</string>
+    <string name="internal_storage" msgid="1584700623164275282">"Internt lager"</string>
+    <string name="sd_card_storage" product="nosdcard" msgid="2673203150465132465">"USB-lager"</string>
+    <string name="sd_card_storage" product="default" msgid="7623513618171928235">"SD-kortlager"</string>
     <string name="recompute_size" msgid="7722567982831691718">"Beregner størrelse igen ..."</string>
     <string name="clear_data_dlg_title" msgid="4470209520936375508">"Slet"</string>
     <string name="clear_data_dlg_text" msgid="8368035073300828451">"Alle dette programs data slettes permanent. Det omfatter alle filer, indstillinger, konti, databaser osv."</string>
@@ -727,7 +776,8 @@
     <string name="version_text" msgid="9189073826278676425">"version <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5042838441401731346">"Flyt"</string>
     <string name="move_app_to_internal" msgid="3895430471913858185">"Flyt til telefon"</string>
-    <string name="move_app_to_sdcard" msgid="1143379049903056407">"Flyt til SD-kort"</string>
+    <string name="move_app_to_sdcard" product="nosdcard" msgid="4350451696315265420">"Flyt til USB-lager"</string>
+    <string name="move_app_to_sdcard" product="default" msgid="1143379049903056407">"Flyt til SD-kort"</string>
     <string name="moving" msgid="6431016143218876491">"Flytter"</string>
     <string name="insufficient_storage" msgid="8566913062094452962">"Der er ikke nok lagerplads tilbage."</string>
     <string name="does_not_exist" msgid="837163572898468245">"Programmet eksisterer ikke."</string>
@@ -735,29 +785,49 @@
     <string name="invalid_location" msgid="4934491353200240499">"Den angivne sti til installation er ikke gyldig."</string>
     <string name="system_package" msgid="1030561474413022831">"Systemopdateringerne kan ikke installeres på eksterne medier."</string>
     <string name="force_stop_dlg_title" msgid="4289453224368188476">"Tving til at standse"</string>
-    <string name="force_stop_dlg_text" msgid="3381302041569982075">"Dette program bliver genstartet med det samme. Er du sikker på, at du vil tvangsstandse?"</string>
+    <string name="force_stop_dlg_text" msgid="5157374701213502922">"At tvinge et program til at stoppe kan medføre, at det ikke fungerer korrekt. Er du sikker?"</string>
     <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Flyt program"</string>
     <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Programmet kunne ikke flyttes. <xliff:g id="REASON">%1$s</xliff:g>"</string>
     <string name="app_install_location_title" msgid="2068975150026852168">"Foretrukken installationsplacering"</string>
     <string name="app_install_location_summary" msgid="879753854530300436">"Skift den foretrukne installationsplacering for nye programmer."</string>
+    <string name="storageuse_settings_title" msgid="5657014373502630403">"Lagerforbrug"</string>
+    <string name="storageuse_settings_summary" msgid="2556057379120846792">"Vis lagerplads, der bruges af programmer"</string>
     <string name="runningservices_settings_title" msgid="8097287939865165213">"Kørende tjenester"</string>
     <string name="runningservices_settings_summary" msgid="854608995821032748">"Vis og kontroller kørende tjenester"</string>
     <string name="service_restarting" msgid="2242747937372354306">"Genstarter"</string>
-    <string name="no_running_services" msgid="6981216347270280598">"Der er ingen kørende tjenester"</string>
-    <string name="confirm_stop_service" msgid="5700448757318301681">"Stop tjeneste?"</string>
-    <string name="confirm_stop_service_msg" msgid="1166661293369421272">"Denne tjeneste kører ikke, før den startes igen. Det kan have uønskede konsekvenser for programmet <xliff:g id="APPLICATION">%1$s</xliff:g>."</string>
-    <string name="confirm_stop_stop" msgid="7382363913280993331">"Stop"</string>
-    <string name="confirm_stop_cancel" msgid="206495326622692381">"Annuller"</string>
-    <string name="service_started_by_app" msgid="8432097226392386802">"Startet af program: tryk for at stoppe"</string>
-    <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: tryk for at administrere"</string>
-    <string name="service_background_processes" msgid="5158600475629177758">"Ledig: <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g> i <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_foreground_processes" msgid="4013890350284680796">"Andre: <xliff:g id="MEMORY">%2$s</xliff:g> i <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_process_name" msgid="8630408984456958400">"Proces: <xliff:g id="PROCESS">%1$s</xliff:g>"</string>
+    <string name="cached" msgid="1059590879740175019">"Cachelagret baggrundsproces"</string>
+    <string name="no_running_services" msgid="2059536495597645347">"Intet kører."</string>
+    <string name="service_started_by_app" msgid="6575184738671598131">"Startet af program."</string>
+    <!-- no translation found for service_client_name (4037193625611815517) -->
+    <skip />
+    <string name="service_background_processes" msgid="6844156253576174488">"<xliff:g id="MEMORY">%1$s</xliff:g> ledig"</string>
+    <string name="service_foreground_processes" msgid="7583975676795574276">"<xliff:g id="MEMORY">%1$s</xliff:g> brugt"</string>
+    <string name="memory" msgid="6609961111091483458">"RAM"</string>
+    <!-- no translation found for service_process_name (4098932168654826656) -->
+    <skip />
+    <string name="running_processes_item_description_s_s" msgid="5790575965282023145">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> proces og <xliff:g id="NUMSERVICES">%2$d</xliff:g> tjeneste"</string>
+    <string name="running_processes_item_description_s_p" msgid="8019860457123222953">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> proces og <xliff:g id="NUMSERVICES">%2$d</xliff:g> tjenester"</string>
+    <string name="running_processes_item_description_p_s" msgid="744424668287252915">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processer og <xliff:g id="NUMSERVICES">%2$d</xliff:g> tjeneste"</string>
+    <string name="running_processes_item_description_p_p" msgid="1607384595790852782">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processer og <xliff:g id="NUMSERVICES">%2$d</xliff:g> tjenester"</string>
+    <string name="runningservicedetails_settings_title" msgid="6188692418986988288">"Program i gang"</string>
+    <string name="no_services" msgid="7133900764462288263">"Ikke aktiv"</string>
+    <string name="runningservicedetails_services_title" msgid="391168243725357375">"Tjenester"</string>
+    <string name="runningservicedetails_processes_title" msgid="928115582044655268">"Processer"</string>
+    <string name="service_stop" msgid="6369807553277527248">"Stop"</string>
+    <string name="service_manage" msgid="1876642087421959194">"Indstillinger"</string>
+    <string name="service_stop_description" msgid="3261798282116866961">"Denne tjeneste er startet af dens program. Hvis du stopper den, mislykkes programmet."</string>
+    <string name="heavy_weight_stop_description" msgid="6855241582643136019">"Dette program kan ikke stoppes på en sikker måde. Det kan slette noget af dit seneste arbejde."</string>
+    <string name="background_process_stop_description" msgid="1728354083304746737">"Dette er en gammel programproces, der beholdes for større hastighed, hvis der bliver brug for den igen. Der er normalt ingen grund til at stoppe den."</string>
+    <string name="service_manage_description" msgid="7050092269951613102">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: aktuelt i brug. Tryk på Indstillinger for at håndtere."</string>
+    <string name="main_running_process_description" msgid="929204645380391397">"Den hovedproces, der er i brug."</string>
+    <string name="process_service_in_use_description" msgid="8993335064403217080">"Tjenesten <xliff:g id="COMP_NAME">%1$s</xliff:g> er i brug."</string>
+    <string name="process_provider_in_use_description" msgid="5586603325677678940">"Udbyderen <xliff:g id="COMP_NAME">%1$s</xliff:g> er i brug."</string>
+    <string name="runningservicedetails_stop_dlg_title" msgid="4253292537154337233">"Stop systemtjeneste?"</string>
+    <string name="runningservicedetails_stop_dlg_text" msgid="6929716497425738387">"Er du sikker på, at du vil stoppe denne systemtjeneste? Hvis du gør, kan nogle af funktionerne på din telefon holde op med at fungere korrekt, indtil du slukker og tænder igen."</string>
     <string name="language_settings" msgid="502219872342167227">"Sprog og tastatur"</string>
     <string name="language_keyboard_settings_title" msgid="3455826933385341107">"Indstillinger for sprog og tastatur"</string>
-    <string name="language_settings_summary" msgid="595647729475399987">"Angiv landestandard (sprog og område), tekstinput…"</string>
-    <string name="language_category" msgid="3391756582724541530">"Indstilling af landestandard"</string>
-    <string name="text_category" msgid="6342540511465136739">"Indstillinger for tekst"</string>
+    <string name="language_settings_category" msgid="2288258489940617043">"Sprogindstillinger"</string>
+    <string name="keyboard_settings_category" msgid="7060453865544070642">"Indstillinger for tastatur"</string>
     <string name="phone_language" msgid="1165758957501090679">"Vælg sprog"</string>
     <string name="phone_language_summary" msgid="3871309445655554211"></string>
     <string name="auto_replace" msgid="6199184757891937822">"Automatisk erstatning"</string>
@@ -782,7 +852,6 @@
     <string name="testing" msgid="6584352735303604146">"Tester"</string>
     <string name="testing_phone_info" msgid="8656693364332840056">"Telefonoplysninger"</string>
     <string name="testing_battery_info" msgid="3497865525976497848">"Batterioplysninger"</string>
-    <string name="testing_battery_history" msgid="3043329445810695647">"Batterioversigt"</string>
     <string name="quick_launch_title" msgid="7904609846945905306">"Hurtig start"</string>
     <string name="quick_launch_summary" msgid="3453825712466417452">"Angiv tastaturgenveje til start af programmer"</string>
     <string name="quick_launch_assign_application" msgid="4521368464929956350">"Tildel program"</string>
@@ -798,8 +867,8 @@
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Administrer valgmuligheder for tekstinput"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"<xliff:g id="IME_NAME">%1$s</xliff:g>-indstillinger"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Indstillinger for skærmens tastatur"</string>
-    <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"Enhedens tastatur"</string>
-    <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"Indstillinger for indbygget tastatur"</string>
+    <string name="builtin_keyboard_settings_title" msgid="5274990495405941804">"Indbygget tastatur"</string>
+    <string name="builtin_keyboard_settings_summary" msgid="7990296351888096836">"Indstillinger for indbygget fysisk tastatur"</string>
     <string name="development_settings_title" msgid="6719732334835420989">"Udvikling"</string>
     <string name="development_settings_summary" msgid="2151320488701538355">"Angiv indstillinger for programudvikling"</string>
     <string name="enable_adb" msgid="7982306934419797485">"USB-fejlretning"</string>
@@ -812,36 +881,10 @@
     <string name="adb_warning_message" msgid="5352555112049663033">"USB-fejlretning er kun beregnet til udvikling og kan bruges til at kopiere data mellem din computer og enheden, installere programmer på enheden uden meddelelser og læse logdata."</string>
     <string name="gadget_picker_title" msgid="98374951396755811">"Vælg gadget"</string>
     <string name="widget_picker_title" msgid="9130684134213467557">"Vælg widget"</string>
-    <string name="battery_history_details_for" msgid="5924639922153109669">"Detaljer for UID <xliff:g id="NUMBER">%d</xliff:g>"</string>
-    <string name="battery_history_uid" msgid="1016606150528436298">"UID <xliff:g id="USER_ID">%1$d</xliff:g>"</string>
-    <string name="battery_history_network_usage" msgid="8010852371665217020">"Netværksbrugsdetaljer for <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_bytes_received" msgid="980307569180518302">"Modtagne bytes: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_sent" msgid="2501748768602119159">"Sendte bytes: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_total" msgid="4444807574361642753">"Bytes i alt: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_cpu_usage" msgid="2597353713014790877">"CPU-brugsdetaljer for <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_user_time" msgid="6227507614894791359">"Brugertid:"</string>
-    <string name="battery_history_system_time" msgid="2015862072724507547">"Systemtid:"</string>
-    <string name="battery_history_total_time" msgid="3618703970098556104">"Tid i alt:"</string>
-    <string name="battery_history_starts" msgid="9137453931978571696">"Start: <xliff:g id="STARTS">%1$d</xliff:g>"</string>
     <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g>d <xliff:g id="HOURS">%2$d</xliff:g>t <xliff:g id="MINUTES">%3$d</xliff:g>m <xliff:g id="SECONDS">%4$d</xliff:g>s"</string>
     <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g>t <xliff:g id="MINUTES">%2$d</xliff:g>m <xliff:g id="SECONDS">%3$d</xliff:g>s"</string>
     <string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g>m <xliff:g id="SECONDS">%2$d</xliff:g>s"</string>
     <string name="battery_history_seconds" msgid="4283492130945761685">"<xliff:g id="SECONDS">%1$d</xliff:g>S"</string>
-    <string name="battery_history_packages_sharing_this_uid" msgid="4101596071379250050">"Pakker, der deler denne UID:"</string>
-    <string name="battery_history_no_data" msgid="1177238743237067617">"Der er ingen tilgængelige batteribrugsdata"</string>
-    <string name="battery_history_sensor" msgid="2333488996028993982">"Sensor:"</string>
-    <string name="battery_history_wakelock" msgid="608683447522396293">"Delvis Wakelock:"</string>
-    <string name="battery_history_used_by_packages" msgid="3000711380023436470">"Sensor brugt af pakker:"</string>
-    <string name="battery_history_sensor_usage" msgid="3593133338613209024">"Brugt <xliff:g id="COUNT">%1$d</xliff:g> gange af <xliff:g id="PACKAGE">%2$s</xliff:g>"</string>
-    <string name="battery_history_sensor_usage_multi" msgid="4536084375991014508">"Brugt <xliff:g id="COUNT">%1$d</xliff:g> gange af en af:"</string>
-    <string name="battery_history_awake_label" msgid="8449792868990080882">"Kørende"</string>
-    <string name="battery_history_screen_on_label" msgid="1848936521786339362">"Skærm til"</string>
-    <string name="battery_history_phone_on_label" msgid="700191958853142297">"Telefon til"</string>
-    <string name="battery_history_awake" msgid="4350886665719031057">"Tid brugt uden dvale:"</string>
-    <string name="battery_history_screen_on" msgid="1377240025275657277">"Tid brugt med skærmen tændt:"</string>
-    <string name="battery_history_phone_on" msgid="4891504401623839532">"Tid brugt med telefonen tændt:"</string>
-    <string name="battery_history_screen_on_battery" msgid="536058210445081888">"På batteri:"</string>
-    <string name="battery_history_screen_on_plugged" msgid="5019127390021871260">"Tilsluttet:"</string>
     <string name="usage_stats_label" msgid="5890846333487083609">"Brugerstatistikker"</string>
     <string name="testing_usage_stats" msgid="7823048598893937339">"Brugerstatistikker"</string>
     <string name="display_order_text" msgid="8592776965827565271">"Sorter efter:"</string>
@@ -865,12 +908,19 @@
     <string name="power_usage_summary" msgid="7237084831082848168">"Hvad der har brugt batteriet"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Batteriforbrug siden afbrydelse"</string>
     <string name="battery_since_reset" msgid="7464546661121187045">"Batteriforbrug siden nulstilling"</string>
+    <string name="battery_stats_on_battery" msgid="4970762168505236033">"<xliff:g id="TIME">%1$s</xliff:g> på batteri"</string>
     <string name="battery_stats_duration" msgid="7464501326709469282">"<xliff:g id="TIME">%1$s</xliff:g> siden afbrydelse"</string>
+    <string name="battery_stats_charging_label" msgid="4223311142875178785">"Oplader"</string>
+    <string name="battery_stats_screen_on_label" msgid="7150221809877509708">"Skærm til"</string>
+    <string name="battery_stats_gps_on_label" msgid="1193657533641951256">"GPS slået til"</string>
+    <string name="battery_stats_wifi_running_label" msgid="3093545080361658269">"Wi-Fi"</string>
+    <string name="battery_stats_wake_lock_label" msgid="1908942681902324095">"Aktiv"</string>
+    <string name="battery_stats_phone_signal_label" msgid="6822042940376636775">"Telefonsignal"</string>
     <!-- no translation found for battery_stats_last_duration (1535831453827905957) -->
     <skip />
     <string name="awake" msgid="387122265874485088">"Enhedens opvågningstid"</string>
-    <string name="wifi_on_time" msgid="4630925382578609056">"Wi-Fi til tiden"</string>
-    <string name="bluetooth_on_time" msgid="4478515071957280711">"Wi-Fi til tiden"</string>
+    <string name="wifi_on_time" msgid="6310209835617490616">"Wi-Fi til tiden"</string>
+    <string name="bluetooth_on_time" msgid="6157799524996162271">"Wi-Fi til tiden"</string>
     <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g> -  <xliff:g id="NUMBER">%2$s</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
     <string name="details_title" msgid="7564809986329021063">"Oplysninger om batteriforbrug"</string>
     <string name="details_subtitle" msgid="32593908269911734">"Brugsdetaljer"</string>
@@ -884,7 +934,9 @@
     <string name="power_idle" msgid="9055659695602194990">"Telefonen er ikke aktiv"</string>
     <string name="usage_type_cpu" msgid="715162150698338714">"CPU i alt"</string>
     <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"CPU forgrund"</string>
+    <string name="usage_type_wake_lock" msgid="5125438890233677880">"Hold aktiv"</string>
     <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string>
+    <string name="usage_type_wifi_running" msgid="8234997940652067049">"Wi-Fi aktiv"</string>
     <string name="usage_type_phone" msgid="9108247984998041853">"Telefon"</string>
     <string name="usage_type_data_send" msgid="2857401966985425427">"Data sendt"</string>
     <string name="usage_type_data_recv" msgid="7251090882025234185">"Data modtaget"</string>
@@ -896,7 +948,7 @@
     <string name="battery_action_app_details" msgid="3275013531871113681">"Programoplysninger"</string>
     <string name="battery_action_app_settings" msgid="350562653472577250">"Indstillinger for programmer"</string>
     <string name="battery_action_display" msgid="5302763261448580102">"Indstillinger for visning"</string>
-    <string name="battery_action_wifi" msgid="5452076674659927993">"Indstillinger for Wi-Fi"</string>
+    <string name="battery_action_wifi" msgid="2272741639606146903">"Indstillinger for Wi-Fi"</string>
     <string name="battery_action_bluetooth" msgid="8374789049507723142">"Indstillinger for Bluetooth"</string>
     <string name="battery_desc_voice" msgid="8980322055722959211">"Batteri brugt af stemmeopkald"</string>
     <string name="battery_desc_standby" msgid="3009080001948091424">"Batteri brugt, når telefon ikke er aktiv"</string>
@@ -909,9 +961,9 @@
     <string name="battery_desc_bluetooth" msgid="7535520658674621902">"Batteri brugt af Bluetooth"</string>
     <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"Slå Bluetooth fra, når du ikke bruger det"</string>
     <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"Prøv at oprette forbindelse til en anden Bluetooth-enhed"</string>
-    <string name="battery_desc_apps" msgid="8123202939321333639">"Batteri brugt af programmer, når de kører"</string>
+    <string name="battery_desc_apps" msgid="6665712811746233450">"Batteri brugt af program"</string>
     <string name="battery_sugg_apps_info" msgid="6065882899391322442">"Stop eller afinstaller programmet"</string>
-    <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"Slå GPS fra, når den ikke bruges"</string>
+    <string name="battery_sugg_apps_gps" msgid="4545056413090932541">"Administrer GPS manuelt for at forhindre programmet i at bruge den"</string>
     <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"Dette program har muligvis indstillinger, der kan mindske batteriforbruget"</string>
     <string name="menu_stats_unplugged" msgid="8296577130840261624">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> siden afbrydelse"</string>
     <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"Siden sidste afbrydelse for <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
@@ -961,6 +1013,8 @@
     <string name="pico_not_installed" msgid="6266845418419994311">"Ikke installeret"</string>
     <string name="pico_voice_summary_female" msgid="8047327176247727492">"Kvinde"</string>
     <string name="pico_voice_summary_male" msgid="8331266854058577610">"Mand"</string>
+    <string name="tts_notif_engine_install_title" msgid="7000346872482649034">"Talesyntesemaskine er installeret"</string>
+    <string name="tts_notif_engine_install_message" msgid="5304661142202662693">"Aktiver ny maskine før brug"</string>
     <string name="gadget_title" msgid="7455548605888590466">"Strømkontrol"</string>
     <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Opdaterer indstillinger for Wi-Fi"</string>
     <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Opdaterer Bluetooth-indstilling"</string>
@@ -1047,8 +1101,10 @@
     <string name="credentials_access_summary" msgid="319662078718574168">"Giv programmer adgang til sikre certifikater og andre oplysninger"</string>
     <string name="credentials_unlock" msgid="1463040326264133844">"Indtast adgangskode"</string>
     <string name="credentials_unlock_hint" msgid="594679530407918031">"Indtast adgangskoden til oplysningslagringen."</string>
-    <string name="credentials_install_certificates" msgid="177337517568022236">"Installer fra SD-kort"</string>
-    <string name="credentials_install_certificates_summary" msgid="7737001268684193093">"Installer krypterede certifikater fra SD-kortet"</string>
+    <string name="credentials_install_certificates" product="nosdcard" msgid="619171634797689906">"Installer fra USB-lager"</string>
+    <string name="credentials_install_certificates" product="default" msgid="177337517568022236">"Installer fra SD-kort"</string>
+    <string name="credentials_install_certificates_summary" product="nosdcard" msgid="8920330112631198575">"Installer krypt. cert. fra USB"</string>
+    <string name="credentials_install_certificates_summary" product="default" msgid="7737001268684193093">"Installer krypterede certifikater fra SD-kortet"</string>
     <string name="credentials_set_password" msgid="9104473585811899989">"Angiv adgangskode"</string>
     <string name="credentials_set_password_summary" msgid="8287876917562085701">"Angiv eller skift adgangskode til oplysningslagringen"</string>
     <string name="credentials_reset" msgid="9170150870552453457">"Ryd lager"</string>
@@ -1068,6 +1124,16 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Oplysningslagringen er slettet."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Oplysningslagring er aktiveret."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Oplysningslagring er deaktiveret."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Krypteret filsystem"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Krypter private brugerdata"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Aktiver krypteret filsystemlager for private brugerdata på denne enhed"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Aktivering af krypterede filsystemer kræver en enhedsdatasletter."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Deaktivering af krypterede filsystemer kræver en enhedsdatasletter."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Aktivér"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Deaktiver"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Annuller"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Ændring af tilstand for krypterede filsystemer blev anulleret."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Advarsel for krypterede filsystemer."</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Nødtone"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Angiv adfærd ved nødopkald"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Fortrolighed"</string>
@@ -1075,11 +1141,11 @@
     <string name="backup_section_title" msgid="8856083167469467588">"Sikkerhedskopiering og gendannelse"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Personlige oplysninger"</string>
     <string name="backup_data_title" msgid="1239105919852668016">"Sikkerhedskopier mine data"</string>
-    <string name="backup_data_summary" msgid="5662190190240860035">"Sikkerhedskopier mine indstillinger og andre programdata."</string>
+    <string name="backup_data_summary" msgid="6515285107793232815">"Sikkerhedskopier programdata, Wi-Fi-adgangskoder og andre indstillinger på Googles servere"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Automatisk gendannelse"</string>
-    <string name="auto_restore_summary" msgid="6867766474057290177">"Hvis jeg geninstallerer et program, skal sikkerhedskopierede indstillinger eller andre data gendannes."</string>
+    <string name="auto_restore_summary" msgid="83177150536734378">"Hvis jeg geninstallerer et program, skal sikkerhedskopierede indstillinger eller andre data gendannes"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Sikkerhedskopi"</string>
-    <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Er du sikker på, at du vil holde op med at sikkerhedskopiere dine indstillinger og programdata og slette alle kopier på Googles servere?"</string>
+    <string name="backup_erase_dialog_message" msgid="7766283133557587608">"Er du sikker på, at du vil afbryde sikkerhedskopieringen af dine Wi-Fi-adgangskoder, bogmærker og andre indstillinger og slette alle kopier på Googles servere?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Enhedsadministrationsindstillinger"</string>
     <string name="active_device_admin_msg" msgid="6930903262612422111">"Enhedsadministrator"</string>
     <string name="remove_device_admin" msgid="3596845261596451437">"Deaktiver"</string>
diff --git a/res/values-de/arrays.xml b/res/values-de/arrays.xml
index b8e9fc0..a72b6c7 100644
--- a/res/values-de/arrays.xml
+++ b/res/values-de/arrays.xml
@@ -115,19 +115,6 @@
     <item msgid="1549288661423279207">"Niemals, wenn im Netzbetrieb"</item>
     <item msgid="1986753720941888596">"Niemals"</item>
   </string-array>
-  <string-array name="battery_history_type_spinner">
-    <item msgid="2193799199027871385">"CPU-Verwendung"</item>
-    <item msgid="6401018715947316517">"Netzwerknutzung"</item>
-    <item msgid="188092590354892392">"GPS-Verwendung"</item>
-    <item msgid="8414109131222049141">"Sensornutzung"</item>
-    <item msgid="1327904325081257093">"Verwendung im Teilwachzustand"</item>
-    <item msgid="4832254146664706277">"Andere Verwendung"</item>
-  </string-array>
-  <string-array name="battery_history_which_spinner">
-    <item msgid="3451981114763440074">"Seit dem letzten Ausstecken"</item>
-    <item msgid="166936313535197598">"Seit Start insgesamt"</item>
-    <item msgid="4793941382744963893">"Insgesamt in Gesamtzeit"</item>
-  </string-array>
   <string-array name="usage_stats_display_order_types">
     <item msgid="9077371706468756228">"Nutzungszeit"</item>
     <item msgid="1908750532762193304">"Startzähler"</item>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 28fe013..aab006d 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -45,13 +45,16 @@
     <string name="radioInfo_display_asu" msgid="1422248392727818082">"ASU"</string>
     <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string>
     <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string>
-    <string name="sdcard_unmount" msgid="3364184561355611897">"SD-Karte entnehmen"</string>
-    <string name="sdcard_format" msgid="362497552060004057">"SD-Karte formatieren"</string>
+    <string name="sdcard_unmount" product="nosdcard" msgid="6325292633327972272">"USB-Speicher trennen"</string>
+    <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD-Karte entnehmen"</string>
+    <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB-Speicher löschen"</string>
+    <string name="sdcard_format" product="default" msgid="6713185532039187532">"SD-Karte löschen"</string>
     <string name="small_font" msgid="2295331917424072635">"Klein"</string>
     <string name="medium_font" msgid="2068475425515133701">"Mittel"</string>
     <string name="large_font" msgid="599055175160971446">"Groß"</string>
     <string name="font_size_save" msgid="3450855718056759095">"OK"</string>
-    <string name="sdcard_setting" msgid="5922637503871474866">"SD-Karte"</string>
+    <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB-Speicher"</string>
+    <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD-Karte"</string>
     <string name="battery_info_status_label" msgid="8109155295509700309">"Akkustatus:"</string>
     <string name="battery_info_power_label" msgid="7465140230991349382">"Stromanschluss:"</string>
     <string name="battery_info_scale_label" msgid="3649763192389778437">"Akkuanzeige:"</string>
@@ -180,27 +183,34 @@
     <string name="sdcard_changes_instructions" msgid="1364712901180556244">"Die Änderungen werden nach dem erneuten Anschließen des USB-Kabels übernommen."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"USB-Massenspeicher aktivieren"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"Bytes insgesamt:"</string>
-    <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"Keine SD-Karte"</string>
+    <string name="sdcard_settings_not_present_status" product="nosdcard" msgid="2902787003418172125">"USB-Speicher nicht bereitgest."</string>
+    <string name="sdcard_settings_not_present_status" product="default" msgid="6666688653496819947">"Keine SD-Karte"</string>
     <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"Verfügbare Bytes:"</string>
-    <string name="sdcard_settings_mass_storage_status" msgid="4786433969313661655">"SD-Karte wird als Massenspeichergerät verwendet"</string>
-    <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"Die SD-Karte kann jetzt entfernt werden."</string>
-    <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"Die SD-Karte wurde während der Verwendung entfernt!"</string>
+    <string name="sdcard_settings_mass_storage_status" product="nosdcard" msgid="2736378870889777857">"USB-Speicher wird als Massenspeicher verwendet"</string>
+    <string name="sdcard_settings_mass_storage_status" product="default" msgid="4786433969313661655">"SD-Karte wird als Massenspeichergerät verwendet"</string>
+    <string name="sdcard_settings_unmounted_status" product="nosdcard" msgid="7503300818792750913">"USB-Speicher kann nun entfernt werden"</string>
+    <string name="sdcard_settings_unmounted_status" product="default" msgid="3812022095683863087">"Die SD-Karte kann jetzt entfernt werden."</string>
+    <string name="sdcard_settings_bad_removal_status" product="nosdcard" msgid="7761390725880773697">"USB-Speicher wurde während Verw. entfernt."</string>
+    <string name="sdcard_settings_bad_removal_status" product="default" msgid="5145797653495907970">"Die SD-Karte wurde während der Verwendung entfernt!"</string>
     <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"Verwendete Bytes:"</string>
-    <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"SD-Karte wird auf Medien gescannt..."</string>
-    <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"SD-Karte schreibgeschützt aktiviert"</string>
+    <string name="sdcard_settings_scanning_status" product="nosdcard" msgid="7503429447676219564">"USB-Sp. auf Medien scannen"</string>
+    <string name="sdcard_settings_scanning_status" product="default" msgid="2763464949274455656">"SD-Karte wird auf Medien gescannt..."</string>
+    <string name="sdcard_settings_read_only_status" product="nosdcard" msgid="3771783090621312312">"USB-Speicher schreibgeschützt"</string>
+    <string name="sdcard_settings_read_only_status" product="default" msgid="5706115860484118911">"SD-Karte schreibgeschützt aktiviert"</string>
     <string name="next_label" msgid="4693520878012668114">"Weiter"</string>
     <string name="language_picker_title" msgid="4034157617842965844">"Sprache"</string>
     <string name="select_your_language" msgid="1146235168951906084">"Sprache auswählen"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Aktion auswählen"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Geräteinfo"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Akkuinfo"</string>
-    <string name="battery_history_label" msgid="8242244969757414501">"Akkuprotokoll"</string>
     <string name="display_label" msgid="7403874003169865762">"Display"</string>
     <string name="phone_info_label" msgid="2127552523124277664">"Telefoninfo"</string>
-    <string name="sd_card_settings_label" msgid="5743100901106177102">"SD-Karte"</string>
+    <string name="sd_card_settings_label" product="nosdcard" msgid="8101475181301178428">"USB-Speicher"</string>
+    <string name="sd_card_settings_label" product="default" msgid="5743100901106177102">"SD-Karte"</string>
     <string name="proxy_settings_label" msgid="3271174136184391743">"Proxy-Einstellungen"</string>
     <string name="cancel" msgid="6859253417269739139">"Abbrechen"</string>
     <string name="settings_label" msgid="1626402585530130914">"Einstellungen"</string>
+    <string name="settings_label_launcher" msgid="8344735489639482340">"Ein- stellungen"</string>
     <string name="settings_shortcut" msgid="3672145147925639262">"Einstellungen"</string>
     <string name="airplane_mode" msgid="8837269988154128601">"Flugmodus"</string>
     <string name="airplane_mode_summary" msgid="3154817401368780988">"Alle drahtlosen Verbindungen deaktivieren"</string>
@@ -208,7 +218,7 @@
     <string name="airplane_mode_turning_off" msgid="3393168549611505996">"Drahtlosverbindungen werden aktiviert..."</string>
     <string name="radio_controls_title" msgid="5868688473587168882">"Drahtlos &amp; Netzwerke"</string>
     <string name="wireless_networks_settings_title" msgid="149274247949769551">"Einstellungen für Drahtlosnetzwerke"</string>
-    <string name="radio_controls_summary" msgid="2998818677094465517">"WLAN, Bluetooth, Flugmodus, mobile Netzwerke und VPNs verwalten"</string>
+    <string name="radio_controls_summary" msgid="2998818677094465517">"WLAN, Bluetooth, Flugmodus, Mobilfunknetze und VPNs verwalten"</string>
     <string name="roaming" msgid="3596055926335478572">"Daten-Roaming"</string>
     <string name="roaming_enable" msgid="3737380951525303961">"Bei Roaming mit Datendienst verbinden"</string>
     <string name="roaming_disable" msgid="1295279574370898378">"Bei Roaming mit Datendienst verbinden"</string>
@@ -245,9 +255,9 @@
     <string name="unlock_set_unlock_pattern_title" msgid="2912067603917311700">"Muster"</string>
     <string name="unlock_set_unlock_pattern_summary" msgid="3018395214738645405">"Muster zum Entsperren des Displays zeichnen"</string>
     <string name="unlock_set_unlock_pin_title" msgid="5846029709462329515">"PIN"</string>
-    <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Geben Sie eine numerische PIN zum Entsperren ein."</string>
+    <string name="unlock_set_unlock_pin_summary" msgid="4131169672844263316">"Numerische PIN zum Entsperren des Displays eingeben"</string>
     <string name="unlock_set_unlock_password_title" msgid="8775603825675090937">"Passwort"</string>
-    <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Geben Sie ein Passwort zum Entsperren des Displays ein."</string>
+    <string name="unlock_set_unlock_password_summary" msgid="4623254789833899286">"Passwort zum Entsperren des Displays eingeben"</string>
     <string name="unlock_set_unlock_disabled_summary" msgid="736557879526940324">"Vom Remote-Telefonadministrator deaktiviert"</string>
     <string name="unlock_disable_lock_title" msgid="1427036227416979120">"Display-Sperre deaktivieren"</string>
     <string name="unlock_disable_lock_pattern_summary" msgid="6801602880568869201">"Entsperrungsmuster entfernen"</string>
@@ -281,7 +291,7 @@
     <string name="bluetooth_device_info" msgid="6644515376523965073">"Bluetooth-Geräteinfo"</string>
     <string name="bluetooth_enter_pin_msg" msgid="856962526754150334">\n"PIN für Pairing mit \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\" eingeben. Versuchen Sie 0000 oder 1234."</string>
     <string name="bluetooth_enter_passkey_msg" msgid="8121515818772179228">\n"Schlüssel zum Pairing mit \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\" eingeben."</string>
-    <string name="bluetooth_confirm_passkey_msg" msgid="1205362283945104263">"Bestätigen Sie zum Paaren mit \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\", dass der folgende Schlüssel angezeigt wird: <xliff:g id="PASSKEY">%2$s</xliff:g>."</string>
+    <string name="bluetooth_confirm_passkey_msg" msgid="1205362283945104263">"Bestätigen Sie zum Paaren mit \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\", dass es den folgenden Schlüssel anzeigt: <xliff:g id="PASSKEY">%2$s</xliff:g>."</string>
     <string name="bluetooth_incoming_pairing_msg" msgid="1076613564387784476">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>"\n"möchte sich paaren."</string>
     <string name="bluetooth_display_passkey_msg" msgid="3048496029389441579">"Geben Sie zum Pairing <xliff:g id="PASSKEY">%2$s</xliff:g> in \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\" ein."</string>
     <string name="bluetooth_pairing_accept" msgid="6163520056536604875">"Paaren"</string>
@@ -323,6 +333,11 @@
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Als Lautsprechertelefon"</string>
     <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Für Musik und Medien"</string>
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Einstellungen speichern"</string>
+    <string name="nfc_quick_toggle_title" msgid="6769159366307299004">"NFC"</string>
+    <string name="nfc_quick_toggle_summary" msgid="1988408027741447231">"Nahfeldkommunikation zum Lesen und Austauschen von Tags verwenden"</string>
+    <!-- no translation found for nfc_toggle_error (2233172102497535522) -->
+    <!-- no translation found for nfc_toggle_error (8998642457947607263) -->
+    <skip />
     <string name="wifi_quick_toggle_title" msgid="874495178395350104">"WLAN"</string>
     <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"WLAN aktivieren"</string>
     <string name="wifi_settings" msgid="4746946030627213196">"WLAN-Einstellungen"</string>
@@ -376,6 +391,7 @@
     <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Festlegen, wann von WLAN auf mobile Daten umgeschaltet werden soll"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Beim Einrichten der Standby-Richtlinie ist ein Problem aufgetreten."</string>
     <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MAC-Adresse"</string>
+    <string name="wifi_advanced_ip_address_title" msgid="6215297094363164846">"IP-Adresse"</string>
     <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP-Einstellungen"</string>
     <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Speichern"</string>
     <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Abbrechen"</string>
@@ -398,7 +414,7 @@
     <string name="display_settings_title" msgid="1708697328627382561">"Display"</string>
     <string name="sound_settings" msgid="5007659014828162881">"Toneinstellungen"</string>
     <string name="silent_mode_title" msgid="3181479108593217704">"Lautlosmodus"</string>
-    <string name="silent_mode_summary" msgid="3309650676072917899">"Alle Töne (außer für Medienwiedergabe &amp; Wecker) stummschalten"</string>
+    <string name="silent_mode_summary" msgid="3309650676072917899">"Alle Töne (außer für Wecker &amp; Medienwiedergabe) stummschalten"</string>
     <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Alle Sounds außer Medien sind stumm geschaltet"</string>
     <string name="ringtone_title" msgid="5379026328015343686">"Klingelton"</string>
     <string name="ringtone_summary" msgid="2630023412632683493"></string>
@@ -447,7 +463,7 @@
     <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Ton bei Dock-Anschluss"</string>
     <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Beim Anschließen oder Trennen des Telefons vom Dock Ton abspielen"</string>
     <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"Beim Anschließen oder Trennen des Telefons vom Dock keinen Ton abspielen"</string>
-    <string name="sync_settings" msgid="9186125469300013491">"Konten&amp;Synchronisierung"</string>
+    <string name="sync_settings" msgid="9186125469300013491">"Konten &amp; Synchr."</string>
     <string name="sync_settings_summary" msgid="2962179505214965667">"Konten hinzufügen und entfernen und Kontoeinstellungen ändern"</string>
     <string name="search_settings" msgid="1910951467596035063">"Suche"</string>
     <string name="search_settings_summary" msgid="9205656546570654169">"Sucheinstellungen und Suchverlauf verwalten"</string>
@@ -496,15 +512,16 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Status"</string>
     <string name="device_status" msgid="607405385799807324">"Status"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Telefonnummer, Signal usw."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"SD-Karte&amp;Telefonspeicher"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Einstellungen für SD-Karte &amp; Telefonspeicher"</string>
-    <string name="storage_settings_summary" msgid="9176693537325988610">"SD-Karte entnehmen, verfügbaren Speicher anzeigen"</string>
+    <string name="storage_settings" msgid="4211799979832404953">"Speicher"</string>
+    <string name="storage_settings_title" msgid="8746016738388094064">"Speichereinstellungen"</string>
+    <string name="storage_settings_summary" product="nosdcard" msgid="3543813623294870759">"USB-Speicher trennen, verfügbaren Speicher anzeigen"</string>
+    <string name="storage_settings_summary" product="default" msgid="9176693537325988610">"SD-Karte entnehmen, verfügbaren Speicher anzeigen"</string>
     <string name="status_number" msgid="5123197324870153205">"Meine Telefonnummer"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
     <string name="status_prl_version" msgid="8499039751817386529">"PRL-Version"</string>
     <string name="status_meid_number" msgid="1751442889111731088">"MEID"</string>
-    <string name="status_network_type" msgid="3279383550222116235">"Mobiler Netzwerktyp"</string>
-    <string name="status_data_state" msgid="5503181397066522950">"Mobiler Netzwerkstatus"</string>
+    <string name="status_network_type" msgid="3279383550222116235">"Art des Mobilfunknetzes"</string>
+    <string name="status_data_state" msgid="5503181397066522950">"Status des Mobilfunknetzes"</string>
     <string name="status_service_state" msgid="2323931627519429503">"Servicestatus"</string>
     <string name="status_signal_strength" msgid="3732655254188304547">"Signalstärke"</string>
     <string name="status_roaming" msgid="2638800467430913403">"Roaming"</string>
@@ -514,24 +531,36 @@
     <string name="status_unavailable" msgid="7862009036663793314">"Nicht verfügbar"</string>
     <string name="status_up_time" msgid="7294859476816760399">"Betriebszeit"</string>
     <string name="status_awake_time" msgid="2393949909051183652">"Aktivzeit"</string>
-    <string name="internal_memory" msgid="1130932766236387454">"Interner Telefonspeicher"</string>
-    <string name="sd_memory" msgid="151871913888051515">"SD-Karte"</string>
+    <string name="internal_memory" msgid="9129595691484260784">"Interner Speicher"</string>
+    <string name="sd_memory" product="nosdcard" msgid="2510246194083052841">"USB-Speicher"</string>
+    <string name="sd_memory" product="default" msgid="151871913888051515">"SD-Karte"</string>
     <string name="memory_available" msgid="418542433817289474">"Verfügbarer Speicher"</string>
     <string name="memory_size" msgid="6629067715017232195">"Gesamtspeicher"</string>
-    <string name="sd_eject" msgid="6915293408836853020">"SD-Karte entnehmen"</string>
-    <string name="sd_eject_summary" msgid="3315557796211542962">"SD-Karte sicher entfernen"</string>
-    <string name="sd_insert_summary" msgid="2048640010381803841">"SD-Karte zur Bereitstellung einlegen"</string>
-    <string name="sd_mount" msgid="5940523765187704135">"SD-Karte bereitstellen"</string>
-    <string name="sd_mount_summary" msgid="4936591681679097699">"SD-Karte bereitstellen"</string>
-    <string name="sd_format" msgid="5448738337382712203">"SD-Karte formatieren"</string>
-    <string name="sd_format_summary" msgid="6616491027883134004">"SD-Karte formatieren (löschen)"</string>
+    <string name="sd_eject" product="default" msgid="6915293408836853020">"SD-Karte entnehmen"</string>
+    <string name="sd_eject_summary" product="nosdcard" msgid="5009296896648072891">"Internen USB-Speicher trennen"</string>
+    <string name="sd_eject_summary" product="default" msgid="3300599435073550246">"SD-Karte trennen, damit Sie sie sicher entfernen können"</string>
+    <string name="sd_insert_summary" product="nosdcard" msgid="5264016886409577313">"USB-Sp. für Bereitst. einlegen"</string>
+    <string name="sd_insert_summary" product="default" msgid="2048640010381803841">"SD-Karte zur Bereitstellung einlegen"</string>
+    <string name="sd_mount" product="nosdcard" msgid="8966695015677343116">"USB-Speicher bereitst."</string>
+    <string name="sd_mount" product="default" msgid="5940523765187704135">"SD-Karte bereitstellen"</string>
+    <!-- outdated translation 6733254203291665551 -->     <string name="sd_mount_summary" product="nosdcard" msgid="1794150364965145726">"Int. USB-Speicher bereitst."</string>
+    <string name="sd_mount_summary" product="default" msgid="4936591681679097699">"SD-Karte bereitstellen"</string>
+    <string name="sd_format" product="nosdcard" msgid="2148179271623099054">"USB-Speicher löschen"</string>
+    <string name="sd_format" product="default" msgid="2576054280507119870">"SD-Karte löschen"</string>
+    <string name="sd_format_summary" product="nosdcard" msgid="1504606546865152514">"Löscht alle Daten, z. B. Musik und Fotos, aus d. int. USB-Speicher d. Telefons"</string>
+    <string name="sd_format_summary" product="default" msgid="915849621390821841">"Löscht sämtliche Daten, beispielsweise Musik und Fotos, von der SD-Karte des Telefons."</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"Nicht verfügbar"</string>
     <string name="read_only" msgid="6702420168629076340">" (schreibgeschützt)"</string>
-    <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"SD-Karte entnehmen"</string>
-    <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Wenn Sie die SD-Karte entfernen, werden einige von Ihnen verwendete Anwendungen angehalten und sind nicht mehr verfügbar, bis Sie die SD-Karte wieder einsetzen."</string>
-    <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Fehler beim Entfernen der SD-Karte"</string>
-    <string name="dlg_error_unmount_text" msgid="9188972789897713180">"SD-Karte kann nicht entfernt werden. Versuchen Sie es später erneut."</string>
-    <string name="unmount_inform_text" msgid="3213378327712151498">"SD-Karte wird getrennt. Überprüfen Sie den Status im Benachrichtigungsfeld."</string>
+    <string name="dlg_confirm_unmount_title" product="nosdcard" msgid="2349876662428231297">"USB-Speicher trennen"</string>
+    <string name="dlg_confirm_unmount_title" product="default" msgid="8612140627310646730">"SD-Karte entnehmen"</string>
+    <string name="dlg_confirm_unmount_text" product="nosdcard" msgid="3390169455621185223">"Wenn Sie den USB-Speicher trennen, werden einige von Ihnen verwendete Anwendungen angehalten. Diese stehen möglicherweise erst dann wieder zur Verfügung, wenn Sie den USB-Speicher wieder bereitstellen."</string>
+    <string name="dlg_confirm_unmount_text" product="default" msgid="5851214273718817727">"Wenn Sie die SD-Karte entfernen, werden einige von Ihnen verwendete Anwendungen angehalten und sind nicht mehr verfügbar, bis Sie die SD-Karte wieder einsetzen."</string>
+    <string name="dlg_error_unmount_title" product="nosdcard" msgid="7695491947411836733">"Trennen von USB-Sp. fehlg."</string>
+    <string name="dlg_error_unmount_title" product="default" msgid="4004106918266783081">"Fehler beim Entfernen der SD-Karte"</string>
+    <string name="dlg_error_unmount_text" product="nosdcard" msgid="1450864147013376592">"USB-Speicher kann nicht getrennt werden. Versuchen Sie es später noch einmal."</string>
+    <string name="dlg_error_unmount_text" product="default" msgid="9188972789897713180">"SD-Karte kann nicht entfernt werden. Versuchen Sie es später erneut."</string>
+    <string name="unmount_inform_text" product="nosdcard" msgid="7120241136790744265">"USB-Speicher wird getrennt."</string>
+    <string name="unmount_inform_text" product="default" msgid="1904212716075458402">"SD-Karte wird getrennt."</string>
     <string name="sd_ejecting_title" msgid="8824572198034365468">"Trennen..."</string>
     <string name="sd_ejecting_summary" msgid="2028753069184908491">"Trennung..."</string>
     <string name="battery_status_title" msgid="9159414319574976203">"Akkustatus"</string>
@@ -571,21 +600,32 @@
     <string name="restore_default_apn_completed" msgid="3990449939234957281">"Zurücksetzen auf Standard-APN-Einstellungen abgeschlossen"</string>
     <string name="master_clear_title" msgid="5907939616087039756">"Auf Werkszustand zurück"</string>
     <string name="master_clear_summary" msgid="4986154238001088492">"Löscht alle Daten auf dem Telefon"</string>
-    <string name="master_clear_desc" msgid="7823268823499739178">"Hierdurch werden alle Daten von Ihrem Telefon gelöscht, darunter"\n<li>"Ihr Google-Konto,"</li>\n<li>"System- und Anwendungsdaten sowie entsprechende Einstellungen"</li>\n<li>"und heruntergeladene Anwendungen."</li>\n"Folgendes wird nicht gelöscht:"\n<li>"Aktuelle Systemsoftware und gebündelte Anwendungen"</li>\n<li>"Auf einer SD-Karte gespeicherte Dateien wie Musik oder Fotos"</li></string>
+    <string name="master_clear_desc" product="nosdcard" msgid="2163013814299528247">"Hierdurch werden alle Daten aus dem "<b>"internen Speicher"</b>" Ihres Telefons gelöscht, einschließlich"\n\n<li>"der System- und Anwendungsdaten und -einstellungen Ihres Google-Kontos"</li>\n<li></li>\n<li>"heruntergeladener Anwendungen"</li>\n\n"Um sämtliche Daten auf diesem Telefon zu löschen, müssen Sie den "<b>"USB-Speicher"</b>" löschen."\n\n</string>
+    <string name="master_clear_desc" product="default" msgid="1741944496458365969">"Hierdurch werden alle Daten aus dem "<b>"internen Speicher"</b>" Ihres Telefons gelöscht, einschließlich"\n\n<li>"der System- und Anwendungsdaten und -einstellungen Ihres Google-Kontos"</li>\n<li></li>\n<li>"heruntergeladener Anwendungen"</li>\n\n"Um auch Musik, Bilder und sonstige Nutzerdaten zu löschen, müssen Sie die "<b>"SD-Karte"</b>" löschen."\n\n</string>
+    <string name="erase_external_storage" product="nosdcard" msgid="969364037450286809">"USB-Speicher löschen"</string>
+    <string name="erase_external_storage" product="default" msgid="1397239046334307625">"SD-Karte löschen"</string>
+    <string name="erase_external_storage_description" product="nosdcard" msgid="1657838142707381027">"Löscht alle Daten, z. B. Musik und Fotos, aus dem int. USB-Speicher des Telefons"</string>
+    <string name="erase_external_storage_description" product="default" msgid="8100175974635894073">"Alle Daten, z. B. Musik und Fotos, von der SD-Karte löschen"</string>
     <string name="master_clear_button_text" msgid="7550632653343157971">"Telefon zurücksetzen"</string>
     <string name="master_clear_final_desc" msgid="6917971132484622696">"Alle persönlichen Daten und heruntergeladenen Anwendungen löschen? Diese Aktion kann nicht rückgängig gemacht werden."</string>
     <string name="master_clear_final_button_text" msgid="5390908019019242910">"Alles löschen"</string>
     <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Bitte zeichnen Sie Ihr Entsperrungsmuster."</string>
     <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"Sie müssen Ihr Entsperrungsmuster eingeben, um das Zurücksetzen des Telefons zu bestätigen."</string>
     <string name="master_clear_failed" msgid="8655202125010189406">"Die Zurücksetzung konnte nicht durchgeführt werden, da der Service zur Systembereinigung nicht verfügbar ist."</string>
-    <string name="media_format_title" msgid="4671276096695789895">"SD-Karte formatieren"</string>
-    <string name="media_format_summary" msgid="3805714639375830120">"Löscht alle Daten auf der SD-Karte"</string>
-    <string name="media_format_desc" msgid="1142563222357820834">"Durch diese Aktion wird die SD-Karte im Telefon gelöscht. Sie verlieren dann ALLE Daten auf der Karte!"</string>
-    <string name="media_format_button_text" msgid="370856400090190151">"SD-Karte formatieren"</string>
-    <string name="media_format_final_desc" msgid="1776666694910717198">"SD-Karte formatieren und alle Medien löschen? Die Aktion kann nicht rückgängig gemacht werden!"</string>
+    <string name="media_format_title" product="nosdcard" msgid="3999653431422767156">"USB-Speicher löschen"</string>
+    <string name="media_format_title" product="default" msgid="4427528440306787972">"SD-Karte löschen"</string>
+    <string name="media_format_summary" product="nosdcard" msgid="776603298628082065">"Löscht alles im USB-Speicher."</string>
+    <string name="media_format_summary" product="default" msgid="3805714639375830120">"Löscht alle Daten auf der SD-Karte"</string>
+    <string name="media_format_desc" product="nosdcard" msgid="4553860683952763905">"Hierdurch wird der USB-Speicher gelöscht. "<b>"Alle"</b>" darin befindlichen Daten gehen dann verloren!"</string>
+    <string name="media_format_desc" product="default" msgid="1598627584181935513">"Durch diese Aktion wird die SD-Karte gelöscht. "<b>"Alle"</b>" Daten auf der Karte gehen dann verloren!"</string>
+    <string name="media_format_button_text" product="nosdcard" msgid="6293669371185352810">"USB-Speicher löschen"</string>
+    <string name="media_format_button_text" product="default" msgid="6721544380069373626">"SD-Karte löschen"</string>
+    <string name="media_format_final_desc" product="nosdcard" msgid="8094635533378487255">"USB-Speicher und alle darauf gespeicherten Dateien löschen? Diese Aktion kann nicht rückgängig gemacht werden!"</string>
+    <string name="media_format_final_desc" product="default" msgid="9015504991522581434">"SD-Karte und alle darauf gespeicherten Dateien löschen? Die Aktion kann nicht rückgängig gemacht werden!"</string>
     <string name="media_format_final_button_text" msgid="4881713344315923175">"Alles löschen"</string>
     <string name="media_format_gesture_prompt" msgid="3109349468816856670">"Bitte zeichnen Sie Ihr Entsperrungsmuster."</string>
-    <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Sie müssen Ihr Entsperrungsmuster eingeben, um eine SD-Karten-Formatierung zu bestätigen."</string>
+    <string name="media_format_gesture_explanation" product="nosdcard" msgid="1379736318750958338">"Sie müssen Ihr Entsperrungsmuster zeichnen, um die Löschung des USB-Speichers zu bestätigen."</string>
+    <string name="media_format_gesture_explanation" product="default" msgid="1681213416497647321">"Sie müssen Ihr Entsperrungsmuster zeichnen, um das Löschen der SD-Karte zu bestätigen."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Anrufeinstellungen"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Mailbox, Rufweiterleitung, Anklopfen, Anruferkennung einrichten"</string>
     <string name="tether_settings_title_usb" msgid="4315031513434087777">"Tethering"</string>
@@ -602,14 +642,14 @@
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"Keine USB-Verbindung"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"USB-Tethering-Fehler"</string>
     <string name="tethering_help_button_text" msgid="656117495547173630">"Hilfe"</string>
-    <string name="network_settings_title" msgid="7967552516440151852">"Mobile Netzwerke"</string>
+    <string name="network_settings_title" msgid="7967552516440151852">"Mobilfunknetze"</string>
     <string name="network_settings_summary" msgid="5149750850846813553">"Optionen für Roaming, Netzwerke, APNs festlegen"</string>
     <string name="location_title" msgid="1029961368397484576">"Mein Standort"</string>
     <string name="location_network_based" msgid="8815705866861993344">"Drahtlosnetzwerke"</string>
     <string name="location_networks_disabled" msgid="2708968452901433980">"Standort über Drahtlosnetzwerke bestimmen (z. B. in Google Maps)"</string>
-    <string name="location_neighborhood_level" msgid="4656658097932515921">"Standort bestimmt von WLAN und/oder mobilen Netzwerken"</string>
+    <string name="location_neighborhood_level" msgid="4656658097932515921">"Standort bestimmt von WLAN und/oder Mobilfunknetzen"</string>
     <string name="location_gps" msgid="6296125378829097831">"GPS-Satelliten"</string>
-    <string name="location_street_level" msgid="6460740847018275745">"Auf Straßenebene lokalisieren (deaktivieren, um Akku zu sparen)"</string>
+    <string name="location_street_level" msgid="7456259025474443314">"Genau auf Straßenebene lokalisieren"</string>
     <string name="location_gps_disabled" msgid="6632537158777308128">"Auf Straßenebene lokalisieren (höherer Akkuverbrauch, im Freien)"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"Unterstütztes GPS verwenden"</string>
     <string name="assisted_gps_enabled" msgid="8751899609589792803">"Server zur Unterstützung von GPS verwenden (zur Verringerung der Netzwerkauslastung nicht auswählen)"</string>
@@ -629,7 +669,7 @@
     <string name="settings_safetylegal_title" msgid="1289483965535937431">"Sicherheitsinformationen"</string>
     <string name="settings_safetylegal_activity_title" msgid="6901214628496951727">"Sicherheitsinformationen"</string>
     <string name="settings_safetylegal_activity_unreachable" msgid="3198912875259612887">"Ihr Telefon ist mit keinem Datendienst verbunden. Um diese Informationen jetzt anzuzeigen, rufen Sie %s von einem beliebigen, mit dem Internet verbundenen Computer auf."</string>
-    <string name="settings_safetylegal_activity_loading" msgid="8059022597639516348">"Ladevorgang läuft..."</string>
+    <string name="settings_safetylegal_activity_loading" msgid="8059022597639516348">"Wird geladen..."</string>
     <string name="lockpassword_choose_your_password_header" msgid="8624900666929394990">"Passwort auswählen"</string>
     <string name="lockpassword_choose_your_pin_header" msgid="7598849519816138302">"PIN auswählen"</string>
     <string name="lockpassword_confirm_your_password_header" msgid="6308478184889846633">"Passwort bestätigen"</string>
@@ -670,7 +710,7 @@
     <string name="lock_title" msgid="4059246467204273930">"Sichern Ihres Telefons"</string>
     <string name="lock_intro_message" msgid="9100785646737118042"><font size="17">"Schützen Sie Ihr Telefon vor unerlaubter Verwendung, indem Sie ein persönliches Entsperrungsmuster erstellen. "\n<font height="17">\n</font><b>"1"</b>"  Auf dem nächsten Bildschirm sehen Sie, wie ein Beispielmuster gezeichnet wird. "\n<font height="17">\n</font><b>"2"</b>"  Anschließend können Sie Ihr eigenes Entsperrungsmuster zeichnen. Sie können verschiedene Muster ausprobieren, müssen jedoch immer mindestens vier Punkte miteinander verbinden. "\n<font height="17">\n</font><b>"3"</b>"  Zeichnen Sie Ihr Muster zur Bestätigung erneut. "\n<font height="17">\n</font><b>"Bereit? Wählen Sie “Weiter”"</b>". "\n<font height="3">\n</font>"Wählen Sie “Abbrechen”, wenn Sie Ihr Telefon nicht schützen möchten."</font></string>
     <string name="lock_example_title" msgid="8052305554017485410">"Beispielmuster"</string>
-    <string name="lock_example_message" msgid="1838650097090632706">"Verbinden Sie mindestens vier Punkte."\n" "\n"Wählen Sie “Weiter”, um ein eigenes Schema zu zeichnen."</string>
+    <string name="lock_example_message" msgid="1838650097090632706">"Verbinden Sie mindestens vier Punkte."\n" "\n"Wählen Sie “Weiter”, um ein eigenes Muster zu zeichnen."</string>
     <string name="manageapplications_settings_title" msgid="5712405848153426706">"Anwendungen verwalten"</string>
     <string name="manageapplications_settings_summary" msgid="6097117021500651232">"Installierte Anwendungen verwalten und entfernen"</string>
     <string name="applications_settings" msgid="3736173521008476946">"Anwendungen"</string>
@@ -692,22 +732,31 @@
     <string name="application_size_label" msgid="5055196275624686382">"Anwendung"</string>
     <string name="data_size_label" msgid="8679376373625710107">"Daten"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Deinstallieren"</string>
+    <string name="disable_text" msgid="6544054052049395202">"Deaktivieren"</string>
+    <string name="enable_text" msgid="9217362512327828987">"Aktivieren"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Daten löschen"</string>
     <string name="app_factory_reset" msgid="6635744722502563022">"Updates deinstallieren"</string>
     <string name="auto_launch_enable_text" msgid="2630656657744196691">"Sie haben diese Anwendung für einige Aktionen als Standard festgelegt."</string>
     <string name="auto_launch_disable_text" msgid="7800385822185540166">"Kein Standard"</string>
-    <string name="clear_activities" msgid="7408923511535174430">"Standardeinstellung löschen"</string>
+    <string name="clear_activities" msgid="7408923511535174430">"Standardeinstellung zurücksetzen"</string>
     <string name="unknown" msgid="1592123443519355854">"Unbekannt"</string>
-    <string name="sort_order_alpha" msgid="8622029358896599842">"Sortieren"</string>
+    <string name="sort_order_alpha" msgid="1410278099123670628">"Nach Namen sortieren"</string>
     <string name="sort_order_size" msgid="7024513286636502362">"Nach Größe sortieren"</string>
+    <string name="show_running_services" msgid="5736278767975544570">"Aktive Dienste anzeigen"</string>
+    <string name="show_background_processes" msgid="2009840211972293429">"Prozesse im Cache anz."</string>
     <string name="manage_space_text" msgid="8852711522447794676">"Speicherplatz verwalten"</string>
     <string name="filter" msgid="2018011724373033887">"Filter"</string>
     <string name="filter_dlg_title" msgid="6507663329723966854">"Filteroptionen auswählen"</string>
     <string name="filter_apps_all" msgid="5142129378749391876">"Alle"</string>
-    <string name="filter_apps_third_party" msgid="7786348047690140979">"Heruntergeladen"</string>
-    <string name="filter_apps_running" msgid="7767071454371350486">"Wird ausgeführt"</string>
-    <string name="filter_apps_onsdcard" msgid="1477351142334784771">"Auf SD-Karte"</string>
-    <string name="loading" msgid="3200408047793887917">"Wird geladen..."</string>
+    <string name="filter_apps_third_party" msgid="7786348047690140979">"Heruntergeladene"</string>
+    <string name="filter_apps_running" msgid="7767071454371350486">"Ausgeführte"</string>
+    <string name="filter_apps_onsdcard" product="nosdcard" msgid="4843063154701023349">"USB-Speicher"</string>
+    <string name="filter_apps_onsdcard" product="default" msgid="1477351142334784771">"Auf SD-Karte"</string>
+    <string name="disabled" msgid="9206776641295849915">"Deaktiviert"</string>
+    <string name="no_applications" msgid="5190227407135243904">"Keine Anwendungen"</string>
+    <string name="internal_storage" msgid="1584700623164275282">"Interner Speicher"</string>
+    <string name="sd_card_storage" product="nosdcard" msgid="2673203150465132465">"USB-Speicher"</string>
+    <string name="sd_card_storage" product="default" msgid="7623513618171928235">"SD-Kartensp."</string>
     <string name="recompute_size" msgid="7722567982831691718">"Größe wird neu berechnet..."</string>
     <string name="clear_data_dlg_title" msgid="4470209520936375508">"Löschen"</string>
     <string name="clear_data_dlg_text" msgid="8368035073300828451">"All diese Anwendungsdaten werden dauerhaft gelöscht. Dazu zählen alle Dateien, Einstellungen, Konten, Datenbanken und so weiter."</string>
@@ -727,7 +776,8 @@
     <string name="version_text" msgid="9189073826278676425">"Version <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5042838441401731346">"Verschieben"</string>
     <string name="move_app_to_internal" msgid="3895430471913858185">"Auf Telefon verschieben"</string>
-    <string name="move_app_to_sdcard" msgid="1143379049903056407">"Auf SD-Karte verschieben"</string>
+    <string name="move_app_to_sdcard" product="nosdcard" msgid="4350451696315265420">"In USB-Speicher versch."</string>
+    <string name="move_app_to_sdcard" product="default" msgid="1143379049903056407">"Auf SD-Karte verschieben"</string>
     <string name="moving" msgid="6431016143218876491">"Verschieben"</string>
     <string name="insufficient_storage" msgid="8566913062094452962">"Es ist nicht genügend Speicher vorhanden."</string>
     <string name="does_not_exist" msgid="837163572898468245">"Diese Anwendung existiert nicht."</string>
@@ -735,29 +785,49 @@
     <string name="invalid_location" msgid="4934491353200240499">"Der angegebene Installationsort ist nicht gültig."</string>
     <string name="system_package" msgid="1030561474413022831">"Systemupdates können nicht auf externen Datenträgern installiert werden."</string>
     <string name="force_stop_dlg_title" msgid="4289453224368188476">"Stoppen erzwingen"</string>
-    <string name="force_stop_dlg_text" msgid="3381302041569982075">"Diese Anwendung wird sofort neu gestartet. Möchten Sie das Beenden wirklich erzwingen?"</string>
+    <string name="force_stop_dlg_text" msgid="5157374701213502922">"Das Anhalten einer Anwendung kann zu unerwünschtem Verhalten führen. Sind Sie sicher?"</string>
     <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Anwendung verschieben"</string>
     <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Verschieben der Anwendung fehlgeschlagen. <xliff:g id="REASON">%1$s</xliff:g>"</string>
     <string name="app_install_location_title" msgid="2068975150026852168">"Bevorzugter Installationspfad"</string>
     <string name="app_install_location_summary" msgid="879753854530300436">"Bevorzugten Installationspfad für neue Anwendungen ändern"</string>
+    <string name="storageuse_settings_title" msgid="5657014373502630403">"Speichernutzung"</string>
+    <string name="storageuse_settings_summary" msgid="2556057379120846792">"Von Anwendungen verwendeten Speicher anzeigen"</string>
     <string name="runningservices_settings_title" msgid="8097287939865165213">"Aktive Dienste"</string>
     <string name="runningservices_settings_summary" msgid="854608995821032748">"Derzeit ausgeführte Dienste anzeigen und steuern"</string>
     <string name="service_restarting" msgid="2242747937372354306">"Neustart wird durchgeführt."</string>
-    <string name="no_running_services" msgid="6981216347270280598">"Es werden keine Dienste ausgeführt."</string>
-    <string name="confirm_stop_service" msgid="5700448757318301681">"Dienst beenden?"</string>
-    <string name="confirm_stop_service_msg" msgid="1166661293369421272">"Der Dienst muss neu gestartet werden. Dies kann unerwünschte Auswirkungen auf die Anwendung \"<xliff:g id="APPLICATION">%1$s</xliff:g>\" haben."</string>
-    <string name="confirm_stop_stop" msgid="7382363913280993331">"Beenden"</string>
-    <string name="confirm_stop_cancel" msgid="206495326622692381">"Abbrechen"</string>
-    <string name="service_started_by_app" msgid="8432097226392386802">"Gestartet: Zum Beenden berühren"</string>
-    <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: Zum Verwalten berühren"</string>
-    <string name="service_background_processes" msgid="5158600475629177758">"Verfügbar: <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g> in <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_foreground_processes" msgid="4013890350284680796">"Sonstige: <xliff:g id="MEMORY">%2$s</xliff:g> in <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_process_name" msgid="8630408984456958400">"Prozess: <xliff:g id="PROCESS">%1$s</xliff:g>"</string>
+    <string name="cached" msgid="1059590879740175019">"Hintergrundprozess im Cache"</string>
+    <string name="no_running_services" msgid="2059536495597645347">"Nichts wird ausgeführt."</string>
+    <string name="service_started_by_app" msgid="6575184738671598131">"Von der Anwendung gestartet."</string>
+    <!-- no translation found for service_client_name (4037193625611815517) -->
+    <skip />
+    <string name="service_background_processes" msgid="6844156253576174488">"<xliff:g id="MEMORY">%1$s</xliff:g> frei"</string>
+    <string name="service_foreground_processes" msgid="7583975676795574276">"<xliff:g id="MEMORY">%1$s</xliff:g> verw."</string>
+    <string name="memory" msgid="6609961111091483458">"RAM"</string>
+    <!-- no translation found for service_process_name (4098932168654826656) -->
+    <skip />
+    <string name="running_processes_item_description_s_s" msgid="5790575965282023145">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> Prozess und <xliff:g id="NUMSERVICES">%2$d</xliff:g> Dienst"</string>
+    <string name="running_processes_item_description_s_p" msgid="8019860457123222953">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> Prozess und <xliff:g id="NUMSERVICES">%2$d</xliff:g> Dienste"</string>
+    <string name="running_processes_item_description_p_s" msgid="744424668287252915">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> Prozesse und <xliff:g id="NUMSERVICES">%2$d</xliff:g> Dienst"</string>
+    <string name="running_processes_item_description_p_p" msgid="1607384595790852782">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> Prozesse und <xliff:g id="NUMSERVICES">%2$d</xliff:g> Dienste"</string>
+    <string name="runningservicedetails_settings_title" msgid="6188692418986988288">"Laufende Anwendung"</string>
+    <string name="no_services" msgid="7133900764462288263">"Nicht aktiv"</string>
+    <string name="runningservicedetails_services_title" msgid="391168243725357375">"Dienste"</string>
+    <string name="runningservicedetails_processes_title" msgid="928115582044655268">"Prozesse"</string>
+    <string name="service_stop" msgid="6369807553277527248">"Beenden"</string>
+    <string name="service_manage" msgid="1876642087421959194">"Einstellungen"</string>
+    <string name="service_stop_description" msgid="3261798282116866961">"Dieser Dienst wurde von seiner Anwendung gestartet. Wird er beendet, kann die Anwendung eventuell nicht mehr ausgeführt werden."</string>
+    <string name="heavy_weight_stop_description" msgid="6855241582643136019">"Diese Anwendung kann nicht sicher beendet werden. Beim Beenden könnten aktuelle Daten verloren gehen."</string>
+    <string name="background_process_stop_description" msgid="1728354083304746737">"Hierbei handelt es sich um einen alten Anwendungsprozess, der zur Erzielung einer besseren Geschwindigkeit für den Fall, dass er benötigt wird, beibehalten wird. Normalerweise gibt es keinen Grund, warum er beendet werden sollte."</string>
+    <string name="service_manage_description" msgid="7050092269951613102">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: wird derzeit verwendet. Berühren Sie zum Steuern die Einstellungen."</string>
+    <string name="main_running_process_description" msgid="929204645380391397">"Hauptprozess, der verwendet wird."</string>
+    <string name="process_service_in_use_description" msgid="8993335064403217080">"Dienst <xliff:g id="COMP_NAME">%1$s</xliff:g> wird verwendet."</string>
+    <string name="process_provider_in_use_description" msgid="5586603325677678940">"Anbieter <xliff:g id="COMP_NAME">%1$s</xliff:g> wird verwendet."</string>
+    <string name="runningservicedetails_stop_dlg_title" msgid="4253292537154337233">"Systemdienst beenden?"</string>
+    <string name="runningservicedetails_stop_dlg_text" msgid="6929716497425738387">"Möchten Sie diesen Systemdienst wirklich beenden? Möglicherweise funktionieren dann einige Funktionen Ihres Telefons nicht mehr richtig, bis Sie es aus- und wieder einschalten."</string>
     <string name="language_settings" msgid="502219872342167227">"Sprache &amp; Tastatur"</string>
     <string name="language_keyboard_settings_title" msgid="3455826933385341107">"Einstellungen für Sprache &amp; Tastatur"</string>
-    <string name="language_settings_summary" msgid="595647729475399987">"Optionen für Sprache und Region, Texteingabe und Autokorrektur festlegen"</string>
-    <string name="language_category" msgid="3391756582724541530">"Ländereinstellung"</string>
-    <string name="text_category" msgid="6342540511465136739">"Texteinstellungen"</string>
+    <string name="language_settings_category" msgid="2288258489940617043">"Spracheinstellungen"</string>
+    <string name="keyboard_settings_category" msgid="7060453865544070642">"Tastatureinstellungen"</string>
     <string name="phone_language" msgid="1165758957501090679">"Sprache auswählen"</string>
     <string name="phone_language_summary" msgid="3871309445655554211"></string>
     <string name="auto_replace" msgid="6199184757891937822">"Autom. Ersetzung"</string>
@@ -770,19 +840,18 @@
     <string name="show_password" msgid="2198798062604049206">"Sichtbare Passwörter"</string>
     <string name="show_password_summary" msgid="3806709974395178121">"Passwort bei der Eingabe anzeigen"</string>
     <string name="ime_security_warning" msgid="812267421486877917">"Diese Eingabemethode kann den gesamten von Ihnen eingegebenen Text erfassen, einschließlich persönlicher Daten wie Passwörter und Kreditkartennummern. Sie ist Teil der Anwendung <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Möchten diese Eingabemethode verwenden?"</string>
-    <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Wörterbuch des Nutzers"</string>
-    <string name="user_dict_settings_title" msgid="8357027437499042191">"Wörterbuch des Nutzers"</string>
+    <string name="user_dict_settings_titlebar" msgid="765659257455000490">"Mein Wörterbuch"</string>
+    <string name="user_dict_settings_title" msgid="8357027437499042191">"Mein Wörterbuch"</string>
     <string name="user_dict_settings_summary" msgid="7965571192902870454"></string>
     <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"Hinzufügen"</string>
     <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"Ins Wörterbuch"</string>
     <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"Wort bearbeiten"</string>
     <string name="user_dict_settings_context_menu_edit_title" msgid="2210564879320004837">"Bearbeiten"</string>
     <string name="user_dict_settings_context_menu_delete_title" msgid="9140703913776549054">"Löschen"</string>
-    <string name="user_dict_settings_empty_text" msgid="6209268025109242806">"Sie haben keine Wörter im Nutzerwörterbuch. Sie können über das Menü ein Wort hinzufügen."</string>
+    <string name="user_dict_settings_empty_text" msgid="6209268025109242806">"Keine Wörter im Ihrem Wörterbuch vorhanden. Sie können über das Menü ein Wort hinzufügen."</string>
     <string name="testing" msgid="6584352735303604146">"Test"</string>
     <string name="testing_phone_info" msgid="8656693364332840056">"Telefoninformation"</string>
     <string name="testing_battery_info" msgid="3497865525976497848">"Akkuinformationen"</string>
-    <string name="testing_battery_history" msgid="3043329445810695647">"Akkuprotokoll"</string>
     <string name="quick_launch_title" msgid="7904609846945905306">"Schnellstart"</string>
     <string name="quick_launch_summary" msgid="3453825712466417452">"Tastenkombinationen zum Starten von Anwendungen festlegen"</string>
     <string name="quick_launch_assign_application" msgid="4521368464929956350">"Anwendung zuweisen"</string>
@@ -798,12 +867,12 @@
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Optionen für Texteingabe verwalten"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"<xliff:g id="IME_NAME">%1$s</xliff:g>-Einstellungen"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Einstellungen der Bildschirmtastatur"</string>
-    <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"Tastatur des Geräts"</string>
-    <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"Einstellungen für eingebaute Tastatur"</string>
+    <string name="builtin_keyboard_settings_title" msgid="5274990495405941804">"Eingebaute Tastatur"</string>
+    <string name="builtin_keyboard_settings_summary" msgid="7990296351888096836">"Einstellungen für eingebaute, physische Tastatur"</string>
     <string name="development_settings_title" msgid="6719732334835420989">"Entwicklung"</string>
     <string name="development_settings_summary" msgid="2151320488701538355">"Optionen zur Anwendungsentwicklung festlegen"</string>
     <string name="enable_adb" msgid="7982306934419797485">"USB-Debugging"</string>
-    <string name="enable_adb_summary" msgid="4881186971746056635">"Debugmodus bei Anschluss eines USB-Geräts"</string>
+    <string name="enable_adb_summary" msgid="4881186971746056635">"Debugmodus bei Anschluss über USB"</string>
     <string name="keep_screen_on" msgid="1146389631208760344">"Aktiv lassen"</string>
     <string name="keep_screen_on_summary" msgid="2173114350754293009">"Display wird beim Laden nie in den Ruhezustand versetzt"</string>
     <string name="allow_mock_location" msgid="2787962564578664888">"Falsche Standorte"</string>
@@ -812,36 +881,10 @@
     <string name="adb_warning_message" msgid="5352555112049663033">"USB-Debugging ist nur für Entwicklungszwecke vorgesehen. Damit können Sie Daten zwischen Ihrem Computer und Ihrem Gerät kopieren, Anwendungen auf Ihrem Gerät ohne Benachrichtigung installieren und Protokolldaten lesen."</string>
     <string name="gadget_picker_title" msgid="98374951396755811">"Gadget auswählen"</string>
     <string name="widget_picker_title" msgid="9130684134213467557">"Widget auswählen"</string>
-    <string name="battery_history_details_for" msgid="5924639922153109669">"Details für UID <xliff:g id="NUMBER">%d</xliff:g>"</string>
-    <string name="battery_history_uid" msgid="1016606150528436298">"UID <xliff:g id="USER_ID">%1$d</xliff:g>"</string>
-    <string name="battery_history_network_usage" msgid="8010852371665217020">"Netzwerk-Nutzungsdetails für <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_bytes_received" msgid="980307569180518302">"Empfangene Bytes: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_sent" msgid="2501748768602119159">"Gesendete Bytes: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_total" msgid="4444807574361642753">"Bytes insgesamt: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_cpu_usage" msgid="2597353713014790877">"CPU-Nutzungsdetails für <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_user_time" msgid="6227507614894791359">"Nutzerzeit:"</string>
-    <string name="battery_history_system_time" msgid="2015862072724507547">"Systemzeit:"</string>
-    <string name="battery_history_total_time" msgid="3618703970098556104">"Gesamtzeit:"</string>
-    <string name="battery_history_starts" msgid="9137453931978571696">"Startet: <xliff:g id="STARTS">%1$d</xliff:g>"</string>
     <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g> d <xliff:g id="HOURS">%2$d</xliff:g> h <xliff:g id="MINUTES">%3$d</xliff:g> m <xliff:g id="SECONDS">%4$d</xliff:g> s"</string>
     <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> m <xliff:g id="SECONDS">%3$d</xliff:g> s"</string>
     <string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g> m <xliff:g id="SECONDS">%2$d</xliff:g> s"</string>
     <string name="battery_history_seconds" msgid="4283492130945761685">"<xliff:g id="SECONDS">%1$d</xliff:g> s"</string>
-    <string name="battery_history_packages_sharing_this_uid" msgid="4101596071379250050">"Pakete, die diese UID teilen:"</string>
-    <string name="battery_history_no_data" msgid="1177238743237067617">"Keine Akku-Nutzungsdaten verfügbar"</string>
-    <string name="battery_history_sensor" msgid="2333488996028993982">"Sensor:"</string>
-    <string name="battery_history_wakelock" msgid="608683447522396293">"Sperre im Teilwachzustand:"</string>
-    <string name="battery_history_used_by_packages" msgid="3000711380023436470">"Sensor verwendet von Paketen:"</string>
-    <string name="battery_history_sensor_usage" msgid="3593133338613209024">"<xliff:g id="COUNT">%1$d</xliff:g> mal von <xliff:g id="PACKAGE">%2$s</xliff:g> verwendet"</string>
-    <string name="battery_history_sensor_usage_multi" msgid="4536084375991014508">"<xliff:g id="COUNT">%1$d</xliff:g> mal von einem der folgenden verwendet:"</string>
-    <string name="battery_history_awake_label" msgid="8449792868990080882">"Wird ausgeführt"</string>
-    <string name="battery_history_screen_on_label" msgid="1848936521786339362">"Bildschirm aktiviert"</string>
-    <string name="battery_history_phone_on_label" msgid="700191958853142297">"Telefon aktiviert"</string>
-    <string name="battery_history_awake" msgid="4350886665719031057">"Zeit ohne Schlafmodus:"</string>
-    <string name="battery_history_screen_on" msgid="1377240025275657277">"Zeit mit Display eingeschaltet:"</string>
-    <string name="battery_history_phone_on" msgid="4891504401623839532">"Zeit mit eingeschaltetem Telefon:"</string>
-    <string name="battery_history_screen_on_battery" msgid="536058210445081888">"Auf Akku:"</string>
-    <string name="battery_history_screen_on_plugged" msgid="5019127390021871260">"Eingesteckt:"</string>
     <string name="usage_stats_label" msgid="5890846333487083609">"Nutzungsstatistik"</string>
     <string name="testing_usage_stats" msgid="7823048598893937339">"Nutzungsstatistik"</string>
     <string name="display_order_text" msgid="8592776965827565271">"Sortieren nach:"</string>
@@ -865,12 +908,19 @@
     <string name="power_usage_summary" msgid="7237084831082848168">"Was zum Akkuverbrauch beiträgt"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Akkuverbrauch seit dem Ausstecken"</string>
     <string name="battery_since_reset" msgid="7464546661121187045">"Akkuverbrauch seit dem Zurücksetzen"</string>
+    <string name="battery_stats_on_battery" msgid="4970762168505236033">"<xliff:g id="TIME">%1$s</xliff:g> mit Akku"</string>
     <string name="battery_stats_duration" msgid="7464501326709469282">"<xliff:g id="TIME">%1$s</xliff:g> seit dem Ausstecken"</string>
+    <string name="battery_stats_charging_label" msgid="4223311142875178785">"Wird geladen"</string>
+    <string name="battery_stats_screen_on_label" msgid="7150221809877509708">"Bildschirm an"</string>
+    <string name="battery_stats_gps_on_label" msgid="1193657533641951256">"GPS aktiv"</string>
+    <string name="battery_stats_wifi_running_label" msgid="3093545080361658269">"WLAN"</string>
+    <string name="battery_stats_wake_lock_label" msgid="1908942681902324095">"Aktiv"</string>
+    <string name="battery_stats_phone_signal_label" msgid="6822042940376636775">"Telefonsignal"</string>
     <!-- no translation found for battery_stats_last_duration (1535831453827905957) -->
     <skip />
     <string name="awake" msgid="387122265874485088">"Aktivzeit des Geräts"</string>
-    <string name="wifi_on_time" msgid="4630925382578609056">"WLAN-Aktivzeit"</string>
-    <string name="bluetooth_on_time" msgid="4478515071957280711">"WLAN-Aktivzeit"</string>
+    <string name="wifi_on_time" msgid="6310209835617490616">"WLAN-Aktivzeit"</string>
+    <string name="bluetooth_on_time" msgid="6157799524996162271">"WLAN-Aktivzeit"</string>
     <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g> - <xliff:g id="NUMBER">%2$s</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
     <string name="details_title" msgid="7564809986329021063">"Akkuverbrauch - Details"</string>
     <string name="details_subtitle" msgid="32593908269911734">"Details"</string>
@@ -884,7 +934,9 @@
     <string name="power_idle" msgid="9055659695602194990">"Telefon inaktiv"</string>
     <string name="usage_type_cpu" msgid="715162150698338714">"CPU insgesamt"</string>
     <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"CPU Vordergrund"</string>
+    <string name="usage_type_wake_lock" msgid="5125438890233677880">"Aktiv lassen"</string>
     <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string>
+    <string name="usage_type_wifi_running" msgid="8234997940652067049">"WLAN aktiv"</string>
     <string name="usage_type_phone" msgid="9108247984998041853">"Telefon"</string>
     <string name="usage_type_data_send" msgid="2857401966985425427">"Gesendete Daten"</string>
     <string name="usage_type_data_recv" msgid="7251090882025234185">"Empfangene Daten"</string>
@@ -896,7 +948,7 @@
     <string name="battery_action_app_details" msgid="3275013531871113681">"Anwendungsinfo"</string>
     <string name="battery_action_app_settings" msgid="350562653472577250">"Anwendungseinstellungen"</string>
     <string name="battery_action_display" msgid="5302763261448580102">"Display-Einstellungen"</string>
-    <string name="battery_action_wifi" msgid="5452076674659927993">"WLAN-Einstellungen"</string>
+    <string name="battery_action_wifi" msgid="2272741639606146903">"WLAN-Einstellungen"</string>
     <string name="battery_action_bluetooth" msgid="8374789049507723142">"Bluetooth-Einstellungen"</string>
     <string name="battery_desc_voice" msgid="8980322055722959211">"Akkuverbrauch durch Anrufe"</string>
     <string name="battery_desc_standby" msgid="3009080001948091424">"Akkuverbrauch bei inaktivem Telefon"</string>
@@ -909,9 +961,9 @@
     <string name="battery_desc_bluetooth" msgid="7535520658674621902">"Akkuverbrauch durch Bluetooth"</string>
     <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"Bluetooth bei Nichtverwendung deaktivieren"</string>
     <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"Mit einem anderen Bluetooth-Gerät verbinden"</string>
-    <string name="battery_desc_apps" msgid="8123202939321333639">"Akkuverbrauch durch ausgeführte Anwendungen"</string>
+    <string name="battery_desc_apps" msgid="6665712811746233450">"Akkuverbrauch durch Anwendung"</string>
     <string name="battery_sugg_apps_info" msgid="6065882899391322442">"Anwendung beenden oder deinstallieren"</string>
-    <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"GPS bei Nichtverwendung deaktivieren"</string>
+    <string name="battery_sugg_apps_gps" msgid="4545056413090932541">"GPS manuell steuern, damit Anwendung es nicht verwenden kann"</string>
     <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"Die Anwendung bietet unter Umständen Einstellungen für einen geringeren Akkuverbrauch."</string>
     <string name="menu_stats_unplugged" msgid="8296577130840261624">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> seit dem Ausstecken"</string>
     <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"Seit dem letzten Ausstecken für <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
@@ -961,16 +1013,18 @@
     <string name="pico_not_installed" msgid="6266845418419994311">"Nicht installiert"</string>
     <string name="pico_voice_summary_female" msgid="8047327176247727492">"Weiblich"</string>
     <string name="pico_voice_summary_male" msgid="8331266854058577610">"Männlich"</string>
+    <string name="tts_notif_engine_install_title" msgid="7000346872482649034">"Sprachsynthese installiert"</string>
+    <string name="tts_notif_engine_install_message" msgid="5304661142202662693">"Neue Engine aktivieren"</string>
     <string name="gadget_title" msgid="7455548605888590466">"Energiesteuerung"</string>
     <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Aktualisieren der WLAN-Einstellung"</string>
     <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Aktualisieren der Bluetooth-Einstellung"</string>
     <string name="vpn_settings_activity_title" msgid="7276864950701612579">"VPN-Einstellungen"</string>
     <string name="vpn_connect_to" msgid="2541409082892684362">"Mit <xliff:g id="NAME">%s</xliff:g> verbinden"</string>
-    <string name="vpn_username_colon" msgid="7854930370861306247">"Nutzername:"</string>
+    <string name="vpn_username_colon" msgid="7854930370861306247">"Name:"</string>
     <string name="vpn_password_colon" msgid="5716278710848606626">"Passwort:"</string>
     <string name="vpn_a_username" msgid="6664733641993968692">"ein Nutzername"</string>
     <string name="vpn_a_password" msgid="1537213632501483753">"ein Passwort"</string>
-    <string name="vpn_save_username" msgid="1408415289165970790">"Nutzername speichern"</string>
+    <string name="vpn_save_username" msgid="1408415289165970790">"Name speichern"</string>
     <string name="vpn_connect_button" msgid="1699007212602470655">"Verbinden"</string>
     <string name="vpn_yes_button" msgid="8034531001149843119">"Ja"</string>
     <string name="vpn_no_button" msgid="7620339571187119107">"Nein"</string>
@@ -1048,8 +1102,10 @@
     <string name="credentials_access_summary" msgid="319662078718574168">"Anwendungen können sichere Zertifikate &amp;amp; Anmeldeinform. abrufen"</string>
     <string name="credentials_unlock" msgid="1463040326264133844">"Passwort eingeben"</string>
     <string name="credentials_unlock_hint" msgid="594679530407918031">"Geben Sie das Passwort für den Anmeldeinformationsspeicher ein."</string>
-    <string name="credentials_install_certificates" msgid="177337517568022236">"Von SD-Karte installieren"</string>
-    <string name="credentials_install_certificates_summary" msgid="7737001268684193093">"Verschlüsselte Zertifikate von SD-Karte installieren"</string>
+    <string name="credentials_install_certificates" product="nosdcard" msgid="619171634797689906">"Von USB-Speicher inst."</string>
+    <string name="credentials_install_certificates" product="default" msgid="177337517568022236">"Von SD-Karte installieren"</string>
+    <string name="credentials_install_certificates_summary" product="nosdcard" msgid="8920330112631198575">"Verschl. Zertifikate von USB-Speicher inst."</string>
+    <string name="credentials_install_certificates_summary" product="default" msgid="7737001268684193093">"Verschlüsselte Zertifikate von SD-Karte installieren"</string>
     <string name="credentials_set_password" msgid="9104473585811899989">"Passwort festlegen"</string>
     <string name="credentials_set_password_summary" msgid="8287876917562085701">"Passwort für Anmeldeinformationsspeicher festlegen oder ändern"</string>
     <string name="credentials_reset" msgid="9170150870552453457">"Speicherinhalt löschen"</string>
@@ -1069,6 +1125,16 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Der Anmeldeinformationsspeicher wurde gelöscht."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Der Anmeldeinformationsspeicher ist aktiviert."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Der Anmeldeinformationsspeicher ist deaktiviert."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Encrypted File System"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Private Nutzerdaten verschlüsseln"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Encrypted File System-Speicherung für private Nutzerdaten auf diesem Gerät aktivieren"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Für das Aktivieren von Encrypted File Systems müssen die Gerätedaten zurückgesetzt werden."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Für das Deaktivieren von Encrypted File Systems müssen die Gerätedaten zurückgesetzt werden."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Aktivieren"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Deaktivieren"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Abbrechen"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Encrypted File Systems-Modusänderung abgebrochen"</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Encrypted File Systems-Warnung"</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Notfallsignal"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Verhalten bei einem Notruf festlegen"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Datenschutz"</string>
@@ -1076,11 +1142,11 @@
     <string name="backup_section_title" msgid="8856083167469467588">"Sicherung und Wiederherstellung"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Persönliche Daten"</string>
     <string name="backup_data_title" msgid="1239105919852668016">"Meine Daten sichern"</string>
-    <string name="backup_data_summary" msgid="5662190190240860035">"Meine Einstellungen und andere Anwendungsdaten sichern"</string>
+    <string name="backup_data_summary" msgid="6515285107793232815">"Anwendungsdaten, WLAN-Passwörter und andere Einstellungen auf Google-Servern sichern"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Autom. Wiederherst."</string>
-    <string name="auto_restore_summary" msgid="6867766474057290177">"Einstellungen oder andere Daten wiederherstellen, wenn ich eine Anwendung neu installiere"</string>
+    <string name="auto_restore_summary" msgid="83177150536734378">"Gesicherte Einstellungen oder andere Daten wiederherstellen, wenn ich eine Anwendung neu installiere"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Sicherung"</string>
-    <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Möchten Sie wirklich die Sicherung Ihrer Einstellungen beenden und alle Kopien auf den Google-Servern löschen?"</string>
+    <string name="backup_erase_dialog_message" msgid="7766283133557587608">"Möchten Sie wirklich die Sicherung Ihrer WLAN-Passwörter, Lesezeichen und anderen Einstellungen und Anwendungsdaten beenden und alle Kopien auf den Google-Servern löschen?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Einstellungen für die Geräteverwaltung"</string>
     <string name="active_device_admin_msg" msgid="6930903262612422111">"Geräteadministrator"</string>
     <string name="remove_device_admin" msgid="3596845261596451437">"Deaktivieren"</string>
diff --git a/res/values-el/arrays.xml b/res/values-el/arrays.xml
index 5ffc387..4e8d75a 100644
--- a/res/values-el/arrays.xml
+++ b/res/values-el/arrays.xml
@@ -115,19 +115,6 @@
     <item msgid="1549288661423279207">"Ποτέ όταν είναι συνδεδεμένο"</item>
     <item msgid="1986753720941888596">"Ποτέ"</item>
   </string-array>
-  <string-array name="battery_history_type_spinner">
-    <item msgid="2193799199027871385">"Χρήση CPU"</item>
-    <item msgid="6401018715947316517">"Χρήση δικτύου"</item>
-    <item msgid="188092590354892392">"Χρήση GPS"</item>
-    <item msgid="8414109131222049141">"Χρήση αισθητήρα"</item>
-    <item msgid="1327904325081257093">"μερική χρήση αφύπνισης"</item>
-    <item msgid="4832254146664706277">"Άλλη χρήση"</item>
-  </string-array>
-  <string-array name="battery_history_which_spinner">
-    <item msgid="3451981114763440074">"Από την τελευταία φορά που αποσυνδέθηκε"</item>
-    <item msgid="166936313535197598">"Συνολικά από την εκκίνηση"</item>
-    <item msgid="4793941382744963893">"Συνολικά για όλο το χρονικό διάστημα"</item>
-  </string-array>
   <string-array name="usage_stats_display_order_types">
     <item msgid="9077371706468756228">"Χρόνος χρήσης"</item>
     <item msgid="1908750532762193304">"Εκκίνηση καταμέτρησης"</item>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 4d8a769..e75ce29 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -45,13 +45,16 @@
     <string name="radioInfo_display_asu" msgid="1422248392727818082">"αρχ."</string>
     <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string>
     <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string>
-    <string name="sdcard_unmount" msgid="3364184561355611897">"Αφαίρεση κάρτας SD"</string>
-    <string name="sdcard_format" msgid="362497552060004057">"Διαμόρφωση κάρτας SD"</string>
+    <string name="sdcard_unmount" product="nosdcard" msgid="6325292633327972272">"Αποπροσ. αποθ. χώρου USB"</string>
+    <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Αφαίρεση κάρτας SD"</string>
+    <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Διαγρ. αποθ. χώρου USB"</string>
+    <string name="sdcard_format" product="default" msgid="6713185532039187532">"Διαγραφή κάρτας SD"</string>
     <string name="small_font" msgid="2295331917424072635">"Μικρό"</string>
     <string name="medium_font" msgid="2068475425515133701">"Μέτριο"</string>
     <string name="large_font" msgid="599055175160971446">"Μεγάλο"</string>
     <string name="font_size_save" msgid="3450855718056759095">"OK"</string>
-    <string name="sdcard_setting" msgid="5922637503871474866">"Κάρτα SD"</string>
+    <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"Αποθ. χώρος USB"</string>
+    <string name="sdcard_setting" product="default" msgid="5922637503871474866">"Κάρτα SD"</string>
     <string name="battery_info_status_label" msgid="8109155295509700309">"Κατάσταση μπαταρίας:"</string>
     <string name="battery_info_power_label" msgid="7465140230991349382">"Τροφοδοσία ρεύματος:"</string>
     <string name="battery_info_scale_label" msgid="3649763192389778437">"Κλίμακα μπαταρίας:"</string>
@@ -178,29 +181,36 @@
     <string name="band_mode_failed" msgid="1495968863884716379">"Ανεπιτυχής"</string>
     <string name="band_mode_succeeded" msgid="2701016190055887575">"Επιτυχής"</string>
     <string name="sdcard_changes_instructions" msgid="1364712901180556244">"Οι αλλαγές θα πραγματοποιηθούν όταν πραγματοποιηθεί επανασύνδεση του καλωδίου USB"</string>
-    <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"Ενεργοποίηση μέσου μαζικής αποθήκευσης USB"</string>
+    <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"Ενεργοποίηση χώρου μαζικής αποθήκευσης USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"Συνολικός αριθμός byte:"</string>
-    <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"Δεν υπάρχει κάρτα SD"</string>
+    <string name="sdcard_settings_not_present_status" product="nosdcard" msgid="2902787003418172125">"Μη προσαρτ. αποθηκ. χώρος USB"</string>
+    <string name="sdcard_settings_not_present_status" product="default" msgid="6666688653496819947">"Δεν υπάρχει κάρτα SD"</string>
     <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"Διαθέσιμος αριθμός bytes:"</string>
-    <string name="sdcard_settings_mass_storage_status" msgid="4786433969313661655">"Η κάρτα SD χρησιμοποιείται ως συσκευή μαζικής αποθήκευσης"</string>
-    <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"Μπορείτε να αφαιρέσετε την κάρτα SD με ασφάλεια"</string>
-    <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"Η κάρτα SD αφαιρέθηκε ενώ βρισκόταν σε χρήση!"</string>
+    <string name="sdcard_settings_mass_storage_status" product="nosdcard" msgid="2736378870889777857">"Χρ. απ. χώρ. USB για μαζ. απ."</string>
+    <string name="sdcard_settings_mass_storage_status" product="default" msgid="4786433969313661655">"Η κάρτα SD χρησιμοποιείται ως συσκευή μαζικής αποθήκευσης"</string>
+    <string name="sdcard_settings_unmounted_status" product="nosdcard" msgid="7503300818792750913">"Κατάργ. αποθ. χώρ. USB με ασφ."</string>
+    <string name="sdcard_settings_unmounted_status" product="default" msgid="3812022095683863087">"Μπορείτε να αφαιρέσετε την κάρτα SD με ασφάλεια"</string>
+    <string name="sdcard_settings_bad_removal_status" product="nosdcard" msgid="7761390725880773697">"Κατάργ. απ. χώρ. USB σε χρήση!"</string>
+    <string name="sdcard_settings_bad_removal_status" product="default" msgid="5145797653495907970">"Η κάρτα SD αφαιρέθηκε ενώ βρισκόταν σε χρήση!"</string>
     <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"Αριθμός bytes που χρησιμοποιήθηκαν:"</string>
-    <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Σάρωση κάρτας SD για πολυμέσα..."</string>
-    <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"Η κάρτα SD που προσαρτήθηκε είναι μόνο για ανάγνωση"</string>
+    <string name="sdcard_settings_scanning_status" product="nosdcard" msgid="7503429447676219564">"Σάρ. αποθ. χώρ. USB για πολυμ."</string>
+    <string name="sdcard_settings_scanning_status" product="default" msgid="2763464949274455656">"Σάρωση κάρτας SD για πολυμέσα..."</string>
+    <string name="sdcard_settings_read_only_status" product="nosdcard" msgid="3771783090621312312">"Προσ. αποθ. χώρ. USB για ανάγ."</string>
+    <string name="sdcard_settings_read_only_status" product="default" msgid="5706115860484118911">"Η κάρτα SD που προσαρτήθηκε είναι μόνο για ανάγνωση"</string>
     <string name="next_label" msgid="4693520878012668114">"Επόμενο"</string>
     <string name="language_picker_title" msgid="4034157617842965844">"Τοπικές ρυθμίσεις"</string>
     <string name="select_your_language" msgid="1146235168951906084">"Επιλέξτε γλώσσα"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Επιλογή δραστηριότητας"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Πληροφορίες συσκευής"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Πληροφορίες μπαταρίας"</string>
-    <string name="battery_history_label" msgid="8242244969757414501">"Ιστορικό μπαταρίας"</string>
     <string name="display_label" msgid="7403874003169865762">"Προβολή"</string>
     <string name="phone_info_label" msgid="2127552523124277664">"Πληροφορίες τηλεφώνου"</string>
-    <string name="sd_card_settings_label" msgid="5743100901106177102">"Κάρτα SD"</string>
+    <string name="sd_card_settings_label" product="nosdcard" msgid="8101475181301178428">"Αποθ. χώρος USB"</string>
+    <string name="sd_card_settings_label" product="default" msgid="5743100901106177102">"Κάρτα SD"</string>
     <string name="proxy_settings_label" msgid="3271174136184391743">"Ρυθμίσεις διακομιστή μεσολάβησης"</string>
     <string name="cancel" msgid="6859253417269739139">"Ακύρωση"</string>
     <string name="settings_label" msgid="1626402585530130914">"Ρυθμίσεις"</string>
+    <string name="settings_label_launcher" msgid="8344735489639482340">"Ρυθμίσεις"</string>
     <string name="settings_shortcut" msgid="3672145147925639262">"Ρυθμίσεις"</string>
     <string name="airplane_mode" msgid="8837269988154128601">"Λειτουργία πτήσης"</string>
     <string name="airplane_mode_summary" msgid="3154817401368780988">"Απενεργοποίηση όλων των ασύρματων συνδέσεων"</string>
@@ -323,6 +333,11 @@
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Ως τηλέφωνο ανοιχτής συνομιλίας"</string>
     <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Για μουσική και πολυμέσα"</string>
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Διατήρηση ρυθμίσεων"</string>
+    <string name="nfc_quick_toggle_title" msgid="6769159366307299004">"NFC"</string>
+    <string name="nfc_quick_toggle_summary" msgid="1988408027741447231">"Κάντε χρήση της Επικοινωνίας κοντινού πεδίου για την ανάγνωση και ανταλλαγή ετικετών"</string>
+    <!-- no translation found for nfc_toggle_error (2233172102497535522) -->
+    <!-- no translation found for nfc_toggle_error (8998642457947607263) -->
+    <skip />
     <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Ενεργοποίηση Wi-Fi"</string>
     <string name="wifi_settings" msgid="4746946030627213196">"Ρυθμίσεις Wi-Fi"</string>
@@ -376,6 +391,7 @@
     <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Ορισμός εναλλαγής από δεδομένα Wi-Fi σε δεδομένα κινητού"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Παρουσιάστηκε ένα πρόβλημα κατά τη ρύθμιση της πολιτικής κατάστασης αδράνειας."</string>
     <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Διεύθυνση MAC"</string>
+    <string name="wifi_advanced_ip_address_title" msgid="6215297094363164846">"Διεύθυνση IP"</string>
     <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Ρυθμίσεις IP"</string>
     <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Αποθ/ση"</string>
     <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Ακύρωση"</string>
@@ -496,9 +512,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Κατάσταση"</string>
     <string name="device_status" msgid="607405385799807324">"Κατάσταση"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Τηλεφωνικός αριθμός, σήμα κ.λπ."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"Κάρτα SD &amp; αποθηκευτικός χώρος τηλεφώνου"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Ρυθμίσεις κάρτας SD &amp; αποθηκευτικού χώρου τηλεφώνου"</string>
-    <string name="storage_settings_summary" msgid="9176693537325988610">"Αφαίρεση κάρτας SD, προβολή διαθέσιμου αποθηκευτικού χώρου"</string>
+    <string name="storage_settings" msgid="4211799979832404953">"Αποθηκευτικός χώρος"</string>
+    <string name="storage_settings_title" msgid="8746016738388094064">"Ρυθμίσεις αποθηκευτικού χώρου"</string>
+    <string name="storage_settings_summary" product="nosdcard" msgid="3543813623294870759">"Αποπροσάρτηση αποθηκευτικού χώρου USB, προβολή διαθέσιμου αποθηκευτικού χώρου"</string>
+    <string name="storage_settings_summary" product="default" msgid="9176693537325988610">"Αφαίρεση κάρτας SD, προβολή διαθέσιμου αποθηκευτικού χώρου"</string>
     <string name="status_number" msgid="5123197324870153205">"Ο τηλεφωνικός αριθμός μου"</string>
     <string name="status_min_number" msgid="3519504522179420597">"ΛΕΠΤΟ"</string>
     <string name="status_prl_version" msgid="8499039751817386529">"Έκδοση PRL"</string>
@@ -514,24 +531,36 @@
     <string name="status_unavailable" msgid="7862009036663793314">"Μη διαθέσιμο"</string>
     <string name="status_up_time" msgid="7294859476816760399">"Χρόνος από την τελευταία εκκίνηση"</string>
     <string name="status_awake_time" msgid="2393949909051183652">"Χρόνος αφύπνισης"</string>
-    <string name="internal_memory" msgid="1130932766236387454">"Εσωτερικός αποθηκευτικός χώρος τηλεφώνου"</string>
-    <string name="sd_memory" msgid="151871913888051515">"Κάρτα SD"</string>
+    <string name="internal_memory" msgid="9129595691484260784">"Εσωτερικός αποθηκευτικός χώρος"</string>
+    <string name="sd_memory" product="nosdcard" msgid="2510246194083052841">"Αποθ. χώρος USB"</string>
+    <string name="sd_memory" product="default" msgid="151871913888051515">"Κάρτα SD"</string>
     <string name="memory_available" msgid="418542433817289474">"Διαθέσιμος χώρος"</string>
     <string name="memory_size" msgid="6629067715017232195">"Συνολικός χώρος"</string>
-    <string name="sd_eject" msgid="6915293408836853020">"Αφαίρεση κάρτας SD"</string>
-    <string name="sd_eject_summary" msgid="3315557796211542962">"Αποπροσαρτήστε την κάρτα SD για ασφαλή αφαίρεση"</string>
-    <string name="sd_insert_summary" msgid="2048640010381803841">"Εισαγάγετε μια κάρτα SD για τοποθέτηση"</string>
-    <string name="sd_mount" msgid="5940523765187704135">"Τοποθέτηση κάρτας SD"</string>
-    <string name="sd_mount_summary" msgid="4936591681679097699">"Τοποθέτηση κάρτας SD"</string>
-    <string name="sd_format" msgid="5448738337382712203">"Διαμόρφωση κάρτας SD"</string>
-    <string name="sd_format_summary" msgid="6616491027883134004">"Διαμόρφωση (διαγραφή) της κάρτας SD"</string>
+    <string name="sd_eject" product="default" msgid="6915293408836853020">"Αφαίρεση κάρτας SD"</string>
+    <string name="sd_eject_summary" product="nosdcard" msgid="5009296896648072891">"Αποπροσ. εσωτ. χώρο αποθ. USB"</string>
+    <string name="sd_eject_summary" product="default" msgid="3300599435073550246">"Αποπροσαρτήστε την κάρτα SD για να την αφαιρέσετε με ασφάλεια"</string>
+    <string name="sd_insert_summary" product="nosdcard" msgid="5264016886409577313">"Εισ. απ. χώρ. USB για προσ."</string>
+    <string name="sd_insert_summary" product="default" msgid="2048640010381803841">"Εισαγάγετε μια κάρτα SD για τοποθέτηση"</string>
+    <string name="sd_mount" product="nosdcard" msgid="8966695015677343116">"Προσάρτ. χώρου αποθ. USB"</string>
+    <string name="sd_mount" product="default" msgid="5940523765187704135">"Τοποθέτηση κάρτας SD"</string>
+    <!-- outdated translation 6733254203291665551 -->     <string name="sd_mount_summary" product="nosdcard" msgid="1794150364965145726">"Προσαρ. τον εσ. αποθ. χώρο USB"</string>
+    <string name="sd_mount_summary" product="default" msgid="4936591681679097699">"Τοποθέτηση κάρτας SD"</string>
+    <string name="sd_format" product="nosdcard" msgid="2148179271623099054">"Διαγρ. αποθ. χώρου USB"</string>
+    <string name="sd_format" product="default" msgid="2576054280507119870">"Διαγραφή κάρτας SD"</string>
+    <string name="sd_format_summary" product="nosdcard" msgid="1504606546865152514">"Διαγρ. δεδ. εσωτ. απ. χώρ. USB"</string>
+    <string name="sd_format_summary" product="default" msgid="915849621390821841">"Διαγράφει όλα τα δεδομένα που υπάρχουν στην κάρτα SD του τηλεφώνου σας, όπως αρχεία μουσικής και φωτογραφίες"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"Μη διαθέσιμο"</string>
     <string name="read_only" msgid="6702420168629076340">" (Μόνο για ανάγνωση)"</string>
-    <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Αφαίρεση κάρτας SD"</string>
-    <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Εάν αφαιρέσετε την κάρτα SD, ορισμένες από τις εφαρμογές που χρησιμοποιείτε θα σταματήσουν και ενδέχεται να μην είναι διαθέσιμες μέχρι να την τοποθετήσετε ξανά."</string>
-    <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Η αφαίρεση της κάρτας SD απέτυχε"</string>
-    <string name="dlg_error_unmount_text" msgid="9188972789897713180">"Δεν είναι δυνατή η αφαίρεση της κάρτας SD. Προσπαθήστε ξανά αργότερα."</string>
-    <string name="unmount_inform_text" msgid="3213378327712151498">"Η κάρτα SD θα αφαιρεθεί. Ελέγξτε την περιοχή ειδοποιήσεων για πληροφορίες κατάστασης."</string>
+    <string name="dlg_confirm_unmount_title" product="nosdcard" msgid="2349876662428231297">"Αποπροσ. αποθ. χώρου USB"</string>
+    <string name="dlg_confirm_unmount_title" product="default" msgid="8612140627310646730">"Αφαίρεση κάρτας SD"</string>
+    <string name="dlg_confirm_unmount_text" product="nosdcard" msgid="3390169455621185223">"Εάν αποπροσαρτήσετε τον αποθηκευτικό χώρο USB, ορισμένες από τις εφαρμογές που χρησιμοποιείτε θα σταματήσουν και ενδέχεται να μην είναι διαθέσιμες μέχρι να τον τοποθετήσετε ξανά."</string>
+    <string name="dlg_confirm_unmount_text" product="default" msgid="5851214273718817727">"Εάν αφαιρέσετε την κάρτα SD, ορισμένες από τις εφαρμογές που χρησιμοποιείτε θα σταματήσουν και ενδέχεται να μην είναι διαθέσιμες μέχρι να την τοποθετήσετε ξανά."</string>
+    <string name="dlg_error_unmount_title" product="nosdcard" msgid="7695491947411836733">"Αποτ. αποπροσ. αποθ. χώρου USB"</string>
+    <string name="dlg_error_unmount_title" product="default" msgid="4004106918266783081">"Η αφαίρεση της κάρτας SD απέτυχε"</string>
+    <string name="dlg_error_unmount_text" product="nosdcard" msgid="1450864147013376592">"Αδυναμία αποπροσάρτησης αποθηκευτικού χώρου USB. Δοκιμάστε ξανά αργότερα."</string>
+    <string name="dlg_error_unmount_text" product="default" msgid="9188972789897713180">"Δεν είναι δυνατή η αφαίρεση της κάρτας SD. Προσπαθήστε ξανά αργότερα."</string>
+    <string name="unmount_inform_text" product="nosdcard" msgid="7120241136790744265">"Θα γίνει αποπροσάρτηση του αποθηκευτικού χώρου USB."</string>
+    <string name="unmount_inform_text" product="default" msgid="1904212716075458402">"Θα γίνει αποπροσάρτηση της κάρτας SD."</string>
     <string name="sd_ejecting_title" msgid="8824572198034365468">"Αφαίρεση"</string>
     <string name="sd_ejecting_summary" msgid="2028753069184908491">"Αφαίρεση σε εξέλιξη"</string>
     <string name="battery_status_title" msgid="9159414319574976203">"Κατάσταση μπαταρίας"</string>
@@ -571,21 +600,32 @@
     <string name="restore_default_apn_completed" msgid="3990449939234957281">"Η επαναφορά των εργοστασιακών ρυθμίσεων APN ολοκληρώθηκε"</string>
     <string name="master_clear_title" msgid="5907939616087039756">"Επαναφορά εργοστασιακών δεδομένων"</string>
     <string name="master_clear_summary" msgid="4986154238001088492">"Διαγραφή όλων των δεδομένων στο τηλέφωνο"</string>
-    <string name="master_clear_desc" msgid="7823268823499739178">"Αυτή η ενέργεια θα διαγράψει όλα τα δεδομένα από το τηλέφωνό σας, συμπεριλαμβανομένων:"\n<li>"του Λογαριασμού Google"</li>\n<li>"των δεδομένων και εφαρμογών συστήματος και εφαρμογών"</li>\n<li>"των εφαρμογών από λήψη"</li>\n"Δεν θα διαγράψει:"\n<li>"το τρέχον λογισμικό και τις ομαδοποιημένες εφαρμογές συστήματος"</li>\n<li>"τα αρχεία κάρτας SD, όπως μουσική ή φωτογραφίες"</li></string>
+    <string name="master_clear_desc" product="nosdcard" msgid="2163013814299528247">"Θα διαγραφούν όλα τα δεδομένα από τον "<b>"εσωτερικό χώρο αποθήκευσης"</b>" του τηλεφώνου σας, συμπεριλαμβανομένων:"\n\n<li>"Του Λογαριασμού σας Google"</li>\n<li>"Των ρυθμίσεων και των δεδομένων συστήματος και εφαρμογής"</li>\n<li>"Των εφαρμογών που έχουν ληφθεί"</li>\n\n"Για να γίνει εκκαθάριση όλων των δεδομένων αυτού του τηλεφώνου, θα πρέπει να γίνει διαγραφή του "<b>"αποθηκευτικού χώρου USB"</b>"."\n\n</string>
+    <string name="master_clear_desc" product="default" msgid="1741944496458365969">"Θα διαγραφούν όλα τα δεδομένα σας από τον "<b>"εσωτερικό χώρο αποθήκευσης"</b>", συμπεριλαμβανομένων:"\n\n<li>"Του Λογαριασμού σας Google"</li>\n<li>"Των ρυθμίσεων και των δεδομένων συστήματος και εφαρμογής"</li>\n<li>"Των εφαρμογών που έχουν ληφθεί"</li>\n\n"Η "<b>"κάρτα SD"</b>" πρέπει, επίσης, να διαγραφεί για την εκκαθάριση των αρχείων μουσικής, των εικόνων και άλλων δεδομένων του χρήστη."\n\n</string>
+    <string name="erase_external_storage" product="nosdcard" msgid="969364037450286809">"Διαγρ. αποθ. χώρου USB"</string>
+    <string name="erase_external_storage" product="default" msgid="1397239046334307625">"Διαγραφή κάρτας SD"</string>
+    <string name="erase_external_storage_description" product="nosdcard" msgid="1657838142707381027">"Διαγράψτε όλα τα δεδομένα που υπάρχουν στον εσωτερικό αποθηκευτικό χώρο του τηλεφώνου σας, όπως αρχεία μουσικής και φωτογραφίες."</string>
+    <string name="erase_external_storage_description" product="default" msgid="8100175974635894073">"Διαγράψτε όλα τα δεδομένα που υπάρχουν στην κάρτα SD του τηλεφώνου σας, όπως αρχεία μουσικής και φωτογραφίες."</string>
     <string name="master_clear_button_text" msgid="7550632653343157971">"Επαναφορά τηλεφώνου"</string>
     <string name="master_clear_final_desc" msgid="6917971132484622696">"Να πραγματοποιηθεί διαγραφή όλων των προσωπικών στοιχείων και τυχόν εφαρμογών από λήψη; Αυτή η ενέργεια δεν είναι αναστρέψιμη!"</string>
     <string name="master_clear_final_button_text" msgid="5390908019019242910">"Διαγραφή όλων"</string>
     <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Σχεδιάστε το μοτίβο ξεκλειδώματος"</string>
     <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"Πρέπει να σχεδιάσετε το μοτίβο ξεκλειδώματος για επιβεβαίωση επαναφοράς τηλεφώνου."</string>
     <string name="master_clear_failed" msgid="8655202125010189406">"Δεν πραγματοποιήθηκε επαναφορά επειδή η υπηρεσία Εκκαθάρισης συστήματος δεν είναι διαθέσιμη."</string>
-    <string name="media_format_title" msgid="4671276096695789895">"Διαμόρφωση κάρτας SD."</string>
-    <string name="media_format_summary" msgid="3805714639375830120">"Διαγραφή όλων των δεδομένων στην κάρτα SD"</string>
-    <string name="media_format_desc" msgid="1142563222357820834">"Αυτή η ενέργεια θα διαγράψει την κάρτα SD στο τηλέφωνο. Θα χάσετε όλα τα δεδομένα στην κάρτα!"</string>
-    <string name="media_format_button_text" msgid="370856400090190151">"Διαμόρφωση κάρτας SD"</string>
-    <string name="media_format_final_desc" msgid="1776666694910717198">"Να γίνει διαμόρφωση της κάρτας SD, η οποία θα διαγράψει όλα τα πολυμέσα σας; Η ενέργεια είναι μη αναστρέψιμη!"</string>
+    <string name="media_format_title" product="nosdcard" msgid="3999653431422767156">"Διαγρ. αποθ. χώρου USB"</string>
+    <string name="media_format_title" product="default" msgid="4427528440306787972">"Διαγραφή κάρτας SD"</string>
+    <string name="media_format_summary" product="nosdcard" msgid="776603298628082065">"Διαγρ. δεδομ. αποθ. χώρου USB"</string>
+    <string name="media_format_summary" product="default" msgid="3805714639375830120">"Διαγραφή όλων των δεδομένων στην κάρτα SD"</string>
+    <string name="media_format_desc" product="nosdcard" msgid="4553860683952763905">"Με αυτή την ενέργεια ο χώρος αποθήκευσης USB θα διαγραφεί. Θα χάσετε "<b>"όλα"</b>" τα δεδομένα που έχετε αποθηκεύσει εκεί!"</string>
+    <string name="media_format_desc" product="default" msgid="1598627584181935513">"Αυτή η ενέργεια θα διαγράψει την κάρτα SD. Θα χάσετε "<b>"όλα"</b>" τα δεδομένα που έχετε στην κάρτα!"</string>
+    <string name="media_format_button_text" product="nosdcard" msgid="6293669371185352810">"Διαγρ. αποθ. χώρου USB"</string>
+    <string name="media_format_button_text" product="default" msgid="6721544380069373626">"Διαγραφή κάρτας SD"</string>
+    <string name="media_format_final_desc" product="nosdcard" msgid="8094635533378487255">"Να γίνει διαγραφή του αποθηκευτικού χώρου USB, η οποία θα διαγράψει όλα τα αρχεία που έχετε αποθηκεύσει εκεί; Η ενέργεια είναι μη αναστρέψιμη!"</string>
+    <string name="media_format_final_desc" product="default" msgid="9015504991522581434">"Να γίνει διαγραφή της κάρτας SD, με την οποία θα διαγραφούν όλα τα αρχεία που έχετε αποθηκεύσει εκεί; Η ενέργεια είναι μη αναστρέψιμη!"</string>
     <string name="media_format_final_button_text" msgid="4881713344315923175">"Διαγραφή όλων"</string>
     <string name="media_format_gesture_prompt" msgid="3109349468816856670">"Σχεδιάστε το μοτίβο ξεκλειδώματος"</string>
-    <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Πρέπει να σχεδιάσετε το μοτίβο ξεκλειδώματος για επιβεβαίωση διαμόρφωσης μιας κάρτας SD."</string>
+    <string name="media_format_gesture_explanation" product="nosdcard" msgid="1379736318750958338">"Πρέπει να σχεδιάσετε το μοτίβο ξεκλειδώματος για να επιβεβαιώσετε ότι θέλετε να κάνετε διαγραφή του αποθηκευτικού χώρου USB."</string>
+    <string name="media_format_gesture_explanation" product="default" msgid="1681213416497647321">"Πρέπει να σχεδιάσετε το μοτίβο ξεκλειδώματος για να επιβεβαιώσετε ότι θέλετε να κάνετε διαγραφή της κάρτας SD."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Ρυθμίσεις κλήσης"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Ορισμ.αυτόμ.τηλεφ., προώθ.κλήσης, αναμ.κλήσης, αναγν.κλήσ."</string>
     <string name="tether_settings_title_usb" msgid="4315031513434087777">"Tethering"</string>
@@ -609,7 +649,7 @@
     <string name="location_networks_disabled" msgid="2708968452901433980">"Προβ.τοποθ.σε εφαρμ.(όπως π.χ. στους Χάρτες) με χρήση ασύρ.δικτ."</string>
     <string name="location_neighborhood_level" msgid="4656658097932515921">"Η τοποθ.προσδ.από δίκτ.Wi-Fi και/ή δίκτ.κινητ.τηλεφ."</string>
     <string name="location_gps" msgid="6296125378829097831">"Χρήση δορυφόρων GPS"</string>
-    <string name="location_street_level" msgid="6460740847018275745">"Κατά την εύρεση τοποθεσίας, η ακρίβεια είναι σε επίπεδο δρόμου (αποεπιλογή για εξοικονόμηση μπαταρίας)"</string>
+    <string name="location_street_level" msgid="7456259025474443314">"Κατά την εύρεση τοποθεσίας, η ακρίβεια είναι σε επίπεδο δρόμου"</string>
     <string name="location_gps_disabled" msgid="6632537158777308128">"Εντοπ.σε επίπ.δρόμου (απαιτ.μεγ.καταν.μπαταρ.και μετάβ.σε ανοικτό χώρο)"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"Χρήση υποβοηθούμενου GPS"</string>
     <string name="assisted_gps_enabled" msgid="8751899609589792803">"Χρήση διακομιστή για βοήθεια GPS (αποεπιλογή για να μειώσετε τη χρήση του δικτύου)"</string>
@@ -692,22 +732,31 @@
     <string name="application_size_label" msgid="5055196275624686382">"Εφαρμογή"</string>
     <string name="data_size_label" msgid="8679376373625710107">"Δεδομένα"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Κατάργηση εγκατάστασης"</string>
+    <string name="disable_text" msgid="6544054052049395202">"Απενεργοποίηση"</string>
+    <string name="enable_text" msgid="9217362512327828987">"Ενεργοποίηση"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Εκκαθάριση δεδομένων"</string>
     <string name="app_factory_reset" msgid="6635744722502563022">"Κατάργηση εγκατάστασης ενημερώσεων"</string>
     <string name="auto_launch_enable_text" msgid="2630656657744196691">"Επιλέξατε την εκτέλεση αυτής της εφαρμογής από προεπιλογή για ορισμένες ενέργειες."</string>
     <string name="auto_launch_disable_text" msgid="7800385822185540166">"Δεν έχουν οριστεί προεπιλογές."</string>
     <string name="clear_activities" msgid="7408923511535174430">"Εκκαθάριση προεπιλογών"</string>
     <string name="unknown" msgid="1592123443519355854">"Άγνωστο"</string>
-    <string name="sort_order_alpha" msgid="8622029358896599842">"Ταξινόμηση"</string>
+    <string name="sort_order_alpha" msgid="1410278099123670628">"Ταξινόμηση κατά όνομα"</string>
     <string name="sort_order_size" msgid="7024513286636502362">"Ταξινόμηση με βάση μέγεθος"</string>
+    <string name="show_running_services" msgid="5736278767975544570">"Εμφ. υπ. που εκτελούνται"</string>
+    <string name="show_background_processes" msgid="2009840211972293429">"Εμφ. διαδ. προσωρ. μνήμης"</string>
     <string name="manage_space_text" msgid="8852711522447794676">"Διαχείριση χώρου"</string>
     <string name="filter" msgid="2018011724373033887">"Φίλτρο"</string>
     <string name="filter_dlg_title" msgid="6507663329723966854">"Επιλογές φίλτρου"</string>
     <string name="filter_apps_all" msgid="5142129378749391876">"Όλα"</string>
     <string name="filter_apps_third_party" msgid="7786348047690140979">"Η λήψη ολοκληρώθηκε"</string>
     <string name="filter_apps_running" msgid="7767071454371350486">"Εκτελείται"</string>
-    <string name="filter_apps_onsdcard" msgid="1477351142334784771">"Στην κάρτα SD"</string>
-    <string name="loading" msgid="3200408047793887917">"Φόρτωση..."</string>
+    <string name="filter_apps_onsdcard" product="nosdcard" msgid="4843063154701023349">"Αποθ. χώρος USB"</string>
+    <string name="filter_apps_onsdcard" product="default" msgid="1477351142334784771">"Στην κάρτα SD"</string>
+    <string name="disabled" msgid="9206776641295849915">"Απενεργοποιημένο"</string>
+    <string name="no_applications" msgid="5190227407135243904">"Δεν υπάρχουν εφαρμογές."</string>
+    <string name="internal_storage" msgid="1584700623164275282">"Εσ. αποθ. χώρος"</string>
+    <string name="sd_card_storage" product="nosdcard" msgid="2673203150465132465">"Αποθ. χώρος USB"</string>
+    <string name="sd_card_storage" product="default" msgid="7623513618171928235">"Κάρ. χώρ. απ. SD"</string>
     <string name="recompute_size" msgid="7722567982831691718">"Εκ νέου υπολογισμός μεγέθους..."</string>
     <string name="clear_data_dlg_title" msgid="4470209520936375508">"Διαγραφή"</string>
     <string name="clear_data_dlg_text" msgid="8368035073300828451">"Όλα τα δεδομένα της εφαρμογής θα διαγραφούν μόνιμα. Αυτό περιλαμβάνει όλα τα αρχεία, τις ρυθμίσεις, τους λογαριασμούς, τις βάσεις δεδομένων και τα λοιπά."</string>
@@ -727,7 +776,8 @@
     <string name="version_text" msgid="9189073826278676425">"έκδοση <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5042838441401731346">"Μετακίνηση"</string>
     <string name="move_app_to_internal" msgid="3895430471913858185">"Μετακίνηση στο τηλέφωνο"</string>
-    <string name="move_app_to_sdcard" msgid="1143379049903056407">"Μετακίνηση στην κάρτα SD"</string>
+    <string name="move_app_to_sdcard" product="nosdcard" msgid="4350451696315265420">"Μετακ. σε αποθ. χώρο USB"</string>
+    <string name="move_app_to_sdcard" product="default" msgid="1143379049903056407">"Μετακίνηση στην κάρτα SD"</string>
     <string name="moving" msgid="6431016143218876491">"Μετακίνηση"</string>
     <string name="insufficient_storage" msgid="8566913062094452962">"Ο διαθέσιμος χώρος αποθήκευσης δεν επαρκεί."</string>
     <string name="does_not_exist" msgid="837163572898468245">"Η εφαρμογή δεν υπάρχει."</string>
@@ -735,29 +785,49 @@
     <string name="invalid_location" msgid="4934491353200240499">"Η καθορισμένη τοποθεσία εγκατάστασης δεν είναι έγκυρη."</string>
     <string name="system_package" msgid="1030561474413022831">"Δεν είναι δυνατή η αποθήκευση των ενημερώσεων συστήματος σε εξωτερικά μέσα."</string>
     <string name="force_stop_dlg_title" msgid="4289453224368188476">"Αναγκαστική διακοπή"</string>
-    <string name="force_stop_dlg_text" msgid="3381302041569982075">"Θα γίνει αμέσως επανεκκίνηση αυτής της εφαρμογής. Είστε βέβαιοι ότι θέλετε να γίνει διακοπή;"</string>
+    <string name="force_stop_dlg_text" msgid="5157374701213502922">"Η αναγκαστική διακοπή μιας εφαρμογής μπορεί να προκαλέσει πρόβλημα στη λειτουργία της. Είστε σίγουροι;"</string>
     <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Μετακίνηση εφαρμογής"</string>
     <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Η μετακίνηση της εφαρμογής απέτυχε. <xliff:g id="REASON">%1$s</xliff:g>"</string>
     <string name="app_install_location_title" msgid="2068975150026852168">"Προτιμώμενη θέση εγκατάστασης"</string>
     <string name="app_install_location_summary" msgid="879753854530300436">"Αλλαγή της προτιμώμενης θέσης εγκατάστασης για νέες εφαρμογές."</string>
+    <string name="storageuse_settings_title" msgid="5657014373502630403">"Αποθηκευτικός χώρος"</string>
+    <string name="storageuse_settings_summary" msgid="2556057379120846792">"Προβολή του χώρου αποθήκευσης που χρησιμοποιούν οι εφαρμογές"</string>
     <string name="runningservices_settings_title" msgid="8097287939865165213">"Υπηρεσίες που εκτελούνται"</string>
     <string name="runningservices_settings_summary" msgid="854608995821032748">"Προβολή και έλεγχος των εφαρμογών που εκτελούνται αυτή τη στιγμή"</string>
     <string name="service_restarting" msgid="2242747937372354306">"Γίνεται επανεκκίνηση"</string>
-    <string name="no_running_services" msgid="6981216347270280598">"Δεν εκτελούνται υπηρεσίες"</string>
-    <string name="confirm_stop_service" msgid="5700448757318301681">"Διακοπή υπηρεσίας;"</string>
-    <string name="confirm_stop_service_msg" msgid="1166661293369421272">"Η υπηρεσία δεν θα εκτελείται έως ότου επανεκκινηθεί. Αυτό ενδέχεται να έχει μη επιθυμητά αποτελέσματα στην εφαρμογή <xliff:g id="APPLICATION">%1$s</xliff:g>."</string>
-    <string name="confirm_stop_stop" msgid="7382363913280993331">"Διακοπή"</string>
-    <string name="confirm_stop_cancel" msgid="206495326622692381">"Άκυρο"</string>
-    <string name="service_started_by_app" msgid="8432097226392386802">"Έγινε εκκίνηση από εφαρμογή: άγγιγμα για παύση"</string>
-    <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: αγγίξτε για διαχείριση"</string>
-    <string name="service_background_processes" msgid="5158600475629177758">"Διαθ.: <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g> στα <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_foreground_processes" msgid="4013890350284680796">"Άλλο: <xliff:g id="MEMORY">%2$s</xliff:g> στα <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_process_name" msgid="8630408984456958400">"Διεργασία: <xliff:g id="PROCESS">%1$s</xliff:g>"</string>
+    <string name="cached" msgid="1059590879740175019">"Διαδικασία προσωρινά αποθηκευμένου φόντου"</string>
+    <string name="no_running_services" msgid="2059536495597645347">"Τίποτα σε εξέλιξη."</string>
+    <string name="service_started_by_app" msgid="6575184738671598131">"Έναρξη από την εφαρμογή."</string>
+    <!-- no translation found for service_client_name (4037193625611815517) -->
+    <skip />
+    <string name="service_background_processes" msgid="6844156253576174488">"<xliff:g id="MEMORY">%1$s</xliff:g> δωρ."</string>
+    <string name="service_foreground_processes" msgid="7583975676795574276">"<xliff:g id="MEMORY">%1$s</xliff:g> μετ."</string>
+    <string name="memory" msgid="6609961111091483458">"RAM"</string>
+    <!-- no translation found for service_process_name (4098932168654826656) -->
+    <skip />
+    <string name="running_processes_item_description_s_s" msgid="5790575965282023145">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> διεργασία και <xliff:g id="NUMSERVICES">%2$d</xliff:g> υπηρεσία"</string>
+    <string name="running_processes_item_description_s_p" msgid="8019860457123222953">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> διεργασία και <xliff:g id="NUMSERVICES">%2$d</xliff:g> υπηρεσίες"</string>
+    <string name="running_processes_item_description_p_s" msgid="744424668287252915">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> διεργασίες και <xliff:g id="NUMSERVICES">%2$d</xliff:g> υπηρεσία"</string>
+    <string name="running_processes_item_description_p_p" msgid="1607384595790852782">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> διεργασίες και <xliff:g id="NUMSERVICES">%2$d</xliff:g> υπηρεσίες"</string>
+    <string name="runningservicedetails_settings_title" msgid="6188692418986988288">"Εκτέλεση εφαρμογής"</string>
+    <string name="no_services" msgid="7133900764462288263">"Ανενεργό"</string>
+    <string name="runningservicedetails_services_title" msgid="391168243725357375">"Υπηρεσίες"</string>
+    <string name="runningservicedetails_processes_title" msgid="928115582044655268">"Διεργασίες"</string>
+    <string name="service_stop" msgid="6369807553277527248">"Διακοπή"</string>
+    <string name="service_manage" msgid="1876642087421959194">"Ρυθμίσεις"</string>
+    <string name="service_stop_description" msgid="3261798282116866961">"Αυτή η υπηρεσία εκκινήθηκε από αυτή την εφαρμογή. Η διακοπή της μπορεί να προκαλέσει αποτυχία της εφαρμογής."</string>
+    <string name="heavy_weight_stop_description" msgid="6855241582643136019">"Αυτή η εφαρμογή δεν μπορεί να διακοπεί με ασφάλεια. Αν το κάνετε, μπορεί να χάσετε την τρέχουσα εργασία σας."</string>
+    <string name="background_process_stop_description" msgid="1728354083304746737">"Πρόκειται για μια παλιά διαδικασία εφαρμογής η οποία διατηρείται για καλύτερη ταχύτητα σε περίπτωση που χρειαστεί ξανά. Συνήθως δεν υπάρχει λόγος διακοπής της."</string>
+    <string name="service_manage_description" msgid="7050092269951613102">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: χρησιμοποιείται. Πατήστε την επιλογή \"Ρυθμίσεις\" για έλεγχο."</string>
+    <string name="main_running_process_description" msgid="929204645380391397">"Κύρια διεργασία σε χρήση."</string>
+    <string name="process_service_in_use_description" msgid="8993335064403217080">"Η υπηρεσία <xliff:g id="COMP_NAME">%1$s</xliff:g> χρησιμοποιείται."</string>
+    <string name="process_provider_in_use_description" msgid="5586603325677678940">"Ο πάροχος <xliff:g id="COMP_NAME">%1$s</xliff:g> χρησιμοποιείται."</string>
+    <string name="runningservicedetails_stop_dlg_title" msgid="4253292537154337233">"Διακοπή υπηρεσίας συστήματος;"</string>
+    <string name="runningservicedetails_stop_dlg_text" msgid="6929716497425738387">"Είστε ακόμα σίγουροι ότι θέλετε να διακόψετε αυτή την υπηρεσία συστήματος; Αν ναι, κάποιες λειτουργίες του τηλεφώνου σας ενδέχεται να σταματήσουν να λειτουργούν σωστά μέχρι να απενεργοποιήσετε και να ενεργοποιήσετε ξανά την υπηρεσία."</string>
     <string name="language_settings" msgid="502219872342167227">"Γλώσσα και πληκτρολόγιο"</string>
     <string name="language_keyboard_settings_title" msgid="3455826933385341107">"Ρυθμίσεις γλώσσας και πληκτρολογίου"</string>
-    <string name="language_settings_summary" msgid="595647729475399987">"Ορισμ.τοπ.ρυθμ.(γλώσσα και περιοχή), είσ.κειμ.και επιλ.αυτόμ.διόρθ."</string>
-    <string name="language_category" msgid="3391756582724541530">"Τοπικές ρυθμίσεις"</string>
-    <string name="text_category" msgid="6342540511465136739">"Ρυθμίσεις κειμένου"</string>
+    <string name="language_settings_category" msgid="2288258489940617043">"Ρυθμίσεις γλώσσας"</string>
+    <string name="keyboard_settings_category" msgid="7060453865544070642">"Ρυθμίσεις πληκτρολογίου"</string>
     <string name="phone_language" msgid="1165758957501090679">"Επιλογή γλώσσας"</string>
     <string name="phone_language_summary" msgid="3871309445655554211"></string>
     <string name="auto_replace" msgid="6199184757891937822">"Αυτόματη αντικατάσταση"</string>
@@ -782,7 +852,6 @@
     <string name="testing" msgid="6584352735303604146">"Δοκιμή"</string>
     <string name="testing_phone_info" msgid="8656693364332840056">"Πληροφορίες τηλεφώνου"</string>
     <string name="testing_battery_info" msgid="3497865525976497848">"Πληροφορίες μπαταρίας"</string>
-    <string name="testing_battery_history" msgid="3043329445810695647">"Ιστορικό μπαταρίας"</string>
     <string name="quick_launch_title" msgid="7904609846945905306">"Γρήγορη εκκίνηση"</string>
     <string name="quick_launch_summary" msgid="3453825712466417452">"Ορισμός συντομεύσεων πληκτρολογίου για την εκκίνηση εφαρμογών"</string>
     <string name="quick_launch_assign_application" msgid="4521368464929956350">"Ορισμός εφαρμογής"</string>
@@ -798,8 +867,8 @@
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Διαχείριση επιλογών εισόδου κειμένου"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Ρυθμίσεις <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Ρυθμίσεις πληκτρολογίου οθόνης"</string>
-    <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"Πληκτρολόγιο συσκευής"</string>
-    <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"Ενσωματωμένες ρυθμίσεις πληκτρολογίου"</string>
+    <string name="builtin_keyboard_settings_title" msgid="5274990495405941804">"Ενσωματωμένο πληκτρολόγιο"</string>
+    <string name="builtin_keyboard_settings_summary" msgid="7990296351888096836">"Ρυθμίσεις ενσωματωμένου κανονικού πληκτρολογίου"</string>
     <string name="development_settings_title" msgid="6719732334835420989">"Ανάπτυξη"</string>
     <string name="development_settings_summary" msgid="2151320488701538355">"Ορισμός επιλογών για ανάπτυξη εφαρμογής"</string>
     <string name="enable_adb" msgid="7982306934419797485">"Εντοπισμός σφαλμάτων USB"</string>
@@ -812,36 +881,10 @@
     <string name="adb_warning_message" msgid="5352555112049663033">"Ο εντοπισμός σφαλμάτων USB προορίζεται μόνο για σκοπούς προγραμματισμού. Μπορεί να χρησιμοποιηθεί για αντιγραφή δεδομένων μεταξύ του υπολογιστή και της συσκευής σας, για την εγκατάσταση εφαρμογών στη συσκευή σας χωρίς προειδοποίηση και για την ανάγνωση δεδομένων καταγραφής."</string>
     <string name="gadget_picker_title" msgid="98374951396755811">"Επιλογή gadget"</string>
     <string name="widget_picker_title" msgid="9130684134213467557">"Επιλογή γραφικού στοιχείου"</string>
-    <string name="battery_history_details_for" msgid="5924639922153109669">"Λεπτομέρειες για UID <xliff:g id="NUMBER">%d</xliff:g>"</string>
-    <string name="battery_history_uid" msgid="1016606150528436298">"UID <xliff:g id="USER_ID">%1$d</xliff:g>"</string>
-    <string name="battery_history_network_usage" msgid="8010852371665217020">"Λεπτομέρειες χρήσης δικτύου για <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_bytes_received" msgid="980307569180518302">"Αριθμός byte που ελήφθησαν: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_sent" msgid="2501748768602119159">"Αριθμός byte που απεστάλησαν: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_total" msgid="4444807574361642753">"Συνολικό μέγεθος σε bytes: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_cpu_usage" msgid="2597353713014790877">"Λεπτομέρειες χρήσης CPU για <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_user_time" msgid="6227507614894791359">"Χρόνος χρήστη:"</string>
-    <string name="battery_history_system_time" msgid="2015862072724507547">"Ώρα συστήματος:"</string>
-    <string name="battery_history_total_time" msgid="3618703970098556104">"Συνολικός χρόνος:"</string>
-    <string name="battery_history_starts" msgid="9137453931978571696">"Ξεκινά: <xliff:g id="STARTS">%1$d</xliff:g>"</string>
     <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g>η <xliff:g id="HOURS">%2$d</xliff:g>ω <xliff:g id="MINUTES">%3$d</xliff:g>λ <xliff:g id="SECONDS">%4$d</xliff:g>δ"</string>
     <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g>ω <xliff:g id="MINUTES">%2$d</xliff:g>λ <xliff:g id="SECONDS">%3$d</xliff:g>δ"</string>
     <string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g>λ <xliff:g id="SECONDS">%2$d</xliff:g>δ"</string>
     <string name="battery_history_seconds" msgid="4283492130945761685">"<xliff:g id="SECONDS">%1$d</xliff:g>δ"</string>
-    <string name="battery_history_packages_sharing_this_uid" msgid="4101596071379250050">"Πακέτα που μοιράζονται αυτό το UID:"</string>
-    <string name="battery_history_no_data" msgid="1177238743237067617">"Δεν υπάρχουν διαθέσιμα δεδομένα χρήσης μπαταρίας"</string>
-    <string name="battery_history_sensor" msgid="2333488996028993982">"Αισθητήρας:"</string>
-    <string name="battery_history_wakelock" msgid="608683447522396293">"Μερικό κλείδωμα αφύπνισης"</string>
-    <string name="battery_history_used_by_packages" msgid="3000711380023436470">"Αισθητήρας που χρησιμοποιείται από πακέτα:"</string>
-    <string name="battery_history_sensor_usage" msgid="3593133338613209024">"Χρησιμοποιήθηκε <xliff:g id="COUNT">%1$d</xliff:g> φορές από <xliff:g id="PACKAGE">%2$s</xliff:g>"</string>
-    <string name="battery_history_sensor_usage_multi" msgid="4536084375991014508">"Χρησιμοποιήθηκε <xliff:g id="COUNT">%1$d</xliff:g> φορές από ένα εκ των:"</string>
-    <string name="battery_history_awake_label" msgid="8449792868990080882">"Εκτελείται"</string>
-    <string name="battery_history_screen_on_label" msgid="1848936521786339362">"Οθόνη ενεργοποιημένη"</string>
-    <string name="battery_history_phone_on_label" msgid="700191958853142297">"Τηλέφωνο ενεργοποιημένο"</string>
-    <string name="battery_history_awake" msgid="4350886665719031057">"Χρόνος εκτός κατάστασης αδράνειας:"</string>
-    <string name="battery_history_screen_on" msgid="1377240025275657277">"Χρόνος που παρήλθε με ενεργοποιημένη οθόνη:"</string>
-    <string name="battery_history_phone_on" msgid="4891504401623839532">"Χρόνος που παρήλθε με ενεργοποιημένο τηλέφωνο:"</string>
-    <string name="battery_history_screen_on_battery" msgid="536058210445081888">"Ενεργοποιημένη μπαταρία:"</string>
-    <string name="battery_history_screen_on_plugged" msgid="5019127390021871260">"Συνδεδεμένο σε:"</string>
     <string name="usage_stats_label" msgid="5890846333487083609">"Στατιστικά χρήσης"</string>
     <string name="testing_usage_stats" msgid="7823048598893937339">"Στατιστικά χρήσης"</string>
     <string name="display_order_text" msgid="8592776965827565271">"Ταξινόμηση με βάση:"</string>
@@ -865,12 +908,19 @@
     <string name="power_usage_summary" msgid="7237084831082848168">"Τι χρησιμοποιούσε την μπαταρία"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Χρήση μπαταρίας από τη στιγμή της αποσύνδεσης από την τροφοδοσία"</string>
     <string name="battery_since_reset" msgid="7464546661121187045">"Χρήση μπαταρίας από τη στιγμή της επαναφοράς"</string>
+    <string name="battery_stats_on_battery" msgid="4970762168505236033">"<xliff:g id="TIME">%1$s</xliff:g> με μπαταρία"</string>
     <string name="battery_stats_duration" msgid="7464501326709469282">"<xliff:g id="TIME">%1$s</xliff:g> από την αποσύνδεση"</string>
+    <string name="battery_stats_charging_label" msgid="4223311142875178785">"Φόρτιση"</string>
+    <string name="battery_stats_screen_on_label" msgid="7150221809877509708">"Οθόνη ενεργοποιημένη"</string>
+    <string name="battery_stats_gps_on_label" msgid="1193657533641951256">"GPS ενεργοποιημένο"</string>
+    <string name="battery_stats_wifi_running_label" msgid="3093545080361658269">"Wi-Fi"</string>
+    <string name="battery_stats_wake_lock_label" msgid="1908942681902324095">"Κανον. λειτ."</string>
+    <string name="battery_stats_phone_signal_label" msgid="6822042940376636775">"Σήμα τηλεφώνου"</string>
     <!-- no translation found for battery_stats_last_duration (1535831453827905957) -->
     <skip />
     <string name="awake" msgid="387122265874485088">"Χρόνος ενεργοποίησης της συσκευής"</string>
-    <string name="wifi_on_time" msgid="4630925382578609056">"Ώρα ενεργοποίησης WiFi"</string>
-    <string name="bluetooth_on_time" msgid="4478515071957280711">"Ώρα ενεργοποίησης WiFi"</string>
+    <string name="wifi_on_time" msgid="6310209835617490616">"Wi-Fi στην ώρα του"</string>
+    <string name="bluetooth_on_time" msgid="6157799524996162271">"Wi-Fi στην ώρα του"</string>
     <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g> - <xliff:g id="NUMBER">%2$s</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
     <string name="details_title" msgid="7564809986329021063">"Λεπτομέρειες από τη χρήση της μπαταρίας"</string>
     <string name="details_subtitle" msgid="32593908269911734">"Λεπτομέρειες χρήσης"</string>
@@ -884,7 +934,9 @@
     <string name="power_idle" msgid="9055659695602194990">"Το τηλέφωνο είναι αδρανές"</string>
     <string name="usage_type_cpu" msgid="715162150698338714">"Συνολικός χρόνος CPU"</string>
     <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"Προσκήνιο CPU"</string>
+    <string name="usage_type_wake_lock" msgid="5125438890233677880">"Διατήρηση λειτουρ."</string>
     <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string>
+    <string name="usage_type_wifi_running" msgid="8234997940652067049">"Το Wi-Fi είναι ενεργοποιημένο"</string>
     <string name="usage_type_phone" msgid="9108247984998041853">"Τηλέφωνο"</string>
     <string name="usage_type_data_send" msgid="2857401966985425427">"Τα δεδομένα εστάλησαν"</string>
     <string name="usage_type_data_recv" msgid="7251090882025234185">"Τα δεδομένα ελήφθησαν"</string>
@@ -896,7 +948,7 @@
     <string name="battery_action_app_details" msgid="3275013531871113681">"Πληροφορίες εφαρμογής"</string>
     <string name="battery_action_app_settings" msgid="350562653472577250">"Ρυθμίσεις εφαρμογών"</string>
     <string name="battery_action_display" msgid="5302763261448580102">"Ρυθμίσεις προβολής"</string>
-    <string name="battery_action_wifi" msgid="5452076674659927993">"Ρυθμίσεις WiFi"</string>
+    <string name="battery_action_wifi" msgid="2272741639606146903">"Ρυθμίσεις Wi-Fi"</string>
     <string name="battery_action_bluetooth" msgid="8374789049507723142">"Ρυθμίσεις Bluetooth"</string>
     <string name="battery_desc_voice" msgid="8980322055722959211">"Μπαταρία που χρησιμοποιείται από φωνητικές κλήσεις"</string>
     <string name="battery_desc_standby" msgid="3009080001948091424">"Χρήση μπαταρίας όταν το τηλέφωνο είναι αδρανές"</string>
@@ -909,9 +961,9 @@
     <string name="battery_desc_bluetooth" msgid="7535520658674621902">"Μπαταρία που χρησιμοποιείται από το Bluetooth"</string>
     <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"Απενεργοποίηση του Bluetooth όταν δεν το χρησιμοποιείτε"</string>
     <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"Δοκιμή σύνδεσης σε διαφορετική συσκευή bluetooth"</string>
-    <string name="battery_desc_apps" msgid="8123202939321333639">"Χρήση μπαταρίας κατά την εκτέλεση των εφαρμογών"</string>
+    <string name="battery_desc_apps" msgid="6665712811746233450">"Μπαταρία που χρησιμοποιείται από την εφαρμογή"</string>
     <string name="battery_sugg_apps_info" msgid="6065882899391322442">"Τερματισμός ή κατάργηση εγκατάστασης της εφαρμογής"</string>
-    <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"Απενεργοποίηση του GPS όταν δεν χρησιμοποιείται"</string>
+    <string name="battery_sugg_apps_gps" msgid="4545056413090932541">"Χειροκίνητος έλεγχος του GPS για την αποφυγή χρήσης του από την εφαρμογή"</string>
     <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"Η εφαρμογή ενδέχεται να προσφέρει ρυθμίσεις που θα μειώσουν τη χρήση της μπαταρίας"</string>
     <string name="menu_stats_unplugged" msgid="8296577130840261624">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> από την αποσύνδεση"</string>
     <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"Από την τελευταία αποσύνδεση για <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
@@ -921,7 +973,7 @@
     <string name="process_mediaserver_label" msgid="6500382062945689285">"Mediaserver"</string>
     <string name="voice_input_output_settings" msgid="1336135218350444783">"Φωνητική είσοδος και έξοδος"</string>
     <string name="voice_input_output_settings_title" msgid="2442850635048676991">"Ρυθμίσεις φωνητικής εισόδου και εξόδου"</string>
-    <string name="voice_search_settings_title" msgid="2775469246913196536">"Αναζήτηση με φωνή"</string>
+    <string name="voice_search_settings_title" msgid="2775469246913196536">"Φωνητική αναζήτηση"</string>
     <string name="keyboard_settings_title" msgid="5080115226780201234">"Πληκτρολόγιο Android"</string>
     <string name="voice_input_category" msgid="1589318440824204736">"Φωνητική είσοδος"</string>
     <string name="voice_output_category" msgid="2624538587784986229">"Φωνητική έξοδος"</string>
@@ -961,6 +1013,8 @@
     <string name="pico_not_installed" msgid="6266845418419994311">"Δεν έχει εγκατασταθεί"</string>
     <string name="pico_voice_summary_female" msgid="8047327176247727492">"Γυναίκα"</string>
     <string name="pico_voice_summary_male" msgid="8331266854058577610">"Άντρας"</string>
+    <string name="tts_notif_engine_install_title" msgid="7000346872482649034">"Εγκατ. μηχανής σύνθεσης λόγου"</string>
+    <string name="tts_notif_engine_install_message" msgid="5304661142202662693">"Εν. νέας μηχανής πριν τη χρήση"</string>
     <string name="gadget_title" msgid="7455548605888590466">"Έλεγχος ισχύος"</string>
     <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Ενημέρωση ρύθμισης Wi-Fi"</string>
     <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Ενημέρωση ρύθμισης Bluetooth"</string>
@@ -1047,8 +1101,10 @@
     <string name="credentials_access_summary" msgid="319662078718574168">"Να επιτρέπεται στις εφαρμογές η πρόσβαση σε ασφαλή πιστοποιητικά και άλλα διαπιστευτήρια"</string>
     <string name="credentials_unlock" msgid="1463040326264133844">"Εισαγωγή κωδικού πρόσβασης"</string>
     <string name="credentials_unlock_hint" msgid="594679530407918031">"Εισαγάγετε τον κωδικό πρόσβασης του χώρου αποθήκευσης διαπιστευτηρίων."</string>
-    <string name="credentials_install_certificates" msgid="177337517568022236">"Εγκατάσταση από κάρτα SD"</string>
-    <string name="credentials_install_certificates_summary" msgid="7737001268684193093">"Εγκατάσταση κρυπτογραφημένων πιστοποιητικών από την κάρτα SD"</string>
+    <string name="credentials_install_certificates" product="nosdcard" msgid="619171634797689906">"Εγκ. από αποθ. χώρο USB"</string>
+    <string name="credentials_install_certificates" product="default" msgid="177337517568022236">"Εγκατάσταση από κάρτα SD"</string>
+    <string name="credentials_install_certificates_summary" product="nosdcard" msgid="8920330112631198575">"Εγκ. κρ. πιστ. απ. χώρο USB"</string>
+    <string name="credentials_install_certificates_summary" product="default" msgid="7737001268684193093">"Εγκατάσταση κρυπτογραφημένων πιστοποιητικών από την κάρτα SD"</string>
     <string name="credentials_set_password" msgid="9104473585811899989">"Ορισμός κωδικού πρόσβασης"</string>
     <string name="credentials_set_password_summary" msgid="8287876917562085701">"Ορισμός ή αλλαγή κωδικού πρόσβασης χώρου αποθήκευσης διαπιστευτηρίων"</string>
     <string name="credentials_reset" msgid="9170150870552453457">"Εκκαθάριση χώρου αποθήκευσης"</string>
@@ -1068,6 +1124,16 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Αυτός ο χώρος αποθήκευσης διαπιστευτηρίων διαγράφτηκε."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Ο χώρος αποθήκευσης διαπιστευτηρίων ενεργοποιήθηκε."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Ο χώρος αποθήκευσης διαπιστευτηρίων απενεργοποιήθηκε."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Κρυπτογραφημένο σύστημα αρχείων"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Κρυπτογράφηση ιδιωτικών δεδομένων χρήστη"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Ενεργοποίηση αποθήκευσης κρυπτογραφημένου συστήματος αρχείων για ιδιωτικά δεδομένα χρήστη σε αυτήν τη συσκευή"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Για την ενεργοποίηση των κρυπτογραφημένων συστημάτων αρχείων απαιτείται σβήσιμο των δεδομένων συσκευής."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Για την απενεργοποίηση των κρυπτογραφημένων συστημάτων αρχείων απαιτείται σβήσιμο των δεδομένων συσκευής."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Ενεργοποίηση"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Απενεργοποίηση"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Ακύρωση"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Η αλλαγή λειτουργίας κρυπτογραφημένων συστημάτων αρχείων ακυρώθηκε."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Προειδοποίηση κρυπτογραφημένων συστημάτων αρχείων."</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Τόνος επείγουσας ανάγκης"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Ορισμός συμπεριφοράς κατά την πραγματοποίηση κλήσης επείγουσας ανάγκης"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Απόρρητο"</string>
@@ -1075,11 +1141,11 @@
     <string name="backup_section_title" msgid="8856083167469467588">"Δημιουργία αντιγράφου ασφαλείας και επαναφορά"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Προσωπικά δεδομένα"</string>
     <string name="backup_data_title" msgid="1239105919852668016">"Δημιουργία αντιγράφων ασφαλείας για τα δεδομένα μου"</string>
-    <string name="backup_data_summary" msgid="5662190190240860035">"Δημιουργία αντιγράφων ασφαλείας για τις ρυθμίσεις και τα δεδομένα εφαρμογών."</string>
+    <string name="backup_data_summary" msgid="6515285107793232815">"Δεδομένα εφαρμογής δημιουργίας αντιγράφων ασφαλείας, κωδικοί πρόσβασης Wi-Fi και άλλες ρυθμίσεις στους διακομιστές Google"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Αυτόματη επαναφορά"</string>
-    <string name="auto_restore_summary" msgid="6867766474057290177">"Εάν εγκαταστήσω ξανά μια εφαρμογή, να γίνει επαναφορά των ρυθμίσεων ή άλλων δεδομένων για τα οποία έχουν δημιουργηθεί αντίγραφα ασφαλείας."</string>
+    <string name="auto_restore_summary" msgid="83177150536734378">"Εάν εγκαταστήσω ξανά μια εφαρμογή, να γίνει επαναφορά των ρυθμίσεων ή άλλων δεδομένων για τα οποία έχουν δημιουργηθεί αντίγραφα ασφαλείας"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Αντίγραφο ασφαλείας"</string>
-    <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Είστε βέβαιοι ότι θέλετε να διακόψετε τη δημιουργία αντιγράφων ασφαλείας των ρυθμίσεων και των δεδομένων εφαρμογών σας και να διαγράψετε όλα τα αντίγραφα από τους διακομιστές της Google;"</string>
+    <string name="backup_erase_dialog_message" msgid="7766283133557587608">"Είστε βέβαιοι ότι θέλετε να διακόψετε τη δημιουργία αντιγράφων ασφαλείας των κωδικών Wi-Fi, των σελιδοδεικτών και άλλων ρυθμίσεων και των δεδομένων εφαρμογών και να διαγράψετε όλα τα αντίγραφα από τους διακομιστές της Google;"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Ρυθμίσεις διαχείρισης συσκευής"</string>
     <string name="active_device_admin_msg" msgid="6930903262612422111">"Διαχειριστής συσκευής"</string>
     <string name="remove_device_admin" msgid="3596845261596451437">"Απενεργοποίηση"</string>
diff --git a/res/values-es-rUS/arrays.xml b/res/values-es-rUS/arrays.xml
index 099f3fc..e429620 100644
--- a/res/values-es-rUS/arrays.xml
+++ b/res/values-es-rUS/arrays.xml
@@ -115,19 +115,6 @@
     <item msgid="1549288661423279207">"Nunca cuando está conectado"</item>
     <item msgid="1986753720941888596">"Nunca"</item>
   </string-array>
-  <string-array name="battery_history_type_spinner">
-    <item msgid="2193799199027871385">"Uso de CPU"</item>
-    <item msgid="6401018715947316517">"Uso de red"</item>
-    <item msgid="188092590354892392">"Uso de GPS"</item>
-    <item msgid="8414109131222049141">"Uso del sensor"</item>
-    <item msgid="1327904325081257093">"Uso de despertador parcial"</item>
-    <item msgid="4832254146664706277">"Otro uso"</item>
-  </string-array>
-  <string-array name="battery_history_which_spinner">
-    <item msgid="3451981114763440074">"Desde la última vez que se desconectó"</item>
-    <item msgid="166936313535197598">"Total desde el reinicio"</item>
-    <item msgid="4793941382744963893">"Total en todo el tiempo"</item>
-  </string-array>
   <string-array name="usage_stats_display_order_types">
     <item msgid="9077371706468756228">"Hora de uso"</item>
     <item msgid="1908750532762193304">"Lanzar recuento"</item>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 5822bfb..3c9c3c6 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -45,13 +45,16 @@
     <string name="radioInfo_display_asu" msgid="1422248392727818082">"asu"</string>
     <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string>
     <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string>
-    <string name="sdcard_unmount" msgid="3364184561355611897">"Desmontar la tarjeta SD"</string>
-    <string name="sdcard_format" msgid="362497552060004057">"Formatear tarjeta SD"</string>
+    <string name="sdcard_unmount" product="nosdcard" msgid="6325292633327972272">"Desmontar almacenamiento USB"</string>
+    <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Desmontar la tarjeta SD"</string>
+    <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Borrar almacenamiento USB"</string>
+    <string name="sdcard_format" product="default" msgid="6713185532039187532">"Borrar la tarjeta SD"</string>
     <string name="small_font" msgid="2295331917424072635">"Pequeño"</string>
     <string name="medium_font" msgid="2068475425515133701">"Mediano"</string>
     <string name="large_font" msgid="599055175160971446">"Grande"</string>
     <string name="font_size_save" msgid="3450855718056759095">"Aceptar"</string>
-    <string name="sdcard_setting" msgid="5922637503871474866">"Tarjeta SD"</string>
+    <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"Almacenamiento USB"</string>
+    <string name="sdcard_setting" product="default" msgid="5922637503871474866">"Tarjeta SD"</string>
     <string name="battery_info_status_label" msgid="8109155295509700309">"Estado de batería:"</string>
     <string name="battery_info_power_label" msgid="7465140230991349382">"Enchufe:"</string>
     <string name="battery_info_scale_label" msgid="3649763192389778437">"Escala de batería:"</string>
@@ -180,27 +183,34 @@
     <string name="sdcard_changes_instructions" msgid="1364712901180556244">"Los cambios se aplican cuando se vuelve a conectar el cable USB"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"Activar el espacio de almacenamiento masivo USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"Total de bytes:"</string>
-    <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"No hay tarjeta SD"</string>
+    <string name="sdcard_settings_not_present_status" product="nosdcard" msgid="2902787003418172125">"Almacenamiento USB no montado"</string>
+    <string name="sdcard_settings_not_present_status" product="default" msgid="6666688653496819947">"No hay tarjeta SD"</string>
     <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"Bytes disponibles:"</string>
-    <string name="sdcard_settings_mass_storage_status" msgid="4786433969313661655">"La tarjeta SD se utiliza como dispositivo de almacenamiento masivo"</string>
-    <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"Ahora es seguro extraer la tarjeta SD"</string>
-    <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"¡Se ha extraído la tarjeta SD mientras se encontraba en uso!"</string>
+    <string name="sdcard_settings_mass_storage_status" product="nosdcard" msgid="2736378870889777857">"El almacenamiento USB se utiliza como dispositivo de almacenamiento masivo"</string>
+    <string name="sdcard_settings_mass_storage_status" product="default" msgid="4786433969313661655">"La tarjeta SD se utiliza como dispositivo de almacenamiento masivo"</string>
+    <string name="sdcard_settings_unmounted_status" product="nosdcard" msgid="7503300818792750913">"Es seguro eliminar el almacenamiento USB"</string>
+    <string name="sdcard_settings_unmounted_status" product="default" msgid="3812022095683863087">"Ahora es seguro extraer la tarjeta SD"</string>
+    <string name="sdcard_settings_bad_removal_status" product="nosdcard" msgid="7761390725880773697">"¡El almacenamiento USB se extrajo mientras se encontraba en uso!"</string>
+    <string name="sdcard_settings_bad_removal_status" product="default" msgid="5145797653495907970">"¡Se ha extraído la tarjeta SD mientras se encontraba en uso!"</string>
     <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"Bytes utilizados:"</string>
-    <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Explorando medios en la tarjeta SD..."</string>
-    <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"Tarjeta SD montada para sólo lectura"</string>
+    <string name="sdcard_settings_scanning_status" product="nosdcard" msgid="7503429447676219564">"Explorando almacenamiento USB para obtener medios..."</string>
+    <string name="sdcard_settings_scanning_status" product="default" msgid="2763464949274455656">"Explorando medios en la tarjeta SD..."</string>
+    <string name="sdcard_settings_read_only_status" product="nosdcard" msgid="3771783090621312312">"Almacenamiento USB montado para sólo lectura"</string>
+    <string name="sdcard_settings_read_only_status" product="default" msgid="5706115860484118911">"Tarjeta SD montada para sólo lectura"</string>
     <string name="next_label" msgid="4693520878012668114">"Siguiente"</string>
     <string name="language_picker_title" msgid="4034157617842965844">"País"</string>
     <string name="select_your_language" msgid="1146235168951906084">"Selecciona tu idioma"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Seleccionar actividad"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Información de dispositivo"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Información de la batería"</string>
-    <string name="battery_history_label" msgid="8242244969757414501">"Historial de batería"</string>
     <string name="display_label" msgid="7403874003169865762">"Mostrar"</string>
     <string name="phone_info_label" msgid="2127552523124277664">"Información del teléfono"</string>
-    <string name="sd_card_settings_label" msgid="5743100901106177102">"Tarjeta SD"</string>
+    <string name="sd_card_settings_label" product="nosdcard" msgid="8101475181301178428">"Almacenamiento USB"</string>
+    <string name="sd_card_settings_label" product="default" msgid="5743100901106177102">"Tarjeta SD"</string>
     <string name="proxy_settings_label" msgid="3271174136184391743">"Configuración de proxy"</string>
     <string name="cancel" msgid="6859253417269739139">"Cancelar"</string>
     <string name="settings_label" msgid="1626402585530130914">"Configuración"</string>
+    <string name="settings_label_launcher" msgid="8344735489639482340">"Config."</string>
     <string name="settings_shortcut" msgid="3672145147925639262">"Configurac."</string>
     <string name="airplane_mode" msgid="8837269988154128601">"Modo de avión"</string>
     <string name="airplane_mode_summary" msgid="3154817401368780988">"Desactivar todas las conexiones inalámbricas"</string>
@@ -323,6 +333,9 @@
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Como altavoz"</string>
     <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Para música y medios"</string>
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Recordar la configuración"</string>
+    <string name="nfc_quick_toggle_title" msgid="6769159366307299004">"NFC"</string>
+    <string name="nfc_quick_toggle_summary" msgid="1988408027741447231">"Utilizar campo la Transmisión de datos en proximidad para leer e intercambiar etiquetas"</string>
+    <string name="nfc_toggle_error" msgid="2233172102497535522">"Se produjo un error."</string>
     <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Encender Wi-Fi"</string>
     <string name="wifi_settings" msgid="4746946030627213196">"Configuración Wi-Fi"</string>
@@ -376,6 +389,7 @@
     <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Especificar cuándo se debe cambiar de Wi-Fi a datos de celular"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Se ha producido un problema al establecer la política de estado de inactividad."</string>
     <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Dirección de MAC"</string>
+    <string name="wifi_advanced_ip_address_title" msgid="6215297094363164846">"Dirección IP"</string>
     <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Configuración de IP"</string>
     <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Guardar"</string>
     <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Cancelar"</string>
@@ -442,7 +456,7 @@
     <string name="dock_audio_summary_car" msgid="6740897586006248450">"Configuración para la base adjunta del automóvil"</string>
     <string name="dock_audio_summary_none" msgid="289909253741048784">"El teléfono no se encuentra en la base"</string>
     <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Configuración para la base adjunta"</string>
-    <string name="dock_not_found_title" msgid="3290961741828952424">"No se encontró la base "</string>
+    <string name="dock_not_found_title" msgid="3290961741828952424">"No se encontró la base"</string>
     <string name="dock_not_found_text" msgid="3035260358985111855">"El teléfono debe estar en la base para configurar el audio de la base."</string>
     <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Sonido al insertar acoplar"</string>
     <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Reproducir sonido cuando se inserte o elimine un teléfono desde acoplar."</string>
@@ -487,18 +501,19 @@
     <string name="device_info_settings" msgid="475872867864762157">"Estado del teléfono"</string>
     <string name="system_update_settings_list_item_title" msgid="3342887311059985961">"Actualiz. del sistema"</string>
     <string name="system_update_settings_list_item_summary" msgid="3853057315907710747"></string>
-    <string name="firmware_version" msgid="4801135784886859972">"Versión Androide"</string>
+    <string name="firmware_version" msgid="4801135784886859972">"Versión de Android"</string>
     <string name="model_number" msgid="3765737700545384794">"Número de modelo"</string>
     <string name="baseband_version" msgid="1848990160763524801">"Versión de banda de base"</string>
     <string name="kernel_version" msgid="9192574954196167602">"Versión núcleo"</string>
-    <string name="build_number" msgid="3075795840572241758">"Crear número"</string>
+    <string name="build_number" msgid="3075795840572241758">"Número de compilación"</string>
     <string name="device_info_not_available" msgid="8062521887156825182">"No disponible"</string>
     <string name="device_status_activity_title" msgid="1411201799384697904">"Estado"</string>
     <string name="device_status" msgid="607405385799807324">"Estado"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Número de teléfono, señal, etc."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"Tarjeta SD y almac."</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Configuración de la tarjeta SD y del almacenamiento del teléfono"</string>
-    <string name="storage_settings_summary" msgid="9176693537325988610">"Desmontar tarjeta SD, ver espacio de almacenamiento disponible"</string>
+    <string name="storage_settings" msgid="4211799979832404953">"Espacio de almacenamiento"</string>
+    <string name="storage_settings_title" msgid="8746016738388094064">"Configuración de almacenamiento"</string>
+    <string name="storage_settings_summary" product="nosdcard" msgid="3543813623294870759">"Desmontar almacenamiento USB, ver almacenamiento disponible"</string>
+    <string name="storage_settings_summary" product="default" msgid="9176693537325988610">"Desmontar tarjeta SD, ver espacio de almacenamiento disponible"</string>
     <string name="status_number" msgid="5123197324870153205">"Mi número de teléfono"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
     <string name="status_prl_version" msgid="8499039751817386529">"Versión de PRL"</string>
@@ -514,24 +529,36 @@
     <string name="status_unavailable" msgid="7862009036663793314">"No disponible"</string>
     <string name="status_up_time" msgid="7294859476816760399">"Hora productiva"</string>
     <string name="status_awake_time" msgid="2393949909051183652">"Hora de actividad"</string>
-    <string name="internal_memory" msgid="1130932766236387454">"Espacio de almac. interno del tel."</string>
-    <string name="sd_memory" msgid="151871913888051515">"Tarjeta SD"</string>
+    <string name="internal_memory" msgid="9129595691484260784">"Almacenamiento interno"</string>
+    <string name="sd_memory" product="nosdcard" msgid="2510246194083052841">"Almacenamiento USB"</string>
+    <string name="sd_memory" product="default" msgid="151871913888051515">"Tarjeta SD"</string>
     <string name="memory_available" msgid="418542433817289474">"Espacio disponible"</string>
     <string name="memory_size" msgid="6629067715017232195">"Espacio total"</string>
-    <string name="sd_eject" msgid="6915293408836853020">"Desmontar la tarjeta SD"</string>
-    <string name="sd_eject_summary" msgid="3315557796211542962">"Desmontar la tarjeta SD para extraerla de manera segura"</string>
-    <string name="sd_insert_summary" msgid="2048640010381803841">"Insertar una tarjeta SD para el montaje"</string>
-    <string name="sd_mount" msgid="5940523765187704135">"Montar tarjeta SD"</string>
-    <string name="sd_mount_summary" msgid="4936591681679097699">"Montar la tarjeta SD"</string>
-    <string name="sd_format" msgid="5448738337382712203">"Formatear tarjeta SD"</string>
-    <string name="sd_format_summary" msgid="6616491027883134004">"Formato (borrar) la tarjeta SD"</string>
+    <string name="sd_eject" product="default" msgid="6915293408836853020">"Desmontar la tarjeta SD"</string>
+    <string name="sd_eject_summary" product="nosdcard" msgid="5009296896648072891">"Desmontar el almacenamiento USB interno"</string>
+    <string name="sd_eject_summary" product="default" msgid="3300599435073550246">"Desmonta la tarjeta SD para que puedas extraerla de forma segura"</string>
+    <string name="sd_insert_summary" product="nosdcard" msgid="5264016886409577313">"Insertar almacenamiento USB para el montaje"</string>
+    <string name="sd_insert_summary" product="default" msgid="2048640010381803841">"Insertar una tarjeta SD para el montaje"</string>
+    <string name="sd_mount" product="nosdcard" msgid="8966695015677343116">"Activar el almacenamiento USB"</string>
+    <string name="sd_mount" product="default" msgid="5940523765187704135">"Montar tarjeta SD"</string>
+    <string name="sd_mount_summary" product="nosdcard" msgid="1794150364965145726">"Activar el almacenamiento USB"</string>
+    <string name="sd_mount_summary" product="default" msgid="4936591681679097699">"Montar la tarjeta SD"</string>
+    <string name="sd_format" product="nosdcard" msgid="2148179271623099054">"Borrar almacenamiento USB"</string>
+    <string name="sd_format" product="default" msgid="2576054280507119870">"Borrar la tarjeta SD"</string>
+    <string name="sd_format_summary" product="nosdcard" msgid="1504606546865152514">"Borra todos los datos del almacenamiento USB interno del teléfono, como la música y las fotos"</string>
+    <string name="sd_format_summary" product="default" msgid="915849621390821841">"Borra todos los datos de la tarjeta SD del teléfono, como la música y las fotos"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"No disponible"</string>
     <string name="read_only" msgid="6702420168629076340">" (Sólo lectura)"</string>
-    <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Desmontar la tarjeta SD"</string>
-    <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Si desmontas la tarjeta SD, algunas aplicaciones que estás usando se detendrán y es posible que no estén disponibles hasta que retires la tarjeta SD."</string>
-    <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Error al desmontar la tarjeta SD"</string>
-    <string name="dlg_error_unmount_text" msgid="9188972789897713180">"No se pudo desmontar la tarjeta SD. Vuelve a intentarlo más tarde."</string>
-    <string name="unmount_inform_text" msgid="3213378327712151498">"Se desmontará la tarjeta SD. Verifica el área de notificación para conocer el estado."</string>
+    <string name="dlg_confirm_unmount_title" product="nosdcard" msgid="2349876662428231297">"Desmontar almacenamiento USB"</string>
+    <string name="dlg_confirm_unmount_title" product="default" msgid="8612140627310646730">"Desmontar la tarjeta SD"</string>
+    <string name="dlg_confirm_unmount_text" product="nosdcard" msgid="3390169455621185223">"Si desmontas el almacenamiento USB, se detendrán algunas aplicaciones que utilices y es posible que no estén disponibles hasta que vuelvas a montar el almacenamiento USB."</string>
+    <string name="dlg_confirm_unmount_text" product="default" msgid="5851214273718817727">"Si desmontas la tarjeta SD, algunas aplicaciones que estás usando se detendrán y es posible que no estén disponibles hasta que retires la tarjeta SD."</string>
+    <string name="dlg_error_unmount_title" product="nosdcard" msgid="7695491947411836733">"No se pudo desmontar el almacenamiento USB"</string>
+    <string name="dlg_error_unmount_title" product="default" msgid="4004106918266783081">"Error al desmontar la tarjeta SD"</string>
+    <string name="dlg_error_unmount_text" product="nosdcard" msgid="1450864147013376592">"No se puede desactivar el almacenamiento USB. Vuelve a intentarlo más tarde."</string>
+    <string name="dlg_error_unmount_text" product="default" msgid="9188972789897713180">"No se pudo desmontar la tarjeta SD. Vuelve a intentarlo más tarde."</string>
+    <string name="unmount_inform_text" product="nosdcard" msgid="7120241136790744265">"El almacenamiento USB se desmontará."</string>
+    <string name="unmount_inform_text" product="default" msgid="1904212716075458402">"Se desactivará la tarjeta SD."</string>
     <string name="sd_ejecting_title" msgid="8824572198034365468">"Desmontando"</string>
     <string name="sd_ejecting_summary" msgid="2028753069184908491">"Desmontaje en progreso"</string>
     <string name="battery_status_title" msgid="9159414319574976203">"Estado de batería"</string>
@@ -571,21 +598,32 @@
     <string name="restore_default_apn_completed" msgid="3990449939234957281">"Restablecimiento completado de configuración de APN predeterminada"</string>
     <string name="master_clear_title" msgid="5907939616087039756">"Restabl. datos de fábrica"</string>
     <string name="master_clear_summary" msgid="4986154238001088492">"Borra todos los datos del teléfono"</string>
-    <string name="master_clear_desc" msgid="7823268823499739178">"Todos los datos de tu teléfono serán eliminados, incluidos:"\n<li>"tu cuenta de Google"</li>\n<li>"la configuración y los datos de la aplicación y el sistema"</li>\n<li>"las aplicaciones descargadas"</li>\n"No se eliminarán:"\n<li>"el software del sistema actual y las aplicaciones en lote"</li>\n<li>"archivos de tarjeta SD, como por ejemplo, música o fotos"</li></string>
+    <string name="master_clear_desc" product="nosdcard" msgid="2163013814299528247">"Si lo haces, se borrarán todos los datos del "<b>"almacenamiento interno"</b>"de tu teléfono, incluida:"\n\n<li>"tu cuenta de Google"</li>\n<li>"los datos y la configuración del sistema y de la aplicación"</li>\n<li>"las aplicaciones descargadas"</li>\n\n"Si deseas borrar todos los datos de este teléfono, deberás borrar el "<b>"almacenamiento USB"</b>"."\n\n</string>
+    <string name="master_clear_desc" product="default" msgid="1741944496458365969">"Si lo haces, se borrarán todos los datos del "<b>"almacenamiento interno"</b>"de tu teléfono, incluida:"\n\n<li>"tu cuenta de Google"</li>\n<li>"los datos y la configuración del sistema y de la aplicación"</li>\n<li>"las aplicaciones descargadas"</li>\n\n"Si también deseas borrar la música, las fotos y otros datos de usuario, deberás borrar la "<b>"tarjeta SD"</b>"."\n\n</string>
+    <string name="erase_external_storage" product="nosdcard" msgid="969364037450286809">"Borrar almacenamiento USB"</string>
+    <string name="erase_external_storage" product="default" msgid="1397239046334307625">"Borrar la tarjeta SD"</string>
+    <string name="erase_external_storage_description" product="nosdcard" msgid="1657838142707381027">"Borrar todos los datos del almacenamiento USB del teléfono, como la música o las fotos."</string>
+    <string name="erase_external_storage_description" product="default" msgid="8100175974635894073">"Borra todos los datos de la tarjeta SD del teléfono, como la música o las fotos."</string>
     <string name="master_clear_button_text" msgid="7550632653343157971">"Restablecer el teléfono"</string>
     <string name="master_clear_final_desc" msgid="6917971132484622696">"¿Deseas borrar toda tu información personal y cualquier aplicación descargada?"</string>
     <string name="master_clear_final_button_text" msgid="5390908019019242910">"Borrar todo"</string>
     <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Extrae tu patrón de desbloqueo"</string>
     <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"Debes extraer tu patrón de desbloqueo para confirmar el restablecimiento de un teléfono."</string>
     <string name="master_clear_failed" msgid="8655202125010189406">"No se ha realizado ningún restablecimiento debido a que el servicio \"Borrar sistema\" no se encuentra disponible."</string>
-    <string name="media_format_title" msgid="4671276096695789895">"Formatear tarjeta SD."</string>
-    <string name="media_format_summary" msgid="3805714639375830120">"Borra todos los datos en la tarjeta SD"</string>
-    <string name="media_format_desc" msgid="1142563222357820834">"Esta acción borrará la tarjeta SD en el teléfono. ¡Perderás TODA la información de la tarjeta!"</string>
-    <string name="media_format_button_text" msgid="370856400090190151">"Formatear tarjeta SD"</string>
-    <string name="media_format_final_desc" msgid="1776666694910717198">"¿Deseas formatear tarjeta SD y borrar todos tus medios? ¡Esta acción no se puede cambiar!"</string>
+    <string name="media_format_title" product="nosdcard" msgid="3999653431422767156">"Borrar almacenamiento USB"</string>
+    <string name="media_format_title" product="default" msgid="4427528440306787972">"Borrar la tarjeta SD"</string>
+    <string name="media_format_summary" product="nosdcard" msgid="776603298628082065">"Borra todos los datos del almacenamiento USB"</string>
+    <string name="media_format_summary" product="default" msgid="3805714639375830120">"Borra todos los datos en la tarjeta SD"</string>
+    <string name="media_format_desc" product="nosdcard" msgid="4553860683952763905">"Esta acción borrará el almacenamiento USB. ¡Perderás "<b>"todos"</b>" los datos almacenados allí!"</string>
+    <string name="media_format_desc" product="default" msgid="1598627584181935513">"Esta acción borrará la tarjeta SD. ¡Perderás "<b>"todos"</b>" los datos de la tarjeta!"</string>
+    <string name="media_format_button_text" product="nosdcard" msgid="6293669371185352810">"Borrar almacenamiento USB"</string>
+    <string name="media_format_button_text" product="default" msgid="6721544380069373626">"Borrar la tarjeta SD"</string>
+    <string name="media_format_final_desc" product="nosdcard" msgid="8094635533378487255">"¿Deseas borrar el almacenamiento USB y suprimir todos los archivos almacenados allí? ¡Esta acción no se puede cambiar!"</string>
+    <string name="media_format_final_desc" product="default" msgid="9015504991522581434">"¿Deseas borrar la tarjeta SD y suprimir todos los archivos almacenados allí? ¡Esta acción no se puede cambiar!"</string>
     <string name="media_format_final_button_text" msgid="4881713344315923175">"Borrar todo"</string>
     <string name="media_format_gesture_prompt" msgid="3109349468816856670">"Extrae tu patrón de desbloqueo"</string>
-    <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Debes extraer tu patrón de desbloqueo parar confirmar un formato de tarjeta SD."</string>
+    <string name="media_format_gesture_explanation" product="nosdcard" msgid="1379736318750958338">"Debes establecer el gráfico de desbloqueo para confirmar que deseas borrar el almacenamiento USB."</string>
+    <string name="media_format_gesture_explanation" product="default" msgid="1681213416497647321">"Debes establecer el gráfico de desbloqueo para confirmar que deseas borrar la tarjeta SD."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Config. de llamada"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Establecer correo de voz, desvío de llamadas, llamada en espera, identificador de llamadas"</string>
     <string name="tether_settings_title_usb" msgid="4315031513434087777">"Anclaje a red"</string>
@@ -609,7 +647,7 @@
     <string name="location_networks_disabled" msgid="2708968452901433980">"Ver ubicación en las aplicaciones (como Mapas) mediante redes inalámbricas"</string>
     <string name="location_neighborhood_level" msgid="4656658097932515921">"Ubicación determinada por Wi-Fi o redes de celulares"</string>
     <string name="location_gps" msgid="6296125378829097831">"Utilizar satélites de GPS"</string>
-    <string name="location_street_level" msgid="6460740847018275745">"Localiz. con precisión del nivel de calle (anular la sel. para ahorrar bat.)"</string>
+    <string name="location_street_level" msgid="7456259025474443314">"Cuando se está ubicando, que sea preciso hasta el nivel de la calle."</string>
     <string name="location_gps_disabled" msgid="6632537158777308128">"Localiz. a nivel de calle (nec. más batería además de la vista del cielo)"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"Utilizar GPS asistido"</string>
     <string name="assisted_gps_enabled" msgid="8751899609589792803">"Utilizar el servidor para asistir el GPS (anular la selección para reducir el uso de la red)"</string>
@@ -692,22 +730,31 @@
     <string name="application_size_label" msgid="5055196275624686382">"Aplicación"</string>
     <string name="data_size_label" msgid="8679376373625710107">"Datos"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Desinstalar..."</string>
+    <string name="disable_text" msgid="6544054052049395202">"Inhabilitar"</string>
+    <string name="enable_text" msgid="9217362512327828987">"Habilitar"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Borrar datos"</string>
     <string name="app_factory_reset" msgid="6635744722502563022">"Desinstalar las actualizaciones"</string>
     <string name="auto_launch_enable_text" msgid="2630656657744196691">"Has elegido lanzar esta aplicación de manera predeterminada para algunas acciones."</string>
     <string name="auto_launch_disable_text" msgid="7800385822185540166">"No hay configuraciones predeterminadas establecidas."</string>
     <string name="clear_activities" msgid="7408923511535174430">"Borrar configuraciones predeterminadas"</string>
     <string name="unknown" msgid="1592123443519355854">"Desconocido"</string>
-    <string name="sort_order_alpha" msgid="8622029358896599842">"Ordenar"</string>
+    <string name="sort_order_alpha" msgid="1410278099123670628">"Ordenar por nombre"</string>
     <string name="sort_order_size" msgid="7024513286636502362">"Ordenar por tamaño"</string>
+    <string name="show_running_services" msgid="5736278767975544570">"Mostrar los servicios en ejecución"</string>
+    <string name="show_background_processes" msgid="2009840211972293429">"Mostrar procesos almacenados en la memoria caché"</string>
     <string name="manage_space_text" msgid="8852711522447794676">"Administrar el espacio"</string>
     <string name="filter" msgid="2018011724373033887">"Filtro"</string>
     <string name="filter_dlg_title" msgid="6507663329723966854">"Seleccionar opciones de filtro"</string>
     <string name="filter_apps_all" msgid="5142129378749391876">"Todos"</string>
     <string name="filter_apps_third_party" msgid="7786348047690140979">"Descargado"</string>
     <string name="filter_apps_running" msgid="7767071454371350486">"En ejecución"</string>
-    <string name="filter_apps_onsdcard" msgid="1477351142334784771">"En tarjeta SD"</string>
-    <string name="loading" msgid="3200408047793887917">"Cargando…"</string>
+    <string name="filter_apps_onsdcard" product="nosdcard" msgid="4843063154701023349">"Almacenamiento USB"</string>
+    <string name="filter_apps_onsdcard" product="default" msgid="1477351142334784771">"En tarjeta SD"</string>
+    <string name="disabled" msgid="9206776641295849915">"Desactivado"</string>
+    <string name="no_applications" msgid="5190227407135243904">"No hay aplicaciones."</string>
+    <string name="internal_storage" msgid="1584700623164275282">"Almacenamiento interno"</string>
+    <string name="sd_card_storage" product="nosdcard" msgid="2673203150465132465">"Almacenamiento USB"</string>
+    <string name="sd_card_storage" product="default" msgid="7623513618171928235">"Desmontar tarjeta SD"</string>
     <string name="recompute_size" msgid="7722567982831691718">"Recalculando el tamaño…"</string>
     <string name="clear_data_dlg_title" msgid="4470209520936375508">"Suprimir"</string>
     <string name="clear_data_dlg_text" msgid="8368035073300828451">"Todos los datos de esta aplicación se suprimirán de forma permanente. Esto incluye todos los archivos, las configuraciones, las cuentas, las bases de datos, etc."</string>
@@ -727,7 +774,8 @@
     <string name="version_text" msgid="9189073826278676425">"versión <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5042838441401731346">"Mover"</string>
     <string name="move_app_to_internal" msgid="3895430471913858185">"Mover al teléfono"</string>
-    <string name="move_app_to_sdcard" msgid="1143379049903056407">"Mover a la tarjeta SD"</string>
+    <string name="move_app_to_sdcard" product="nosdcard" msgid="4350451696315265420">"Mover a almacenamiento USB"</string>
+    <string name="move_app_to_sdcard" product="default" msgid="1143379049903056407">"Mover a la tarjeta SD"</string>
     <string name="moving" msgid="6431016143218876491">"Moviendo"</string>
     <string name="insufficient_storage" msgid="8566913062094452962">"No queda suficiente espacio de almacenamiento."</string>
     <string name="does_not_exist" msgid="837163572898468245">"La aplicación no existe."</string>
@@ -735,29 +783,49 @@
     <string name="invalid_location" msgid="4934491353200240499">"La ubicación específica de la instalación no es válida."</string>
     <string name="system_package" msgid="1030561474413022831">"Las actualizaciones del sistema no se pueden instalar en medios externos."</string>
     <string name="force_stop_dlg_title" msgid="4289453224368188476">"Provocar la detención"</string>
-    <string name="force_stop_dlg_text" msgid="3381302041569982075">"Esta aplicación se reiniciará inmediatamente. ¿Estás seguro de que deseas provocar la detención?"</string>
+    <string name="force_stop_dlg_text" msgid="5157374701213502922">"Si detienes una aplicación a la fuerza, puedes alterar su comportamiento. ¿Estas seguro de que deseas hacerlo?"</string>
     <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Mover aplicación"</string>
     <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Error al mover la aplicación. <xliff:g id="REASON">%1$s</xliff:g>"</string>
     <string name="app_install_location_title" msgid="2068975150026852168">"Ubicación de instalación preferida"</string>
     <string name="app_install_location_summary" msgid="879753854530300436">"Cambiar la ubicación de instalación preferida para nuevas aplicaciones"</string>
+    <string name="storageuse_settings_title" msgid="5657014373502630403">"Uso del almacenamiento"</string>
+    <string name="storageuse_settings_summary" msgid="2556057379120846792">"Ver el almacenamiento que usan las aplicaciones"</string>
     <string name="runningservices_settings_title" msgid="8097287939865165213">"Servicios en ejecución"</string>
     <string name="runningservices_settings_summary" msgid="854608995821032748">"Ver y controlar servicios actuales en ejecución"</string>
     <string name="service_restarting" msgid="2242747937372354306">"Volver a comenzar"</string>
-    <string name="no_running_services" msgid="6981216347270280598">"Sin servicios en ejecución"</string>
-    <string name="confirm_stop_service" msgid="5700448757318301681">"¿Deseas detener el servicio?"</string>
-    <string name="confirm_stop_service_msg" msgid="1166661293369421272">"El servicio no ejecutará más hasta que comience de nuevo. Esto puede tener consecuencias no deseadas en la aplicación <xliff:g id="APPLICATION">%1$s</xliff:g>."</string>
-    <string name="confirm_stop_stop" msgid="7382363913280993331">"Detener"</string>
-    <string name="confirm_stop_cancel" msgid="206495326622692381">"Cancelar"</string>
-    <string name="service_started_by_app" msgid="8432097226392386802">"Comenz. aplic.: tocar para detener"</string>
-    <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: tocar para administrar"</string>
-    <string name="service_background_processes" msgid="5158600475629177758">"Disp.:<xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g> en <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_foreground_processes" msgid="4013890350284680796">"Otro: <xliff:g id="MEMORY">%2$s</xliff:g> en <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_process_name" msgid="8630408984456958400">"Proceso: <xliff:g id="PROCESS">%1$s</xliff:g>"</string>
-    <string name="language_settings" msgid="502219872342167227">"Idioma &amp; del teclado"</string>
+    <string name="cached" msgid="1059590879740175019">"Proceso de fondo almacenado en memoria caché"</string>
+    <string name="no_running_services" msgid="2059536495597645347">"No hay nada activo."</string>
+    <string name="service_started_by_app" msgid="6575184738671598131">"Comenzado por aplicación."</string>
+    <!-- no translation found for service_client_name (4037193625611815517) -->
+    <skip />
+    <string name="service_background_processes" msgid="6844156253576174488">"<xliff:g id="MEMORY">%1$s</xliff:g> libre"</string>
+    <string name="service_foreground_processes" msgid="7583975676795574276">"<xliff:g id="MEMORY">%1$s</xliff:g> utilizado"</string>
+    <string name="memory" msgid="6609961111091483458">"RAM"</string>
+    <!-- no translation found for service_process_name (4098932168654826656) -->
+    <skip />
+    <string name="running_processes_item_description_s_s" msgid="5790575965282023145">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> procesos y <xliff:g id="NUMSERVICES">%2$d</xliff:g> servicios"</string>
+    <string name="running_processes_item_description_s_p" msgid="8019860457123222953">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> procesos y <xliff:g id="NUMSERVICES">%2$d</xliff:g> servicios"</string>
+    <string name="running_processes_item_description_p_s" msgid="744424668287252915">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> procesos <xliff:g id="NUMSERVICES">%2$d</xliff:g> servicio"</string>
+    <string name="running_processes_item_description_p_p" msgid="1607384595790852782">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> procesos y <xliff:g id="NUMSERVICES">%2$d</xliff:g> servicios"</string>
+    <string name="runningservicedetails_settings_title" msgid="6188692418986988288">"Ejecutando aplicación"</string>
+    <string name="no_services" msgid="7133900764462288263">"Inactivo"</string>
+    <string name="runningservicedetails_services_title" msgid="391168243725357375">"Servicios"</string>
+    <string name="runningservicedetails_processes_title" msgid="928115582044655268">"Procesos"</string>
+    <string name="service_stop" msgid="6369807553277527248">"Detener"</string>
+    <string name="service_manage" msgid="1876642087421959194">"Config."</string>
+    <string name="service_stop_description" msgid="3261798282116866961">"Este servicio fue iniciado por su aplicación. Detenerlo puede provocar que falle la aplicación."</string>
+    <string name="heavy_weight_stop_description" msgid="6855241582643136019">"Esta aplicación no puede detenerse de manera segura. Al hacerlo, puedes perder parte de tu trabajo actual."</string>
+    <string name="background_process_stop_description" msgid="1728354083304746737">"Este es un proceso de aplicación anterior que se conserva para obtener mayor velocidad en caso de que se lo necesite nuevamente. Generalmente no hay motivo para detenerlo."</string>
+    <string name="service_manage_description" msgid="7050092269951613102">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: actualmente en uso. Toca los parámetros de configuración para controlarlo."</string>
+    <string name="main_running_process_description" msgid="929204645380391397">"Proceso principal en uso."</string>
+    <string name="process_service_in_use_description" msgid="8993335064403217080">"El servicio <xliff:g id="COMP_NAME">%1$s</xliff:g> está en uso."</string>
+    <string name="process_provider_in_use_description" msgid="5586603325677678940">"El proveedor <xliff:g id="COMP_NAME">%1$s</xliff:g> está en uso."</string>
+    <string name="runningservicedetails_stop_dlg_title" msgid="4253292537154337233">"¿Deseas detener el servicio?"</string>
+    <string name="runningservicedetails_stop_dlg_text" msgid="6929716497425738387">"¿Estás seguro de que deseas detener el servicio del sistema? Si lo haces, algunas funciones de tu teléfono podrían dejar de ejecutarse correctamente hasta que lo apagues y enciendas nuevamente."</string>
+    <string name="language_settings" msgid="502219872342167227">"Idioma y teclado"</string>
     <string name="language_keyboard_settings_title" msgid="3455826933385341107">"Idioma y Configuración del teclado"</string>
-    <string name="language_settings_summary" msgid="595647729475399987">"Establecer opciones de país (idioma y región), ingreso de texto y corrección automática"</string>
-    <string name="language_category" msgid="3391756582724541530">"Configuración de país"</string>
-    <string name="text_category" msgid="6342540511465136739">"Configuración de texto"</string>
+    <string name="language_settings_category" msgid="2288258489940617043">"Configuración de idiomas"</string>
+    <string name="keyboard_settings_category" msgid="7060453865544070642">"Configuración de teclado"</string>
     <string name="phone_language" msgid="1165758957501090679">"Seleccionar idioma"</string>
     <string name="phone_language_summary" msgid="3871309445655554211"></string>
     <string name="auto_replace" msgid="6199184757891937822">"Reemplazar automát."</string>
@@ -782,7 +850,6 @@
     <string name="testing" msgid="6584352735303604146">"Probando"</string>
     <string name="testing_phone_info" msgid="8656693364332840056">"Información del teléfono"</string>
     <string name="testing_battery_info" msgid="3497865525976497848">"Información sobre la batería"</string>
-    <string name="testing_battery_history" msgid="3043329445810695647">"Historial de batería"</string>
     <string name="quick_launch_title" msgid="7904609846945905306">"Lanzamiento rápido"</string>
     <string name="quick_launch_summary" msgid="3453825712466417452">"Establecer métodos abreviados de teclado para lanzar aplicaciones"</string>
     <string name="quick_launch_assign_application" msgid="4521368464929956350">"Asignar aplicación"</string>
@@ -798,8 +865,8 @@
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Administrar opciones de ingreso de texto"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Configuración de <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Configuración del teclado en pantalla"</string>
-    <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"Teclado del dispositivo"</string>
-    <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"Configuración de teclado integrado"</string>
+    <string name="builtin_keyboard_settings_title" msgid="5274990495405941804">"Teclado incorporado"</string>
+    <string name="builtin_keyboard_settings_summary" msgid="7990296351888096836">"Configuración del teclado físico incorporada"</string>
     <string name="development_settings_title" msgid="6719732334835420989">"Desarrollo"</string>
     <string name="development_settings_summary" msgid="2151320488701538355">"Establecer opciones para desarrollar aplicaciones"</string>
     <string name="enable_adb" msgid="7982306934419797485">"Depuración de USB"</string>
@@ -812,36 +879,10 @@
     <string name="adb_warning_message" msgid="5352555112049663033">"La depuración de USB está prevista sólo con fines de desarrollo. Se puede utilizar para copiar datos entre tu computadora y tu dispositivo, instalar aplicaciones en tu dispositivo sin aviso y leer los datos de registro."</string>
     <string name="gadget_picker_title" msgid="98374951396755811">"Elegir gadget"</string>
     <string name="widget_picker_title" msgid="9130684134213467557">"Elegir control"</string>
-    <string name="battery_history_details_for" msgid="5924639922153109669">"Detalles de UID <xliff:g id="NUMBER">%d</xliff:g>"</string>
-    <string name="battery_history_uid" msgid="1016606150528436298">"ID de usuario <xliff:g id="USER_ID">%1$d</xliff:g>"</string>
-    <string name="battery_history_network_usage" msgid="8010852371665217020">"Detalles de uso de la red para <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="battery_history_bytes_received" msgid="980307569180518302">"Bytes recibidos: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_sent" msgid="2501748768602119159">"Bytes enviados: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_total" msgid="4444807574361642753">"Total de bytes: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_cpu_usage" msgid="2597353713014790877">"Detalles de uso de CPU para <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_user_time" msgid="6227507614894791359">"Hora del usuario:"</string>
-    <string name="battery_history_system_time" msgid="2015862072724507547">"Hora del sistema:"</string>
-    <string name="battery_history_total_time" msgid="3618703970098556104">"Tiempo total:"</string>
-    <string name="battery_history_starts" msgid="9137453931978571696">"Comienza: <xliff:g id="STARTS">%1$d</xliff:g>"</string>
     <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g>días <xliff:g id="HOURS">%2$d</xliff:g>h <xliff:g id="MINUTES">%3$d</xliff:g>min <xliff:g id="SECONDS">%4$d</xliff:g>seg"</string>
     <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g>h <xliff:g id="MINUTES">%2$d</xliff:g>min <xliff:g id="SECONDS">%3$d</xliff:g>seg"</string>
     <string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g> min <xliff:g id="SECONDS">%2$d</xliff:g> seg"</string>
     <string name="battery_history_seconds" msgid="4283492130945761685">"<xliff:g id="SECONDS">%1$d</xliff:g> seg"</string>
-    <string name="battery_history_packages_sharing_this_uid" msgid="4101596071379250050">"Paquetes que comparten esta UID:"</string>
-    <string name="battery_history_no_data" msgid="1177238743237067617">"No hay datos disponibles del uso de la batería"</string>
-    <string name="battery_history_sensor" msgid="2333488996028993982">"Sensor:"</string>
-    <string name="battery_history_wakelock" msgid="608683447522396293">"Bloqueo de despertador parcial:"</string>
-    <string name="battery_history_used_by_packages" msgid="3000711380023436470">"Sensor utilizado por los paquetes:"</string>
-    <string name="battery_history_sensor_usage" msgid="3593133338613209024">"Utilizado <xliff:g id="COUNT">%1$d</xliff:g> veces por <xliff:g id="PACKAGE">%2$s</xliff:g>"</string>
-    <string name="battery_history_sensor_usage_multi" msgid="4536084375991014508">"Utilizado <xliff:g id="COUNT">%1$d</xliff:g> veces por uno de:"</string>
-    <string name="battery_history_awake_label" msgid="8449792868990080882">"En ejecución"</string>
-    <string name="battery_history_screen_on_label" msgid="1848936521786339362">"Pantalla encendida"</string>
-    <string name="battery_history_phone_on_label" msgid="700191958853142297">"Teléfono encendido"</string>
-    <string name="battery_history_awake" msgid="4350886665719031057">"Tiempo de encendido sin estar en estado de inactividad:"</string>
-    <string name="battery_history_screen_on" msgid="1377240025275657277">"Tiempo de encendido de la pantalla:"</string>
-    <string name="battery_history_phone_on" msgid="4891504401623839532">"Tiempo de encendido del teléfono:"</string>
-    <string name="battery_history_screen_on_battery" msgid="536058210445081888">"En la batería:"</string>
-    <string name="battery_history_screen_on_plugged" msgid="5019127390021871260">"Conectado:"</string>
     <string name="usage_stats_label" msgid="5890846333487083609">"Estadísticas de uso"</string>
     <string name="testing_usage_stats" msgid="7823048598893937339">"Estadísticas de uso"</string>
     <string name="display_order_text" msgid="8592776965827565271">"Ordenar por:"</string>
@@ -865,12 +906,19 @@
     <string name="power_usage_summary" msgid="7237084831082848168">"Lo que ha utilizado la batería"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Uso de la batería desde que se desconectó"</string>
     <string name="battery_since_reset" msgid="7464546661121187045">"Uso de la batería desde que se restableció"</string>
+    <string name="battery_stats_on_battery" msgid="4970762168505236033">"<xliff:g id="TIME">%1$s</xliff:g> en la batería"</string>
     <string name="battery_stats_duration" msgid="7464501326709469282">"<xliff:g id="TIME">%1$s</xliff:g> desde que se desconectó"</string>
+    <string name="battery_stats_charging_label" msgid="4223311142875178785">"Cargando"</string>
+    <string name="battery_stats_screen_on_label" msgid="7150221809877509708">"Pantalla encendida"</string>
+    <string name="battery_stats_gps_on_label" msgid="1193657533641951256">"GPS encendido"</string>
+    <string name="battery_stats_wifi_running_label" msgid="3093545080361658269">"Wi-Fi"</string>
+    <string name="battery_stats_wake_lock_label" msgid="1908942681902324095">"Encender"</string>
+    <string name="battery_stats_phone_signal_label" msgid="6822042940376636775">"Señal del teléfono"</string>
     <!-- no translation found for battery_stats_last_duration (1535831453827905957) -->
     <skip />
     <string name="awake" msgid="387122265874485088">"Hora de activación del dispositivo"</string>
-    <string name="wifi_on_time" msgid="4630925382578609056">"WiFi a tiempo"</string>
-    <string name="bluetooth_on_time" msgid="4478515071957280711">"WiFi a tiempo"</string>
+    <string name="wifi_on_time" msgid="6310209835617490616">"Wi-Fi a tiempo"</string>
+    <string name="bluetooth_on_time" msgid="6157799524996162271">"Wi-Fi a tiempo"</string>
     <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g> -  <xliff:g id="NUMBER">%2$s</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
     <string name="details_title" msgid="7564809986329021063">"Detalles de uso de la batería"</string>
     <string name="details_subtitle" msgid="32593908269911734">"Utilizar detalles"</string>
@@ -884,7 +932,9 @@
     <string name="power_idle" msgid="9055659695602194990">"Teléfono inactivo"</string>
     <string name="usage_type_cpu" msgid="715162150698338714">"CPU total"</string>
     <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"Primer plano de la CPU"</string>
+    <string name="usage_type_wake_lock" msgid="5125438890233677880">"Mantener en funcionamiento"</string>
     <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string>
+    <string name="usage_type_wifi_running" msgid="8234997940652067049">"Wi-Fi en funcionamiento"</string>
     <string name="usage_type_phone" msgid="9108247984998041853">"Teléfono"</string>
     <string name="usage_type_data_send" msgid="2857401966985425427">"Datos enviados"</string>
     <string name="usage_type_data_recv" msgid="7251090882025234185">"Datos recibidos"</string>
@@ -896,7 +946,7 @@
     <string name="battery_action_app_details" msgid="3275013531871113681">"Información de aplicación"</string>
     <string name="battery_action_app_settings" msgid="350562653472577250">"Configuración de aplicación"</string>
     <string name="battery_action_display" msgid="5302763261448580102">"Configuración de visualización"</string>
-    <string name="battery_action_wifi" msgid="5452076674659927993">"Configuración de WiFi"</string>
+    <string name="battery_action_wifi" msgid="2272741639606146903">"Configuración Wi-Fi"</string>
     <string name="battery_action_bluetooth" msgid="8374789049507723142">"Config. de Bluetooth"</string>
     <string name="battery_desc_voice" msgid="8980322055722959211">"La batería está siendo utilizada por llamadas de voz"</string>
     <string name="battery_desc_standby" msgid="3009080001948091424">"La batería se utiliza cuando el teléfono está inactivo"</string>
@@ -909,9 +959,9 @@
     <string name="battery_desc_bluetooth" msgid="7535520658674621902">"La batería está siendo utilizada por bluetooth"</string>
     <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"Desactiva Bluetooth cuando no lo utilizas"</string>
     <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"Intentar conectarse a un dispositivo Bluetooth diferente"</string>
-    <string name="battery_desc_apps" msgid="8123202939321333639">"La batería es utilizada por las aplicaciones durante el roaming"</string>
+    <string name="battery_desc_apps" msgid="6665712811746233450">"La batería está siendo utilizada por la aplicación"</string>
     <string name="battery_sugg_apps_info" msgid="6065882899391322442">"Detener o desinstalar la aplicación"</string>
-    <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"Desactivar el GPS cuando no lo utilizas"</string>
+    <string name="battery_sugg_apps_gps" msgid="4545056413090932541">"Controle manualmente el GPS para que la aplicación no lo use."</string>
     <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"La aplicación podrá ofrecer una configuración para reducir el uso de la batería"</string>
     <string name="menu_stats_unplugged" msgid="8296577130840261624">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> desde que se desconectó"</string>
     <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"Durante la última desconexión para <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
@@ -961,6 +1011,8 @@
     <string name="pico_not_installed" msgid="6266845418419994311">"No se ha instalado."</string>
     <string name="pico_voice_summary_female" msgid="8047327176247727492">"Femenino"</string>
     <string name="pico_voice_summary_male" msgid="8331266854058577610">"Masculino"</string>
+    <string name="tts_notif_engine_install_title" msgid="7000346872482649034">"Se instaló motor de síntesis de voz"</string>
+    <string name="tts_notif_engine_install_message" msgid="5304661142202662693">"Habilitar nuevo motor antes de usar"</string>
     <string name="gadget_title" msgid="7455548605888590466">"Control de energía"</string>
     <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Actualizando configuración de Wi-Fi"</string>
     <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Actualización de la configuración de Bluetooth"</string>
@@ -1047,8 +1099,10 @@
     <string name="credentials_access_summary" msgid="319662078718574168">"Permitir a las aplic. acceder a certificados seguros y otras cred."</string>
     <string name="credentials_unlock" msgid="1463040326264133844">"Ingresar contraseña"</string>
     <string name="credentials_unlock_hint" msgid="594679530407918031">"Ingresar la contraseña de almacenamiento de la credencial"</string>
-    <string name="credentials_install_certificates" msgid="177337517568022236">"Instalar de la tarjeta SD"</string>
-    <string name="credentials_install_certificates_summary" msgid="7737001268684193093">"Instalar certificados encriptados de la tarjeta SD"</string>
+    <string name="credentials_install_certificates" product="nosdcard" msgid="619171634797689906">"Instalar desde almacenamiento USB"</string>
+    <string name="credentials_install_certificates" product="default" msgid="177337517568022236">"Instalar de la tarjeta SD"</string>
+    <string name="credentials_install_certificates_summary" product="nosdcard" msgid="8920330112631198575">"Instalar certificados encriptados del almacenamiento USB"</string>
+    <string name="credentials_install_certificates_summary" product="default" msgid="7737001268684193093">"Instalar certificados encriptados de la tarjeta SD"</string>
     <string name="credentials_set_password" msgid="9104473585811899989">"Establecer contraseña"</string>
     <string name="credentials_set_password_summary" msgid="8287876917562085701">"Establecer o cambiar la contraseña de almacenamiento de la credencial"</string>
     <string name="credentials_reset" msgid="9170150870552453457">"Borrar almacenamiento"</string>
@@ -1068,6 +1122,16 @@
     <string name="credentials_erased" msgid="7700309135582200849">"El almacenamiento de la credencial se ha borrado."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"El almacenamiento de la credencial está activado."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"El almacenamiento de la credencial está inhabilitado."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Sistema de encriptado de archivos"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Encriptar los datos privados del usuario"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Habilitar el almacenamiento del sistema de encriptado de archivos para los datos privados del usuario en este dispositivo"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Si se habilitan los sistemas de encriptado de archivos, se requiere la eliminación de datos del dispositivo."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Si se deshabilitan los sistemas de encriptado de archivos, se requiere la eliminación de datos del dispositivo."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Activar"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Desactivar"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Cancelar"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Cambio en el modo de sistemas de encriptado de archivos cancelado"</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Advertencia de los sistemas de encriptado de archivos."</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Tono de emergencia"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Establecer el comportamiento cuando se establece una llamada de emergencia"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Privacidad"</string>
@@ -1075,11 +1139,11 @@
     <string name="backup_section_title" msgid="8856083167469467588">"Hacer una copia de seguridad y restaurar"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Datos personales"</string>
     <string name="backup_data_title" msgid="1239105919852668016">"Hacer una copia de seguridad de mis datos"</string>
-    <string name="backup_data_summary" msgid="5662190190240860035">"Hacer una copia de seguridad de mi configuración y de otros datos de la aplicación"</string>
-    <string name="auto_restore_title" msgid="5397528966329126506">"Restaurar automáticamente "</string>
-    <string name="auto_restore_summary" msgid="6867766474057290177">"Si reinstalo una aplicación, restablecer las configuraciones o los otros datos con copia de seguridad."</string>
+    <string name="backup_data_summary" msgid="6515285107793232815">"Hacer copias de seguridad de los datos de la aplicación, de las contraseñas de Wi-Fi, y otra configuración en los servidores de Google"</string>
+    <string name="auto_restore_title" msgid="5397528966329126506">"Restaurar automáticamente"</string>
+    <string name="auto_restore_summary" msgid="83177150536734378">"Si reinstalo una aplicación, restablecer las configuraciones o los otros datos con copia de seguridad"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Copia de seguridad"</string>
-    <string name="backup_erase_dialog_message" msgid="2948090854996352245">"¿Estás seguro de que deseas dejar de hacer copias de seguridad de tu configuración y aplicaciones, y borrar todas las copias de los servidores de Google?"</string>
+    <string name="backup_erase_dialog_message" msgid="7766283133557587608">"¿Estás seguro de que deseas dejar de hacer copias de seguridad de tus contraseñas de Wi-Fi, marcadores y otros datos de configuración y aplicaciones, y borrar todas las copias de los servidores de Google?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Configuración de la administración del dispositivo"</string>
     <string name="active_device_admin_msg" msgid="6930903262612422111">"Administrador del dispositivo"</string>
     <string name="remove_device_admin" msgid="3596845261596451437">"Desactivar"</string>
diff --git a/res/values-es/arrays.xml b/res/values-es/arrays.xml
index 598474c..202508f 100644
--- a/res/values-es/arrays.xml
+++ b/res/values-es/arrays.xml
@@ -115,19 +115,6 @@
     <item msgid="1549288661423279207">"Nunca si se está cargando la batería"</item>
     <item msgid="1986753720941888596">"Nunca"</item>
   </string-array>
-  <string-array name="battery_history_type_spinner">
-    <item msgid="2193799199027871385">"Uso de CPU"</item>
-    <item msgid="6401018715947316517">"Uso de red"</item>
-    <item msgid="188092590354892392">"Uso de GPS"</item>
-    <item msgid="8414109131222049141">"Uso del sensor"</item>
-    <item msgid="1327904325081257093">"Uso de actividad parcial"</item>
-    <item msgid="4832254146664706277">"Otro uso"</item>
-  </string-array>
-  <string-array name="battery_history_which_spinner">
-    <item msgid="3451981114763440074">"Desde la última vez que se cargó"</item>
-    <item msgid="166936313535197598">"Total desde inicio"</item>
-    <item msgid="4793941382744963893">"Total durante todo el tiempo"</item>
-  </string-array>
   <string-array name="usage_stats_display_order_types">
     <item msgid="9077371706468756228">"Tiempo de uso"</item>
     <item msgid="1908750532762193304">"Número de inicios"</item>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 471b940..94492e6 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -45,13 +45,16 @@
     <string name="radioInfo_display_asu" msgid="1422248392727818082">"asu"</string>
     <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string>
     <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string>
-    <string name="sdcard_unmount" msgid="3364184561355611897">"Desactivar tarjeta SD"</string>
-    <string name="sdcard_format" msgid="362497552060004057">"Formatear tarjeta SD"</string>
+    <string name="sdcard_unmount" product="nosdcard" msgid="6325292633327972272">"Desactivar USB"</string>
+    <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Desactivar tarjeta SD"</string>
+    <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Borrar almacenamiento USB"</string>
+    <string name="sdcard_format" product="default" msgid="6713185532039187532">"Borrar tarjeta SD"</string>
     <string name="small_font" msgid="2295331917424072635">"Pequeño"</string>
     <string name="medium_font" msgid="2068475425515133701">"Mediano"</string>
     <string name="large_font" msgid="599055175160971446">"Grande"</string>
     <string name="font_size_save" msgid="3450855718056759095">"Aceptar"</string>
-    <string name="sdcard_setting" msgid="5922637503871474866">"Tarjeta SD"</string>
+    <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"Almacenamiento USB"</string>
+    <string name="sdcard_setting" product="default" msgid="5922637503871474866">"Tarjeta SD"</string>
     <string name="battery_info_status_label" msgid="8109155295509700309">"Estado de la batería:"</string>
     <string name="battery_info_power_label" msgid="7465140230991349382">"Cargar batería:"</string>
     <string name="battery_info_scale_label" msgid="3649763192389778437">"Nivel de batería:"</string>
@@ -180,34 +183,41 @@
     <string name="sdcard_changes_instructions" msgid="1364712901180556244">"Los cambios se aplican cuando se vuelve a conectar el cable USB."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"Habilitar almacenamiento masivo USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"Bytes totales:"</string>
-    <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"Falta la tarjeta SD"</string>
+    <string name="sdcard_settings_not_present_status" product="nosdcard" msgid="2902787003418172125">"Almacenamiento USB no activado"</string>
+    <string name="sdcard_settings_not_present_status" product="default" msgid="6666688653496819947">"Falta la tarjeta SD"</string>
     <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"Bytes disponibles:"</string>
-    <string name="sdcard_settings_mass_storage_status" msgid="4786433969313661655">"La tarjeta SD se está utilizando como dispositivo de almacenamiento masivo."</string>
-    <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"Es seguro extraer la tarjeta SD"</string>
-    <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"La tarjeta SD se ha extraído mientras estaba en uso."</string>
+    <string name="sdcard_settings_mass_storage_status" product="nosdcard" msgid="2736378870889777857">"USB como almacenamiento masivo"</string>
+    <string name="sdcard_settings_mass_storage_status" product="default" msgid="4786433969313661655">"La tarjeta SD se está utilizando como dispositivo de almacenamiento masivo."</string>
+    <string name="sdcard_settings_unmounted_status" product="nosdcard" msgid="7503300818792750913">"Es seguro extraer el USB."</string>
+    <string name="sdcard_settings_unmounted_status" product="default" msgid="3812022095683863087">"Es seguro extraer la tarjeta SD"</string>
+    <string name="sdcard_settings_bad_removal_status" product="nosdcard" msgid="7761390725880773697">"USB extraído en uso"</string>
+    <string name="sdcard_settings_bad_removal_status" product="default" msgid="5145797653495907970">"La tarjeta SD se ha extraído mientras estaba en uso."</string>
     <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"Bytes utilizados:"</string>
-    <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Buscando medios en tarjeta SD..."</string>
-    <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"Tarjeta SD activada en modo de solo lectura"</string>
+    <string name="sdcard_settings_scanning_status" product="nosdcard" msgid="7503429447676219564">"Buscando archivos almac USB…"</string>
+    <string name="sdcard_settings_scanning_status" product="default" msgid="2763464949274455656">"Buscando medios en tarjeta SD..."</string>
+    <string name="sdcard_settings_read_only_status" product="nosdcard" msgid="3771783090621312312">"USB activado solo lectura"</string>
+    <string name="sdcard_settings_read_only_status" product="default" msgid="5706115860484118911">"Tarjeta SD activada en modo de solo lectura"</string>
     <string name="next_label" msgid="4693520878012668114">"Siguiente"</string>
     <string name="language_picker_title" msgid="4034157617842965844">"Configuración regional"</string>
     <string name="select_your_language" msgid="1146235168951906084">"Selecciona el idioma que prefieras."</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Seleccionar actividad"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Información del dispositivo"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Información sobre la batería"</string>
-    <string name="battery_history_label" msgid="8242244969757414501">"Historial de la batería"</string>
     <string name="display_label" msgid="7403874003169865762">"Pantalla"</string>
     <string name="phone_info_label" msgid="2127552523124277664">"Información sobre el teléfono"</string>
-    <string name="sd_card_settings_label" msgid="5743100901106177102">"Tarjeta SD"</string>
+    <string name="sd_card_settings_label" product="nosdcard" msgid="8101475181301178428">"Almacenamiento USB"</string>
+    <string name="sd_card_settings_label" product="default" msgid="5743100901106177102">"Tarjeta SD"</string>
     <string name="proxy_settings_label" msgid="3271174136184391743">"Ajustes de proxy"</string>
     <string name="cancel" msgid="6859253417269739139">"Cancelar"</string>
     <string name="settings_label" msgid="1626402585530130914">"Ajustes"</string>
+    <string name="settings_label_launcher" msgid="8344735489639482340">"Ajustes"</string>
     <string name="settings_shortcut" msgid="3672145147925639262">"Ajustes"</string>
     <string name="airplane_mode" msgid="8837269988154128601">"Modo avión"</string>
     <string name="airplane_mode_summary" msgid="3154817401368780988">"Inhabilitar todas las conexiones inalámbricas"</string>
     <string name="airplane_mode_turning_on" msgid="8871739222526957255">"Inhabilitando conexiones inalámbricas..."</string>
     <string name="airplane_mode_turning_off" msgid="3393168549611505996">"Habilitando conexiones inalámbricas..."</string>
     <string name="radio_controls_title" msgid="5868688473587168882">"Conexiones inalámbricas y redes"</string>
-    <string name="wireless_networks_settings_title" msgid="149274247949769551">"Ajustes de red y de inalámbrica"</string>
+    <string name="wireless_networks_settings_title" msgid="149274247949769551">"Configuración inalámbrica y de red"</string>
     <string name="radio_controls_summary" msgid="2998818677094465517">"Administrar Wi-Fi, Bluetooth, modo avión, redes móviles y VPN"</string>
     <string name="roaming" msgid="3596055926335478572">"Itinerancia de datos"</string>
     <string name="roaming_enable" msgid="3737380951525303961">"Establecer conexión con servicios de datos en itinerancia"</string>
@@ -323,6 +333,11 @@
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Como altavoz del teléfono"</string>
     <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Para música y contenido multimedia"</string>
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Ajustes de recordatorio"</string>
+    <string name="nfc_quick_toggle_title" msgid="6769159366307299004">"NFC"</string>
+    <string name="nfc_quick_toggle_summary" msgid="1988408027741447231">"Usar Comunicación de campo cercano (NFC) para leer e intercambiar etiquetas"</string>
+    <!-- no translation found for nfc_toggle_error (2233172102497535522) -->
+    <!-- no translation found for nfc_toggle_error (8998642457947607263) -->
+    <skip />
     <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Activar Wi-Fi"</string>
     <string name="wifi_settings" msgid="4746946030627213196">"Ajustes de Wi-Fi"</string>
@@ -376,6 +391,7 @@
     <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Especificar cuándo cambiar de Wi-Fi a datos móviles"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Se ha producido un problema al intentar establecer la política de suspensión."</string>
     <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Dirección MAC"</string>
+    <string name="wifi_advanced_ip_address_title" msgid="6215297094363164846">"Dirección IP"</string>
     <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Ajustes de IP"</string>
     <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Guardar"</string>
     <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Cancelar"</string>
@@ -398,7 +414,7 @@
     <string name="display_settings_title" msgid="1708697328627382561">"Pantalla"</string>
     <string name="sound_settings" msgid="5007659014828162881">"Ajustes de sonido"</string>
     <string name="silent_mode_title" msgid="3181479108593217704">"Modo silencio"</string>
-    <string name="silent_mode_summary" msgid="3309650676072917899">"Silenciar todos los sonidos, excepto el contenido multimedia y las alarmas "</string>
+    <string name="silent_mode_summary" msgid="3309650676072917899">"Silenciar todos los sonidos, excepto el contenido multimedia y las alarmas"</string>
     <string name="silent_mode_incl_alarm_summary" msgid="2088830834182228458">"Todos los sonidos excepto los multimedia están silenciados."</string>
     <string name="ringtone_title" msgid="5379026328015343686">"Tono del teléfono"</string>
     <string name="ringtone_summary" msgid="2630023412632683493"></string>
@@ -496,9 +512,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Estado"</string>
     <string name="device_status" msgid="607405385799807324">"Estado"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Número de teléfono, señal, etc."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"Almacenamiento"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Almacenamiento en teléf y tarjeta SD"</string>
-    <string name="storage_settings_summary" msgid="9176693537325988610">"Desactivar tarjeta SD, ver almacenamiento disponible."</string>
+    <string name="storage_settings" msgid="4211799979832404953">"Almacenamiento"</string>
+    <string name="storage_settings_title" msgid="8746016738388094064">"Ajustes de almacenamiento"</string>
+    <string name="storage_settings_summary" product="nosdcard" msgid="3543813623294870759">"Desactivar almacenamiento USB, ver almacenamiento disponible"</string>
+    <string name="storage_settings_summary" product="default" msgid="9176693537325988610">"Desactivar tarjeta SD, ver almacenamiento disponible."</string>
     <string name="status_number" msgid="5123197324870153205">"Mi número de teléfono"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
     <string name="status_prl_version" msgid="8499039751817386529">"Versión de PRL"</string>
@@ -514,24 +531,36 @@
     <string name="status_unavailable" msgid="7862009036663793314">"No disponible"</string>
     <string name="status_up_time" msgid="7294859476816760399">"Tiempo de actividad"</string>
     <string name="status_awake_time" msgid="2393949909051183652">"Tiempo de actividad"</string>
-    <string name="internal_memory" msgid="1130932766236387454">"Almacenamiento interno del teléfono"</string>
-    <string name="sd_memory" msgid="151871913888051515">"Tarjeta SD"</string>
+    <string name="internal_memory" msgid="9129595691484260784">"Almacenamiento interno"</string>
+    <string name="sd_memory" product="nosdcard" msgid="2510246194083052841">"Almacenamiento USB"</string>
+    <string name="sd_memory" product="default" msgid="151871913888051515">"Tarjeta SD"</string>
     <string name="memory_available" msgid="418542433817289474">"Espacio disponible"</string>
     <string name="memory_size" msgid="6629067715017232195">"Espacio total"</string>
-    <string name="sd_eject" msgid="6915293408836853020">"Desactivar tarjeta SD"</string>
-    <string name="sd_eject_summary" msgid="3315557796211542962">"Desactiva la tarjeta SD antes de extraerla para evitar la pérdida de datos."</string>
-    <string name="sd_insert_summary" msgid="2048640010381803841">"Insertar una tarjeta SD para el montaje"</string>
-    <string name="sd_mount" msgid="5940523765187704135">"Activar tarjeta SD"</string>
-    <string name="sd_mount_summary" msgid="4936591681679097699">"Activar tarjeta SD"</string>
-    <string name="sd_format" msgid="5448738337382712203">"Formatear tarjeta SD"</string>
-    <string name="sd_format_summary" msgid="6616491027883134004">"Formatear (borrar) la tarjeta SD"</string>
+    <string name="sd_eject" product="default" msgid="6915293408836853020">"Desactivar tarjeta SD"</string>
+    <string name="sd_eject_summary" product="nosdcard" msgid="5009296896648072891">"Desactivar almacenamiento USB interno"</string>
+    <string name="sd_eject_summary" product="default" msgid="3300599435073550246">"Desactivar la tarjeta SD para extraerla de forma segura"</string>
+    <string name="sd_insert_summary" product="nosdcard" msgid="5264016886409577313">"Insert alm USB para activ"</string>
+    <string name="sd_insert_summary" product="default" msgid="2048640010381803841">"Insertar una tarjeta SD para el montaje"</string>
+    <string name="sd_mount" product="nosdcard" msgid="8966695015677343116">"Activar almacenamiento USB"</string>
+    <string name="sd_mount" product="default" msgid="5940523765187704135">"Activar tarjeta SD"</string>
+    <!-- outdated translation 6733254203291665551 -->     <string name="sd_mount_summary" product="nosdcard" msgid="1794150364965145726">"Activar almacenam USB interno"</string>
+    <string name="sd_mount_summary" product="default" msgid="4936591681679097699">"Activar tarjeta SD"</string>
+    <string name="sd_format" product="nosdcard" msgid="2148179271623099054">"Borrar almacenamiento USB"</string>
+    <string name="sd_format" product="default" msgid="2576054280507119870">"Borrar tarjeta SD"</string>
+    <string name="sd_format_summary" product="nosdcard" msgid="1504606546865152514">"Borr dat USB intern (mús, fot)"</string>
+    <string name="sd_format_summary" product="default" msgid="915849621390821841">"Permite borrar todos los datos de la tarjeta SD del teléfono, como la música y las fotos"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"No disponible"</string>
     <string name="read_only" msgid="6702420168629076340">" (Sólo lectura)"</string>
-    <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Desactivar tarjeta SD"</string>
-    <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Si desactivas la tarjeta SD, se detendrán algunas aplicaciones que estás utilizando y estas no estarán disponibles hasta que la vuelvas a activar."</string>
-    <string name="dlg_error_unmount_title" msgid="4004106918266783081">"No se ha podido desactivar la tarjeta SD."</string>
-    <string name="dlg_error_unmount_text" msgid="9188972789897713180">"No se puede desactivar la tarjeta SD. Vuelve a intentarlo más tarde."</string>
-    <string name="unmount_inform_text" msgid="3213378327712151498">"Se va a desmontar la tarjeta SD. Puedes consultar el estado en el área de notificaciones."</string>
+    <string name="dlg_confirm_unmount_title" product="nosdcard" msgid="2349876662428231297">"Desactivar USB"</string>
+    <string name="dlg_confirm_unmount_title" product="default" msgid="8612140627310646730">"Desactivar tarjeta SD"</string>
+    <string name="dlg_confirm_unmount_text" product="nosdcard" msgid="3390169455621185223">"Si desactivas el almacenamiento USB, algunas aplicaciones que estás utilizando se detendrán y no estarán disponibles hasta que lo vuelvas a activar."</string>
+    <string name="dlg_confirm_unmount_text" product="default" msgid="5851214273718817727">"Si desactivas la tarjeta SD, se detendrán algunas aplicaciones que estás utilizando y estas no estarán disponibles hasta que la vuelvas a activar."</string>
+    <string name="dlg_error_unmount_title" product="nosdcard" msgid="7695491947411836733">"Error al desactivar USB"</string>
+    <string name="dlg_error_unmount_title" product="default" msgid="4004106918266783081">"No se ha podido desactivar la tarjeta SD."</string>
+    <string name="dlg_error_unmount_text" product="nosdcard" msgid="1450864147013376592">"No se puede desactivar el almacenamiento USB. Vuelve a intentarlo más tarde."</string>
+    <string name="dlg_error_unmount_text" product="default" msgid="9188972789897713180">"No se puede desactivar la tarjeta SD. Vuelve a intentarlo más tarde."</string>
+    <string name="unmount_inform_text" product="nosdcard" msgid="7120241136790744265">"Se desactivará el almacenamiento USB."</string>
+    <string name="unmount_inform_text" product="default" msgid="1904212716075458402">"Se desactivará la tarjeta SD."</string>
     <string name="sd_ejecting_title" msgid="8824572198034365468">"Desmontando"</string>
     <string name="sd_ejecting_summary" msgid="2028753069184908491">"La tarjeta SD se está desactivando."</string>
     <string name="battery_status_title" msgid="9159414319574976203">"Estado de la batería"</string>
@@ -571,21 +600,32 @@
     <string name="restore_default_apn_completed" msgid="3990449939234957281">"Restablecimiento de la configuración de APN predeterminada completado"</string>
     <string name="master_clear_title" msgid="5907939616087039756">"Restablecer datos de fábrica"</string>
     <string name="master_clear_summary" msgid="4986154238001088492">"Borrar todos los datos del teléfono"</string>
-    <string name="master_clear_desc" msgid="7823268823499739178">"Se borrarán todos los datos del teléfono, incluidos los siguientes elementos:"\n<li>"tu cuenta de Google,"</li>\n<li>"la configuración y los datos de las aplicaciones y del sistema,"</li>\n<li>"las aplicaciones descargadas."</li>\n"No se borrarán los siguientes elementos:"\n<li>"las aplicaciones agrupadas y el software del sistema actual,"</li>\n<li>"los archivos de la tarjeta SD como, por ejemplo, música o fotografías."</li></string>
+    <string name="master_clear_desc" product="nosdcard" msgid="2163013814299528247">"Se borrarán todos los datos del "<b>"almacenamiento interno"</b>" del teléfono, incluidos: la configuración y los datos de aplicaciones y del sistema de "\n\n<li>"tu cuenta de Google"</li>\n<li>","</li>\n<li>"las aplicaciones descargadas."</li>\n\n"Para eliminar todos los datos de este teléfono, debes borrar el "<b>"almacenamiento USB"</b>"."\n\n</string>
+    <string name="master_clear_desc" product="default" msgid="1741944496458365969">"Se borrarán todos los datos del "<b>"almacenamiento interno"</b>" del teléfono, incluidos: la configuración y los datos de aplicaciones y del sistema de "\n\n<li>"tu cuenta de Google"</li>\n<li>","</li>\n<li>"las aplicaciones descargadas."</li>\n\n"Si también quieres eliminar la música, las imágenes y otros datos de usuario, debes borrar la "<b>"tarjeta SD"</b>"."\n\n</string>
+    <string name="erase_external_storage" product="nosdcard" msgid="969364037450286809">"Borrar almacenamiento USB"</string>
+    <string name="erase_external_storage" product="default" msgid="1397239046334307625">"Borrar tarjeta SD"</string>
+    <string name="erase_external_storage_description" product="nosdcard" msgid="1657838142707381027">"Borr dat USB intern (mús, fot)"</string>
+    <string name="erase_external_storage_description" product="default" msgid="8100175974635894073">"Borra todos los datos de la tarjeta SD, como música y fotos"</string>
     <string name="master_clear_button_text" msgid="7550632653343157971">"Reiniciar teléfono"</string>
     <string name="master_clear_final_desc" msgid="6917971132484622696">"¿Quieres borrar toda tu información personal y las aplicaciones que has descargado? Esta acción no se puede deshacer."</string>
     <string name="master_clear_final_button_text" msgid="5390908019019242910">"Borrar todo"</string>
     <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Crea tu patrón de desbloqueo."</string>
     <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"Debes crear un patrón de desbloqueo para confirmar el reinicio del teléfono."</string>
     <string name="master_clear_failed" msgid="8655202125010189406">"No se ha reiniciado el sistema porque el servicio Borrado del sistema no está disponible."</string>
-    <string name="media_format_title" msgid="4671276096695789895">"Formatear tarjeta SD"</string>
-    <string name="media_format_summary" msgid="3805714639375830120">"Borra todos los datos de la tarjeta SD."</string>
-    <string name="media_format_desc" msgid="1142563222357820834">"Esta acción borrará el contenido de la tarjeta SD del teléfono. Perderás TODOS los datos de la tarjeta."</string>
-    <string name="media_format_button_text" msgid="370856400090190151">"Formatear tarjeta SD"</string>
-    <string name="media_format_final_desc" msgid="1776666694910717198">"¿Quieres formatear la tarjeta SD y borrar todos los datos? Esta acción no se puede deshacer."</string>
+    <string name="media_format_title" product="nosdcard" msgid="3999653431422767156">"Borrar almacenamiento USB"</string>
+    <string name="media_format_title" product="default" msgid="4427528440306787972">"Borrar tarjeta SD"</string>
+    <string name="media_format_summary" product="nosdcard" msgid="776603298628082065">"Borra los datos de USB"</string>
+    <string name="media_format_summary" product="default" msgid="3805714639375830120">"Borra todos los datos de la tarjeta SD."</string>
+    <string name="media_format_desc" product="nosdcard" msgid="4553860683952763905">"Se borrará el almacenamiento USB y perderás "<b>"todos"</b>" los datos almacenados."</string>
+    <string name="media_format_desc" product="default" msgid="1598627584181935513">"Se borrará el contenido de la tarjeta SD y perderás "<b>"todos"</b>" los datos de la tarjeta."</string>
+    <string name="media_format_button_text" product="nosdcard" msgid="6293669371185352810">"Borrar almacenamiento USB"</string>
+    <string name="media_format_button_text" product="default" msgid="6721544380069373626">"Borrar tarjeta SD"</string>
+    <string name="media_format_final_desc" product="nosdcard" msgid="8094635533378487255">"¿Quieres borrar el almacenamiento USB y eliminar todos sus archivos? Esta acción no se puede deshacer."</string>
+    <string name="media_format_final_desc" product="default" msgid="9015504991522581434">"¿Quieres borrar la tarjeta SD y eliminar todos sus archivos? Esta acción no se puede deshacer."</string>
     <string name="media_format_final_button_text" msgid="4881713344315923175">"Borrar todo"</string>
     <string name="media_format_gesture_prompt" msgid="3109349468816856670">"Crea tu patrón de desbloqueo."</string>
-    <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Debes crear un patrón de desbloqueo para confirmar el formato de la tarjeta SD."</string>
+    <string name="media_format_gesture_explanation" product="nosdcard" msgid="1379736318750958338">"Debes dibujar el patrón de desbloqueo para confirmar que quieres borrar el almacenamiento USB."</string>
+    <string name="media_format_gesture_explanation" product="default" msgid="1681213416497647321">"Debes dibujar el patrón de desbloqueo para confirmar que quieres borrar la tarjeta SD."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Ajustes de llamada"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Configurar buzón, llamada en espera, desvío e identificador"</string>
     <string name="tether_settings_title_usb" msgid="4315031513434087777">"Anclaje a red"</string>
@@ -609,7 +649,7 @@
     <string name="location_networks_disabled" msgid="2708968452901433980">"Para ver una ubicación en aplicaciones (por ejemplo, Google Maps)"</string>
     <string name="location_neighborhood_level" msgid="4656658097932515921">"Ubicación determinada por redes móviles o Wi-Fi"</string>
     <string name="location_gps" msgid="6296125378829097831">"Utilizar satélites GPS"</string>
-    <string name="location_street_level" msgid="6460740847018275745">"Para detectar ubicación (desactivar para ahorrar batería)"</string>
+    <string name="location_street_level" msgid="7456259025474443314">"Ubicación precisa a nivel de calle"</string>
     <string name="location_gps_disabled" msgid="6632537158777308128">"Localizar en nivel de calle (requiere más batería además de la vista aérea)"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"Utilizar GPS asistido"</string>
     <string name="assisted_gps_enabled" msgid="8751899609589792803">"Utilizar el servidor para asistir al GPS (desactivar para reducir el uso de la red)"</string>
@@ -692,22 +732,31 @@
     <string name="application_size_label" msgid="5055196275624686382">"Aplicación"</string>
     <string name="data_size_label" msgid="8679376373625710107">"Datos"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Desinstalar"</string>
+    <string name="disable_text" msgid="6544054052049395202">"Inhabilitar"</string>
+    <string name="enable_text" msgid="9217362512327828987">"Habilitar"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Borrar datos"</string>
     <string name="app_factory_reset" msgid="6635744722502563022">"Desinstalar actualizaciones"</string>
     <string name="auto_launch_enable_text" msgid="2630656657744196691">"Has elegido ejecutar la aplicación de forma predeterminada para algunas acciones."</string>
     <string name="auto_launch_disable_text" msgid="7800385822185540166">"No se han establecido valores predeterminados."</string>
     <string name="clear_activities" msgid="7408923511535174430">"Borrar valores predeterminados"</string>
     <string name="unknown" msgid="1592123443519355854">"Desconocido"</string>
-    <string name="sort_order_alpha" msgid="8622029358896599842">"Ordenar"</string>
+    <string name="sort_order_alpha" msgid="1410278099123670628">"Ordenar por nombre"</string>
     <string name="sort_order_size" msgid="7024513286636502362">"Ordenar por tamaño"</string>
+    <string name="show_running_services" msgid="5736278767975544570">"Mostrar serv en ejecución"</string>
+    <string name="show_background_processes" msgid="2009840211972293429">"Mostr proc almac en caché"</string>
     <string name="manage_space_text" msgid="8852711522447794676">"Administrar espacio"</string>
     <string name="filter" msgid="2018011724373033887">"Filtrar"</string>
     <string name="filter_dlg_title" msgid="6507663329723966854">"Seleccionar opciones de filtrado"</string>
     <string name="filter_apps_all" msgid="5142129378749391876">"Todas"</string>
     <string name="filter_apps_third_party" msgid="7786348047690140979">"Descargada"</string>
     <string name="filter_apps_running" msgid="7767071454371350486">"En ejecución"</string>
-    <string name="filter_apps_onsdcard" msgid="1477351142334784771">"En tarjeta SD"</string>
-    <string name="loading" msgid="3200408047793887917">"Cargando..."</string>
+    <string name="filter_apps_onsdcard" product="nosdcard" msgid="4843063154701023349">"Almacenamiento USB"</string>
+    <string name="filter_apps_onsdcard" product="default" msgid="1477351142334784771">"En tarjeta SD"</string>
+    <string name="disabled" msgid="9206776641295849915">"Inhabilitada"</string>
+    <string name="no_applications" msgid="5190227407135243904">"Sin aplicaciones"</string>
+    <string name="internal_storage" msgid="1584700623164275282">"Almac interno"</string>
+    <string name="sd_card_storage" product="nosdcard" msgid="2673203150465132465">"Almacenamiento USB"</string>
+    <string name="sd_card_storage" product="default" msgid="7623513618171928235">"Tarjeta SD"</string>
     <string name="recompute_size" msgid="7722567982831691718">"Recalculando tamaño..."</string>
     <string name="clear_data_dlg_title" msgid="4470209520936375508">"Eliminar"</string>
     <string name="clear_data_dlg_text" msgid="8368035073300828451">"Todos los datos de la aplicación se eliminarán de forma permanente, incluidos todos los archivos, la configuración, las cuentas, las bases de datos, etc."</string>
@@ -727,7 +776,8 @@
     <string name="version_text" msgid="9189073826278676425">"versión <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5042838441401731346">"Mover"</string>
     <string name="move_app_to_internal" msgid="3895430471913858185">"Mover al teléfono"</string>
-    <string name="move_app_to_sdcard" msgid="1143379049903056407">"Mover a la tarjeta SD"</string>
+    <string name="move_app_to_sdcard" product="nosdcard" msgid="4350451696315265420">"Mover a almacenamiento USB"</string>
+    <string name="move_app_to_sdcard" product="default" msgid="1143379049903056407">"Mover a la tarjeta SD"</string>
     <string name="moving" msgid="6431016143218876491">"Moviendo"</string>
     <string name="insufficient_storage" msgid="8566913062094452962">"No queda suficiente espacio de almacenamiento."</string>
     <string name="does_not_exist" msgid="837163572898468245">"La aplicación especificada no existe."</string>
@@ -735,29 +785,49 @@
     <string name="invalid_location" msgid="4934491353200240499">"La ubicación de instalación especificada no es válida."</string>
     <string name="system_package" msgid="1030561474413022831">"Las actualizaciones del sistema no se pueden instalar en medios externos."</string>
     <string name="force_stop_dlg_title" msgid="4289453224368188476">"Forzar detención"</string>
-    <string name="force_stop_dlg_text" msgid="3381302041569982075">"Esta aplicación se reiniciará de forma inmediata. ¿Estás seguro de que deseas forzar la detención?"</string>
+    <string name="force_stop_dlg_text" msgid="5157374701213502922">"Forzar la detención de una aplicación puede dar lugar a un comportamiento inadecuado. ¿Seguro que quieres continuar?"</string>
     <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Mover aplicación"</string>
     <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"No se ha podido mover la aplicación. <xliff:g id="REASON">%1$s</xliff:g>"</string>
     <string name="app_install_location_title" msgid="2068975150026852168">"Ubicación de instalación preferida"</string>
     <string name="app_install_location_summary" msgid="879753854530300436">"Modificar ubicación de instalación preferida para nuevas aplicaciones"</string>
+    <string name="storageuse_settings_title" msgid="5657014373502630403">"Uso de almacenamiento"</string>
+    <string name="storageuse_settings_summary" msgid="2556057379120846792">"Ver almacenamiento utilizado por aplicaciones"</string>
     <string name="runningservices_settings_title" msgid="8097287939865165213">"Servicios en ejecución"</string>
     <string name="runningservices_settings_summary" msgid="854608995821032748">"Ver y controlar los servicios en ejecución"</string>
     <string name="service_restarting" msgid="2242747937372354306">"Reiniciando"</string>
-    <string name="no_running_services" msgid="6981216347270280598">"No hay servicios en ejecución."</string>
-    <string name="confirm_stop_service" msgid="5700448757318301681">"¿Quieres detener el servicio?"</string>
-    <string name="confirm_stop_service_msg" msgid="1166661293369421272">"El servicio no se ejecutará hasta que se vuelva a iniciar, lo que puede provocar consecuencias no deseadas en la aplicación <xliff:g id="APPLICATION">%1$s</xliff:g>."</string>
-    <string name="confirm_stop_stop" msgid="7382363913280993331">"Detener"</string>
-    <string name="confirm_stop_cancel" msgid="206495326622692381">"Cancelar"</string>
-    <string name="service_started_by_app" msgid="8432097226392386802">"Iniciado por la aplicación: tocar para detener"</string>
-    <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: tocar para administrar"</string>
-    <string name="service_background_processes" msgid="5158600475629177758">"Disp.: <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g> en <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_foreground_processes" msgid="4013890350284680796">"Otros: <xliff:g id="MEMORY">%2$s</xliff:g> en <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_process_name" msgid="8630408984456958400">"Proceso: <xliff:g id="PROCESS">%1$s</xliff:g>"</string>
+    <string name="cached" msgid="1059590879740175019">"Proceso en segundo plano almacenado en caché"</string>
+    <string name="no_running_services" msgid="2059536495597645347">"No hay nada en ejecución."</string>
+    <string name="service_started_by_app" msgid="6575184738671598131">"Iniciado por la aplicación."</string>
+    <!-- no translation found for service_client_name (4037193625611815517) -->
+    <skip />
+    <string name="service_background_processes" msgid="6844156253576174488">"<xliff:g id="MEMORY">%1$s</xliff:g> libre"</string>
+    <string name="service_foreground_processes" msgid="7583975676795574276">"<xliff:g id="MEMORY">%1$s</xliff:g> en uso"</string>
+    <string name="memory" msgid="6609961111091483458">"RAM"</string>
+    <!-- no translation found for service_process_name (4098932168654826656) -->
+    <skip />
+    <string name="running_processes_item_description_s_s" msgid="5790575965282023145">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> proceso y <xliff:g id="NUMSERVICES">%2$d</xliff:g> servicio"</string>
+    <string name="running_processes_item_description_s_p" msgid="8019860457123222953">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> proceso y <xliff:g id="NUMSERVICES">%2$d</xliff:g> servicios"</string>
+    <string name="running_processes_item_description_p_s" msgid="744424668287252915">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> procesos y <xliff:g id="NUMSERVICES">%2$d</xliff:g> servicio"</string>
+    <string name="running_processes_item_description_p_p" msgid="1607384595790852782">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> procesos y <xliff:g id="NUMSERVICES">%2$d</xliff:g> servicios"</string>
+    <string name="runningservicedetails_settings_title" msgid="6188692418986988288">"Aplicación en ejecución"</string>
+    <string name="no_services" msgid="7133900764462288263">"Inactivos"</string>
+    <string name="runningservicedetails_services_title" msgid="391168243725357375">"Servicios"</string>
+    <string name="runningservicedetails_processes_title" msgid="928115582044655268">"Procesos"</string>
+    <string name="service_stop" msgid="6369807553277527248">"Detener"</string>
+    <string name="service_manage" msgid="1876642087421959194">"Ajustes"</string>
+    <string name="service_stop_description" msgid="3261798282116866961">"Servicio iniciado por su aplicación. Si se detiene, se puede producir un error en la aplicación."</string>
+    <string name="heavy_weight_stop_description" msgid="6855241582643136019">"No se puede detener la aplicación de forma segura. Si lo haces, puedes perder parte de tu trabajo."</string>
+    <string name="background_process_stop_description" msgid="1728354083304746737">"Se trata de un proceso de aplicación antiguo que se mantiene para mejorar la velocidad si vuelve a ser necesario. Normalmente, no es necesario detenerlo."</string>
+    <string name="service_manage_description" msgid="7050092269951613102">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: actualmente en uso. Toca en \"Ajustes\" para controlarlo."</string>
+    <string name="main_running_process_description" msgid="929204645380391397">"Proceso principal en uso"</string>
+    <string name="process_service_in_use_description" msgid="8993335064403217080">"Servicio <xliff:g id="COMP_NAME">%1$s</xliff:g> en uso"</string>
+    <string name="process_provider_in_use_description" msgid="5586603325677678940">"Proveedor <xliff:g id="COMP_NAME">%1$s</xliff:g> en uso"</string>
+    <string name="runningservicedetails_stop_dlg_title" msgid="4253292537154337233">"¿Deseas detener el servicio del sistema?"</string>
+    <string name="runningservicedetails_stop_dlg_text" msgid="6929716497425738387">"¿Estás seguro de que deseas detener este servicio del sistema? Si lo haces, algunas utilidades podrían dejar de funcionar correctamente hasta que apagues el teléfono y vuelvas a encenderlo."</string>
     <string name="language_settings" msgid="502219872342167227">"Idioma y teclado"</string>
     <string name="language_keyboard_settings_title" msgid="3455826933385341107">"Ajustes de teclado y de idioma"</string>
-    <string name="language_settings_summary" msgid="595647729475399987">"Configuración regional, opciones de autocorrección e introducción de texto"</string>
-    <string name="language_category" msgid="3391756582724541530">"Configuración regional"</string>
-    <string name="text_category" msgid="6342540511465136739">"Ajustes de texto"</string>
+    <string name="language_settings_category" msgid="2288258489940617043">"Ajustes de idioma"</string>
+    <string name="keyboard_settings_category" msgid="7060453865544070642">"Ajustes de teclado"</string>
     <string name="phone_language" msgid="1165758957501090679">"Seleccionar idioma"</string>
     <string name="phone_language_summary" msgid="3871309445655554211"></string>
     <string name="auto_replace" msgid="6199184757891937822">"Corrección automática"</string>
@@ -782,7 +852,6 @@
     <string name="testing" msgid="6584352735303604146">"Prueba"</string>
     <string name="testing_phone_info" msgid="8656693364332840056">"Información sobre el teléfono"</string>
     <string name="testing_battery_info" msgid="3497865525976497848">"Información sobre la batería"</string>
-    <string name="testing_battery_history" msgid="3043329445810695647">"Historial de la batería"</string>
     <string name="quick_launch_title" msgid="7904609846945905306">"Inicio rápido"</string>
     <string name="quick_launch_summary" msgid="3453825712466417452">"Establecer accesos rápidos del teclado para ejecutar aplicaciones"</string>
     <string name="quick_launch_assign_application" msgid="4521368464929956350">"Asignar aplicación"</string>
@@ -798,8 +867,8 @@
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Administrar opciones de introducción de texto"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Ajustes de <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Ajustes de teclado en pantalla"</string>
-    <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"Teclado del dispositivo"</string>
-    <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"Ajustes del teclado integrado"</string>
+    <string name="builtin_keyboard_settings_title" msgid="5274990495405941804">"Teclado integrado"</string>
+    <string name="builtin_keyboard_settings_summary" msgid="7990296351888096836">"Ajustes de teclado físico integrado"</string>
     <string name="development_settings_title" msgid="6719732334835420989">"Desarrollo"</string>
     <string name="development_settings_summary" msgid="2151320488701538355">"Establecer opciones de desarrollo de aplicaciones"</string>
     <string name="enable_adb" msgid="7982306934419797485">"Depuración USB"</string>
@@ -812,36 +881,10 @@
     <string name="adb_warning_message" msgid="5352555112049663033">"La depuración USB solo está indicada para actividades de desarrollo. Se puede utilizar para intercambiar datos entre el equipo y el dispositivo, para instalar aplicaciones en el dispositivo sin recibir notificaciones y para leer datos de registro."</string>
     <string name="gadget_picker_title" msgid="98374951396755811">"Seleccionar gadget"</string>
     <string name="widget_picker_title" msgid="9130684134213467557">"Seleccionar widget"</string>
-    <string name="battery_history_details_for" msgid="5924639922153109669">"Detalles del ID único <xliff:g id="NUMBER">%d</xliff:g>"</string>
-    <string name="battery_history_uid" msgid="1016606150528436298">"ID único <xliff:g id="USER_ID">%1$d</xliff:g>"</string>
-    <string name="battery_history_network_usage" msgid="8010852371665217020">"Detalles de uso de red para <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_bytes_received" msgid="980307569180518302">"Bytes recibidos: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_sent" msgid="2501748768602119159">"Bytes enviados: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_total" msgid="4444807574361642753">"Bytes totales: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_cpu_usage" msgid="2597353713014790877">"Detalles de uso de CPU para <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_user_time" msgid="6227507614894791359">"Tiempo de usuario:"</string>
-    <string name="battery_history_system_time" msgid="2015862072724507547">"Tiempo del sistema:"</string>
-    <string name="battery_history_total_time" msgid="3618703970098556104">"Tiempo total"</string>
-    <string name="battery_history_starts" msgid="9137453931978571696">"Inicios: <xliff:g id="STARTS">%1$d</xliff:g>"</string>
     <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g> d <xliff:g id="HOURS">%2$d</xliff:g> h <xliff:g id="MINUTES">%3$d</xliff:g> min <xliff:g id="SECONDS">%4$d</xliff:g> s"</string>
     <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> min <xliff:g id="SECONDS">%3$d</xliff:g> s"</string>
     <string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g> min <xliff:g id="SECONDS">%2$d</xliff:g> s"</string>
     <string name="battery_history_seconds" msgid="4283492130945761685">"<xliff:g id="SECONDS">%1$d</xliff:g> s"</string>
-    <string name="battery_history_packages_sharing_this_uid" msgid="4101596071379250050">"Paquetes que comparten este ID único:"</string>
-    <string name="battery_history_no_data" msgid="1177238743237067617">"No hay datos disponibles sobre el uso de la batería."</string>
-    <string name="battery_history_sensor" msgid="2333488996028993982">"Sensor:"</string>
-    <string name="battery_history_wakelock" msgid="608683447522396293">"Bloqueo de actividad parcial:"</string>
-    <string name="battery_history_used_by_packages" msgid="3000711380023436470">"Sensor utilizado por paquetes:"</string>
-    <string name="battery_history_sensor_usage" msgid="3593133338613209024">"Utilizado <xliff:g id="COUNT">%1$d</xliff:g> veces por <xliff:g id="PACKAGE">%2$s</xliff:g>"</string>
-    <string name="battery_history_sensor_usage_multi" msgid="4536084375991014508">"Utilizado <xliff:g id="COUNT">%1$d</xliff:g> veces por uno de:"</string>
-    <string name="battery_history_awake_label" msgid="8449792868990080882">"En ejecución"</string>
-    <string name="battery_history_screen_on_label" msgid="1848936521786339362">"Pantalla encendida"</string>
-    <string name="battery_history_phone_on_label" msgid="700191958853142297">"Teléfono encendido"</string>
-    <string name="battery_history_awake" msgid="4350886665719031057">"Tiempo transcurrido sin suspensión:"</string>
-    <string name="battery_history_screen_on" msgid="1377240025275657277">"Tiempo transcurrido con la pantalla encendida:"</string>
-    <string name="battery_history_phone_on" msgid="4891504401623839532">"Tiempo transcurrido con el teléfono encendido:"</string>
-    <string name="battery_history_screen_on_battery" msgid="536058210445081888">"En la batería:"</string>
-    <string name="battery_history_screen_on_plugged" msgid="5019127390021871260">"Cargando:"</string>
     <string name="usage_stats_label" msgid="5890846333487083609">"Estadísticas de uso"</string>
     <string name="testing_usage_stats" msgid="7823048598893937339">"Estadísticas de uso"</string>
     <string name="display_order_text" msgid="8592776965827565271">"Ordenar por:"</string>
@@ -865,12 +908,19 @@
     <string name="power_usage_summary" msgid="7237084831082848168">"Consumo de la batería"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Uso de la batería desde que se cargó"</string>
     <string name="battery_since_reset" msgid="7464546661121187045">"Uso de la batería desde que se restableció"</string>
+    <string name="battery_stats_on_battery" msgid="4970762168505236033">"<xliff:g id="TIME">%1$s</xliff:g> de batería"</string>
     <string name="battery_stats_duration" msgid="7464501326709469282">"<xliff:g id="TIME">%1$s</xliff:g> desde que se cargó"</string>
+    <string name="battery_stats_charging_label" msgid="4223311142875178785">"Cargando..."</string>
+    <string name="battery_stats_screen_on_label" msgid="7150221809877509708">"Pantalla encendida"</string>
+    <string name="battery_stats_gps_on_label" msgid="1193657533641951256">"GPS activado"</string>
+    <string name="battery_stats_wifi_running_label" msgid="3093545080361658269">"Wi-Fi"</string>
+    <string name="battery_stats_wake_lock_label" msgid="1908942681902324095">"Activa"</string>
+    <string name="battery_stats_phone_signal_label" msgid="6822042940376636775">"Señal del teléfono"</string>
     <!-- no translation found for battery_stats_last_duration (1535831453827905957) -->
     <skip />
     <string name="awake" msgid="387122265874485088">"Tiempo de actividad del dispositivo"</string>
-    <string name="wifi_on_time" msgid="4630925382578609056">"Tiempo de conexión WiFi"</string>
-    <string name="bluetooth_on_time" msgid="4478515071957280711">"Tiempo de conexión WiFi"</string>
+    <string name="wifi_on_time" msgid="6310209835617490616">"Tiempo de conexión WiFi"</string>
+    <string name="bluetooth_on_time" msgid="6157799524996162271">"Tiempo de conexión WiFi"</string>
     <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g>: <xliff:g id="NUMBER">%2$s</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
     <string name="details_title" msgid="7564809986329021063">"Detalles de uso de la batería"</string>
     <string name="details_subtitle" msgid="32593908269911734">"Detalles de uso"</string>
@@ -884,7 +934,9 @@
     <string name="power_idle" msgid="9055659695602194990">"Teléfono inactivo"</string>
     <string name="usage_type_cpu" msgid="715162150698338714">"Total de CPU"</string>
     <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"Primer plano de la CPU"</string>
+    <string name="usage_type_wake_lock" msgid="5125438890233677880">"Mantener activo"</string>
     <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string>
+    <string name="usage_type_wifi_running" msgid="8234997940652067049">"WiFi en funcionamiento"</string>
     <string name="usage_type_phone" msgid="9108247984998041853">"Teléfono"</string>
     <string name="usage_type_data_send" msgid="2857401966985425427">"Datos enviados"</string>
     <string name="usage_type_data_recv" msgid="7251090882025234185">"Datos recibidos"</string>
@@ -896,7 +948,7 @@
     <string name="battery_action_app_details" msgid="3275013531871113681">"Información de la aplicación"</string>
     <string name="battery_action_app_settings" msgid="350562653472577250">"Ajustes de aplicaciones"</string>
     <string name="battery_action_display" msgid="5302763261448580102">"Ajustes de pantalla"</string>
-    <string name="battery_action_wifi" msgid="5452076674659927993">"Ajustes WiFi"</string>
+    <string name="battery_action_wifi" msgid="2272741639606146903">"Ajustes de Wi-Fi"</string>
     <string name="battery_action_bluetooth" msgid="8374789049507723142">"Ajustes de Bluetooth"</string>
     <string name="battery_desc_voice" msgid="8980322055722959211">"Batería utilizada por llamadas de voz"</string>
     <string name="battery_desc_standby" msgid="3009080001948091424">"Batería utilizada cuando el teléfono está inactivo"</string>
@@ -909,9 +961,9 @@
     <string name="battery_desc_bluetooth" msgid="7535520658674621902">"Batería utilizada por Bluetooth"</string>
     <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"Desactiva el Bluetooth cuando no lo estés utilizando."</string>
     <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"Intenta conectarte a un dispositivo Bluetooth diferente."</string>
-    <string name="battery_desc_apps" msgid="8123202939321333639">"Batería utilizada por aplicaciones en ejecución"</string>
+    <string name="battery_desc_apps" msgid="6665712811746233450">"Batería utilizada por aplicación"</string>
     <string name="battery_sugg_apps_info" msgid="6065882899391322442">"Detener o desinstalar la aplicación"</string>
-    <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"Desactivar GPS cuando no se esté utilizando"</string>
+    <string name="battery_sugg_apps_gps" msgid="4545056413090932541">"Controlar el GPS manualmente para evitar que la aplicación lo utilice"</string>
     <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"La aplicación puede incluir opciones que permitan reducir el uso de la batería."</string>
     <string name="menu_stats_unplugged" msgid="8296577130840261624">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> desde que se desenchufó"</string>
     <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"Desde la última vez que se desenchufó para <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
@@ -961,6 +1013,8 @@
     <string name="pico_not_installed" msgid="6266845418419994311">"Sin instalar"</string>
     <string name="pico_voice_summary_female" msgid="8047327176247727492">"Mujer"</string>
     <string name="pico_voice_summary_male" msgid="8331266854058577610">"Hombre"</string>
+    <string name="tts_notif_engine_install_title" msgid="7000346872482649034">"Motor síntesis de voz instalado"</string>
+    <string name="tts_notif_engine_install_message" msgid="5304661142202662693">"Habilitar nuevo motor"</string>
     <string name="gadget_title" msgid="7455548605888590466">"Control de energía"</string>
     <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Actualización de la configuración de la conexión Wi-Fi"</string>
     <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Actualización de la configuración de la conexión Bluetooth"</string>
@@ -1047,8 +1101,10 @@
     <string name="credentials_access_summary" msgid="319662078718574168">"Permitir que las aplicaciones accedan a los certificados seguros y a otras credenciales"</string>
     <string name="credentials_unlock" msgid="1463040326264133844">"Introducir contraseña"</string>
     <string name="credentials_unlock_hint" msgid="594679530407918031">"Introduce la contraseña de almacenamiento de credenciales."</string>
-    <string name="credentials_install_certificates" msgid="177337517568022236">"Instalar desde la tarjeta SD"</string>
-    <string name="credentials_install_certificates_summary" msgid="7737001268684193093">"Instalar certificados encriptados de tarjeta SD"</string>
+    <string name="credentials_install_certificates" product="nosdcard" msgid="619171634797689906">"Instalar desde almac USB"</string>
+    <string name="credentials_install_certificates" product="default" msgid="177337517568022236">"Instalar desde la tarjeta SD"</string>
+    <string name="credentials_install_certificates_summary" product="nosdcard" msgid="8920330112631198575">"Inst cert encr de alm USB"</string>
+    <string name="credentials_install_certificates_summary" product="default" msgid="7737001268684193093">"Instalar certificados encriptados de tarjeta SD"</string>
     <string name="credentials_set_password" msgid="9104473585811899989">"Establecer contraseña"</string>
     <string name="credentials_set_password_summary" msgid="8287876917562085701">"Establecer o cambiar la contraseña de almacenamiento de credenciales"</string>
     <string name="credentials_reset" msgid="9170150870552453457">"Borrar almacenamiento"</string>
@@ -1068,6 +1124,16 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Se ha borrado el almacenamiento de credenciales."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Almacenamiento de credenciales habilitado"</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Almacenamiento de credenciales inhabilitado"</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Sistema de archivos encriptados"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Encriptar datos de usuario privados"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Habilitar almacenamiento de sistema de archivos encriptados para datos de usuario privados en este dispositivo"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Es necesario eliminar los datos del dispositivo para habilitar los sistemas de archivos encriptados."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Es necesario eliminar los datos del dispositivo para inhabilitar los sistemas de archivos encriptados."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Habilitar"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Inhabilitar"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Cancelar"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Se ha cancelado el cambio de modo de sistemas de archivos encriptados."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Advertencia de sistemas de archivos encriptados"</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Tono de emergencia"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Establecer comportamiento al realizar una llamada de emergencia"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Privacidad"</string>
@@ -1075,11 +1141,11 @@
     <string name="backup_section_title" msgid="8856083167469467588">"Copia de seguridad y restauración"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Datos personales"</string>
     <string name="backup_data_title" msgid="1239105919852668016">"Copia de seguridad de datos"</string>
-    <string name="backup_data_summary" msgid="5662190190240860035">"Copia de seguridad de ajustes y otros datos de aplicación"</string>
+    <string name="backup_data_summary" msgid="6515285107793232815">"Realizar copia de seguridad en servidores de Google de datos de aplicaciones, contraseñas Wi-Fi y otras opciones de configuración"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Restauración automática"</string>
-    <string name="auto_restore_summary" msgid="6867766474057290177">"Restaurar ajustes con copia de seguridad y otros datos si vuelvo a instalar una aplicación"</string>
+    <string name="auto_restore_summary" msgid="83177150536734378">"Restaurar ajustes con copia de seguridad y otros datos si vuelvo a instalar una aplicación"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Copia de seguridad"</string>
-    <string name="backup_erase_dialog_message" msgid="2948090854996352245">"¿Estás seguro de que quieres detener la copia de seguridad de la configuración y de los datos de aplicación y borrar todas las copias de los servidores de Google?"</string>
+    <string name="backup_erase_dialog_message" msgid="7766283133557587608">"¿Estás seguro de que quieres detener la copia de seguridad de las contraseñas WiFi, de los marcadores y de otros datos de aplicaciones y opciones de configuración y borrar todas las copias de los servidores de Google?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Ajustes de administración de dispositivos"</string>
     <string name="active_device_admin_msg" msgid="6930903262612422111">"Administrador de dispositivos"</string>
     <string name="remove_device_admin" msgid="3596845261596451437">"Desactivar"</string>
diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml
index 5840edf..e9633f6 100644
--- a/res/values-fr/arrays.xml
+++ b/res/values-fr/arrays.xml
@@ -115,19 +115,6 @@
     <item msgid="1549288661423279207">"Jamais si branché"</item>
     <item msgid="1986753720941888596">"Jamais"</item>
   </string-array>
-  <string-array name="battery_history_type_spinner">
-    <item msgid="2193799199027871385">"Utilisation de l\'UC"</item>
-    <item msgid="6401018715947316517">"Utilisation du réseau"</item>
-    <item msgid="188092590354892392">"Utilisation du GPS"</item>
-    <item msgid="8414109131222049141">"Utilisation du capteur"</item>
-    <item msgid="1327904325081257093">"Utilisation en activité partielle"</item>
-    <item msgid="4832254146664706277">"Autre utilisation"</item>
-  </string-array>
-  <string-array name="battery_history_which_spinner">
-    <item msgid="3451981114763440074">"Depuis le dernier débranchement"</item>
-    <item msgid="166936313535197598">"Total depuis le démarrage"</item>
-    <item msgid="4793941382744963893">"Total toutes périodes comprises"</item>
-  </string-array>
   <string-array name="usage_stats_display_order_types">
     <item msgid="9077371706468756228">"Temps d\'utilisation"</item>
     <item msgid="1908750532762193304">"Nombre de lancements"</item>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index d102205..53a06c0 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -45,13 +45,16 @@
     <string name="radioInfo_display_asu" msgid="1422248392727818082">"asu"</string>
     <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string>
     <string name="radioInfo_cid" msgid="4362599198392643138">"CID ou IDC"</string>
-    <string name="sdcard_unmount" msgid="3364184561355611897">"Retirer la carte SD"</string>
-    <string name="sdcard_format" msgid="362497552060004057">"Formater la carte SD"</string>
+    <string name="sdcard_unmount" product="nosdcard" msgid="6325292633327972272">"Désinstaller mémoire USB"</string>
+    <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Retirer la carte SD"</string>
+    <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Effacer la mémoire de stockage USB"</string>
+    <string name="sdcard_format" product="default" msgid="6713185532039187532">"Effacer la carte SD"</string>
     <string name="small_font" msgid="2295331917424072635">"Petite"</string>
     <string name="medium_font" msgid="2068475425515133701">"Moyenne"</string>
     <string name="large_font" msgid="599055175160971446">"Grande"</string>
     <string name="font_size_save" msgid="3450855718056759095">"OK"</string>
-    <string name="sdcard_setting" msgid="5922637503871474866">"Carte SD"</string>
+    <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"Mémoire de stockage USB"</string>
+    <string name="sdcard_setting" product="default" msgid="5922637503871474866">"Carte SD"</string>
     <string name="battery_info_status_label" msgid="8109155295509700309">"État de la batterie :"</string>
     <string name="battery_info_power_label" msgid="7465140230991349382">"Prise électrique :"</string>
     <string name="battery_info_scale_label" msgid="3649763192389778437">"Batterie :"</string>
@@ -178,29 +181,36 @@
     <string name="band_mode_failed" msgid="1495968863884716379">"Échec"</string>
     <string name="band_mode_succeeded" msgid="2701016190055887575">"OK"</string>
     <string name="sdcard_changes_instructions" msgid="1364712901180556244">"Les modifications prendront effet lors de la prochaine connexion du câble USB."</string>
-    <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"Activer le stockage de masse USB"</string>
+    <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"Activer la mémoire de stockage de masse USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"Octets au total :"</string>
-    <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"Aucune carte SD n\'a été trouvée."</string>
+    <string name="sdcard_settings_not_present_status" product="nosdcard" msgid="2902787003418172125">"Mémoire de stockage USB non installée"</string>
+    <string name="sdcard_settings_not_present_status" product="default" msgid="6666688653496819947">"Aucune carte SD n\'a été trouvée."</string>
     <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"Octets disponibles :"</string>
-    <string name="sdcard_settings_mass_storage_status" msgid="4786433969313661655">"La carte SD est utilisée comme périphérique de stockage."</string>
-    <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"Vous pouvez maintenant retirer la carte SD en toute sécurité."</string>
-    <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"La carte SD a été retirée pendant son utilisation !"</string>
+    <string name="sdcard_settings_mass_storage_status" product="nosdcard" msgid="2736378870889777857">"Mémoire USB utilisée comme stockage de masse"</string>
+    <string name="sdcard_settings_mass_storage_status" product="default" msgid="4786433969313661655">"La carte SD est utilisée comme périphérique de stockage."</string>
+    <string name="sdcard_settings_unmounted_status" product="nosdcard" msgid="7503300818792750913">"Retirez la mémoire USB en toute sécurité."</string>
+    <string name="sdcard_settings_unmounted_status" product="default" msgid="3812022095683863087">"Vous pouvez maintenant retirer la carte SD en toute sécurité."</string>
+    <string name="sdcard_settings_bad_removal_status" product="nosdcard" msgid="7761390725880773697">"Mémoire USB retirée en cours d\'utilisation"</string>
+    <string name="sdcard_settings_bad_removal_status" product="default" msgid="5145797653495907970">"La carte SD a été retirée pendant son utilisation !"</string>
     <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"Octets utilisés :"</string>
-    <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Recherche de fichiers multimédias sur la carte SD…"</string>
-    <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"Carte SD montée en lecture seule"</string>
+    <string name="sdcard_settings_scanning_status" product="nosdcard" msgid="7503429447676219564">"Recherche de médias sur USB…"</string>
+    <string name="sdcard_settings_scanning_status" product="default" msgid="2763464949274455656">"Recherche de fichiers multimédias sur la carte SD…"</string>
+    <string name="sdcard_settings_read_only_status" product="nosdcard" msgid="3771783090621312312">"Mémoire de stockage USB en lecture seule"</string>
+    <string name="sdcard_settings_read_only_status" product="default" msgid="5706115860484118911">"Carte SD montée en lecture seule"</string>
     <string name="next_label" msgid="4693520878012668114">"Suivant"</string>
     <string name="language_picker_title" msgid="4034157617842965844">"Paramètres régionaux"</string>
     <string name="select_your_language" msgid="1146235168951906084">"Choisir la langue"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Sélectionner une activité"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Informations sur l\'appareil"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Informations sur la batterie"</string>
-    <string name="battery_history_label" msgid="8242244969757414501">"Historique de la batterie"</string>
     <string name="display_label" msgid="7403874003169865762">"Afficher"</string>
     <string name="phone_info_label" msgid="2127552523124277664">"Informations sur le téléphone"</string>
-    <string name="sd_card_settings_label" msgid="5743100901106177102">"Carte SD"</string>
+    <string name="sd_card_settings_label" product="nosdcard" msgid="8101475181301178428">"Mémoire USB"</string>
+    <string name="sd_card_settings_label" product="default" msgid="5743100901106177102">"Carte SD"</string>
     <string name="proxy_settings_label" msgid="3271174136184391743">"Paramètres proxy"</string>
     <string name="cancel" msgid="6859253417269739139">"Annuler"</string>
     <string name="settings_label" msgid="1626402585530130914">"Paramètres"</string>
+    <string name="settings_label_launcher" msgid="8344735489639482340">"Paramètres"</string>
     <string name="settings_shortcut" msgid="3672145147925639262">"Paramètres"</string>
     <string name="airplane_mode" msgid="8837269988154128601">"Mode avion"</string>
     <string name="airplane_mode_summary" msgid="3154817401368780988">"Désactiver toutes les connexions sans fil"</string>
@@ -323,6 +333,11 @@
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Comme téléphone à haut-parleur"</string>
     <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Pour la musique et le multimédia"</string>
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Mémoriser ces paramètres"</string>
+    <string name="nfc_quick_toggle_title" msgid="6769159366307299004">"NFC"</string>
+    <string name="nfc_quick_toggle_summary" msgid="1988408027741447231">"Utiliser la communication en champ proche pour lire et échanger des tags"</string>
+    <!-- no translation found for nfc_toggle_error (2233172102497535522) -->
+    <!-- no translation found for nfc_toggle_error (8998642457947607263) -->
+    <skip />
     <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Activer le Wi-Fi"</string>
     <string name="wifi_settings" msgid="4746946030627213196">"Paramètres Wi-Fi"</string>
@@ -376,6 +391,7 @@
     <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Indiquer quand basculer du Wi-Fi sur le réseau de données mobile"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Un problème est survenu lors du paramétrage de la politique de veille."</string>
     <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Adresse MAC"</string>
+    <string name="wifi_advanced_ip_address_title" msgid="6215297094363164846">"Adresse IP"</string>
     <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Paramètres IP"</string>
     <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Enregistrer"</string>
     <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Annuler"</string>
@@ -412,7 +428,7 @@
     <string name="notification_sound_title" msgid="6316316069880531693">"Sonnerie de notification"</string>
     <string name="notification_sound_summary" msgid="2953599929394109819"></string>
     <string name="notification_pulse_title" msgid="1247988024534030629">"Voyant de notification"</string>
-    <string name="notification_pulse_summary" msgid="6899220780534617152">"Faire clignoter le voyant de la trackball à chaque notification"</string>
+    <string name="notification_pulse_summary" msgid="6899220780534617152">"Faire clignoter le voyant du trackball à chaque notification"</string>
     <string name="incoming_call_volume_title" msgid="8073714801365904099">"Sonnerie"</string>
     <string name="notification_volume_title" msgid="2012640760341080408">"Notification"</string>
     <string name="checkbox_notification_same_as_incoming_call" msgid="1073644356290338921">"Utiliser le volume des appels entrants pour les notifications"</string>
@@ -439,7 +455,7 @@
     <string name="dock_settings_title" msgid="9161438664257429372">"Paramètres station d\'accueil"</string>
     <string name="dock_audio_settings_title" msgid="3324750259959570305">"Audio"</string>
     <string name="dock_audio_summary_desk" msgid="6487784412371139335">"Paramètres station d\'accueil bureau associée"</string>
-    <string name="dock_audio_summary_car" msgid="6740897586006248450">"Paramètres station d\'accueil voiture associée"</string>
+    <string name="dock_audio_summary_car" msgid="6740897586006248450">"Paramètres support voiture associé"</string>
     <string name="dock_audio_summary_none" msgid="289909253741048784">"Le téléphone n\'est pas sur sa base."</string>
     <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Paramètres station d\'accueil associée"</string>
     <string name="dock_not_found_title" msgid="3290961741828952424">"Station d\'accueil introuvable"</string>
@@ -496,9 +512,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"État"</string>
     <string name="device_status" msgid="607405385799807324">"État"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Numéro de téléphone, signal, etc."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"Carte SD et mémoire"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Carte SD et paramètres mémoire du tél."</string>
-    <string name="storage_settings_summary" msgid="9176693537325988610">"Retirer la carte SD, afficher la mémoire disponible"</string>
+    <string name="storage_settings" msgid="4211799979832404953">"Stockage"</string>
+    <string name="storage_settings_title" msgid="8746016738388094064">"Paramètres de stockage"</string>
+    <string name="storage_settings_summary" product="nosdcard" msgid="3543813623294870759">"Désinstaller la mémoire de stockage USB, afficher l\'espace disponible"</string>
+    <string name="storage_settings_summary" product="default" msgid="9176693537325988610">"Retirer la carte SD, afficher la mémoire disponible"</string>
     <string name="status_number" msgid="5123197324870153205">"Mon numéro de téléphone"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
     <string name="status_prl_version" msgid="8499039751817386529">"Version PRL"</string>
@@ -514,24 +531,36 @@
     <string name="status_unavailable" msgid="7862009036663793314">"Non disponible"</string>
     <string name="status_up_time" msgid="7294859476816760399">"Durée d\'activité"</string>
     <string name="status_awake_time" msgid="2393949909051183652">"Temps en activité"</string>
-    <string name="internal_memory" msgid="1130932766236387454">"Mémoire interne du téléphone"</string>
-    <string name="sd_memory" msgid="151871913888051515">"Carte SD"</string>
+    <string name="internal_memory" msgid="9129595691484260784">"Mémoire de stockage interne"</string>
+    <string name="sd_memory" product="nosdcard" msgid="2510246194083052841">"Mémoire de stockage USB"</string>
+    <string name="sd_memory" product="default" msgid="151871913888051515">"Carte SD"</string>
     <string name="memory_available" msgid="418542433817289474">"Espace disponible"</string>
     <string name="memory_size" msgid="6629067715017232195">"Espace total"</string>
-    <string name="sd_eject" msgid="6915293408836853020">"Désactiver la carte SD"</string>
-    <string name="sd_eject_summary" msgid="3315557796211542962">"Désactiver la carte SD pour la retirer en toute sécurité"</string>
-    <string name="sd_insert_summary" msgid="2048640010381803841">"Insérer la carte SD à monter"</string>
-    <string name="sd_mount" msgid="5940523765187704135">"Monter la carte SD"</string>
-    <string name="sd_mount_summary" msgid="4936591681679097699">"Monter la carte SD"</string>
-    <string name="sd_format" msgid="5448738337382712203">"Formater la carte SD"</string>
-    <string name="sd_format_summary" msgid="6616491027883134004">"Formater (effacer) la carte SD"</string>
+    <string name="sd_eject" product="default" msgid="6915293408836853020">"Désactiver la carte SD"</string>
+    <string name="sd_eject_summary" product="nosdcard" msgid="5009296896648072891">"Désinstaller mémoire USB interne"</string>
+    <string name="sd_eject_summary" product="default" msgid="3300599435073550246">"Désinstaller la carte SD pour la retirer en toute sécurité"</string>
+    <string name="sd_insert_summary" product="nosdcard" msgid="5264016886409577313">"Insérer mémoire USB à installer"</string>
+    <string name="sd_insert_summary" product="default" msgid="2048640010381803841">"Insérer la carte SD à monter"</string>
+    <string name="sd_mount" product="nosdcard" msgid="8966695015677343116">"Connecter une mémoire de stockage USB"</string>
+    <string name="sd_mount" product="default" msgid="5940523765187704135">"Monter la carte SD"</string>
+    <!-- outdated translation 6733254203291665551 -->     <string name="sd_mount_summary" product="nosdcard" msgid="1794150364965145726">"Installer la mémoire USB interne"</string>
+    <string name="sd_mount_summary" product="default" msgid="4936591681679097699">"Monter la carte SD"</string>
+    <string name="sd_format" product="nosdcard" msgid="2148179271623099054">"Effacer la mémoire USB"</string>
+    <string name="sd_format" product="default" msgid="2576054280507119870">"Effacer la carte SD"</string>
+    <string name="sd_format_summary" product="nosdcard" msgid="1504606546865152514">"Effacer les données de la mémoire USB interne (ex. : musique, photos)"</string>
+    <string name="sd_format_summary" product="default" msgid="915849621390821841">"Effacer toutes les données de la carte SD, telles que la musique et les photos"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"Non disponible"</string>
     <string name="read_only" msgid="6702420168629076340">" (Lecture seule)"</string>
-    <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Désactiver la carte SD"</string>
-    <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Si vous désactivez la carte SD, certaines applications que vous utilisez s\'arrêteront et risquent de ne plus être disponibles tant que vous n\'aurez pas réactivé la carte SD."</string>
-    <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Échec de la désactivation de la carte SD"</string>
-    <string name="dlg_error_unmount_text" msgid="9188972789897713180">"Impossible de désactiver la carte SD. Réessayez ultérieurement."</string>
-    <string name="unmount_inform_text" msgid="3213378327712151498">"La carte SD sera désactivée. Pour connaître l\'état de la carte, consultez la zone de notification."</string>
+    <string name="dlg_confirm_unmount_title" product="nosdcard" msgid="2349876662428231297">"Désinstaller la mémoire de stockage USB"</string>
+    <string name="dlg_confirm_unmount_title" product="default" msgid="8612140627310646730">"Désactiver la carte SD"</string>
+    <string name="dlg_confirm_unmount_text" product="nosdcard" msgid="3390169455621185223">"Si vous désactivez la mémoire de stockage USB, certaines applications en cours d\'utilisation seront fermées. Elles risquent de rester indisponibles jusqu\'à ce que la mémoire de stockage USB soit réactivée."</string>
+    <string name="dlg_confirm_unmount_text" product="default" msgid="5851214273718817727">"Si vous désactivez la carte SD, certaines applications que vous utilisez s\'arrêteront et risquent de ne plus être disponibles tant que vous n\'aurez pas réactivé la carte SD."</string>
+    <string name="dlg_error_unmount_title" product="nosdcard" msgid="7695491947411836733">"Impossible de désinstaller USB"</string>
+    <string name="dlg_error_unmount_title" product="default" msgid="4004106918266783081">"Échec de la désactivation de la carte SD"</string>
+    <string name="dlg_error_unmount_text" product="nosdcard" msgid="1450864147013376592">"Impossible de désinstaller la mémoire de stockage USB. Réessayez ultérieurement."</string>
+    <string name="dlg_error_unmount_text" product="default" msgid="9188972789897713180">"Impossible de désactiver la carte SD. Réessayez ultérieurement."</string>
+    <string name="unmount_inform_text" product="nosdcard" msgid="7120241136790744265">"La mémoire de stockage USB va être désinstallée."</string>
+    <string name="unmount_inform_text" product="default" msgid="1904212716075458402">"La carte SD va être démontée."</string>
     <string name="sd_ejecting_title" msgid="8824572198034365468">"Désactivation en cours"</string>
     <string name="sd_ejecting_summary" msgid="2028753069184908491">"Désactivation en cours"</string>
     <string name="battery_status_title" msgid="9159414319574976203">"État de la batterie"</string>
@@ -541,7 +570,7 @@
     <string name="apn_not_set" msgid="7422262558097875757">"&lt;Non défini&gt;"</string>
     <string name="apn_name" msgid="4115580098369824123">"Nom"</string>
     <string name="apn_apn" msgid="2479425126733513353">"APN"</string>
-    <string name="apn_http_proxy" msgid="1826885957243696354">"Proxy "</string>
+    <string name="apn_http_proxy" msgid="1826885957243696354">"Proxy"</string>
     <string name="apn_http_port" msgid="3763259523984976226">"Port"</string>
     <string name="apn_user" msgid="455637547356117761">"Nom d\'utilisateur"</string>
     <string name="apn_password" msgid="5412301994998250968">"Mot de passe"</string>
@@ -571,21 +600,32 @@
     <string name="restore_default_apn_completed" msgid="3990449939234957281">"Réinitialisation des paramètres APN par défaut terminée"</string>
     <string name="master_clear_title" msgid="5907939616087039756">"Restaurer valeurs d\'usine"</string>
     <string name="master_clear_summary" msgid="4986154238001088492">"Effacer toutes les données du téléphone"</string>
-    <string name="master_clear_desc" msgid="7823268823499739178">"Toutes les données de votre téléphone vont être supprimées, en particulier :"\n<li>"votre compte Google"</li>\n<li>"les paramètres et données des applications et du système "</li>\n<li>"les applications téléchargées"</li>\n"Les éléments suivants ne seront pas supprimés :"\n<li>"les logiciels système actuels et les applications pré-installées "</li>\n<li>"les fichiers présents sur la carte SD (par ex. photos et musique)"</li></string>
+    <string name="master_clear_desc" product="nosdcard" msgid="2163013814299528247">"Cette action effacera toutes les données de la mémoire de "<b>"stockage interne"</b>" de votre mobile, y compris :"\n\n<li>"Votre compte Google"</li>\n<li>"Les données et les paramètres des applications et du système"</li>\n<li>"Les applications téléchargées"</li>\n\n"Pour supprimer toutes les données de votre mobile, vous devez également effacer la mémoire de "<b>"stockage USB"</b>"."\n\n</string>
+    <string name="master_clear_desc" product="default" msgid="1741944496458365969">"Cette action effacera toutes les données du "<b>"stockage interne"</b>" de votre téléphone, notamment :"\n\n<li>"Votre compte Google"</li>\n<li>"Les données et les paramètres des applications et du système"</li>\n<li>"Les applications téléchargées"</li>\n\n"Pour supprimer également la musique, les photos et les autres données utilisateur, vous devez effacer la "<b>"carte SD"</b>"."\n\n</string>
+    <string name="erase_external_storage" product="nosdcard" msgid="969364037450286809">"Effacer la mémoire USB"</string>
+    <string name="erase_external_storage" product="default" msgid="1397239046334307625">"Effacer la carte SD"</string>
+    <string name="erase_external_storage_description" product="nosdcard" msgid="1657838142707381027">"Effacer les données de la mémoire USB interne (ex. : musique, photos)."</string>
+    <string name="erase_external_storage_description" product="default" msgid="8100175974635894073">"Effacer les données de la carte SD (ex. : musique, photos)"</string>
     <string name="master_clear_button_text" msgid="7550632653343157971">"Réinitialiser le téléphone"</string>
     <string name="master_clear_final_desc" msgid="6917971132484622696">"Souhaitez-vous vraiment supprimer toutes vos informations personnelles et toutes les applications téléchargées ? Cette action ne peut pas être annulée."</string>
     <string name="master_clear_final_button_text" msgid="5390908019019242910">"Tout effacer"</string>
     <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Saisissez votre schéma de déverrouillage"</string>
     <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"Vous devez dessiner votre schéma de déverrouillage pour confirmer la réinitialisation du téléphone."</string>
     <string name="master_clear_failed" msgid="8655202125010189406">"Les données n\'ont pas été réinitialisées car le service de nettoyage du système n\'est pas disponible."</string>
-    <string name="media_format_title" msgid="4671276096695789895">"Formater la carte SD."</string>
-    <string name="media_format_summary" msgid="3805714639375830120">"Permet d\'effacer toutes les données de la carte SD"</string>
-    <string name="media_format_desc" msgid="1142563222357820834">"Cette action effacera la carte SD du téléphone. TOUTES les données de la carte seront perdues !"</string>
-    <string name="media_format_button_text" msgid="370856400090190151">"Formater la carte SD"</string>
-    <string name="media_format_final_desc" msgid="1776666694910717198">"Formater la carte SD en effaçant tout le contenu de la carte ? Impossible d\'annuler cette action !"</string>
+    <string name="media_format_title" product="nosdcard" msgid="3999653431422767156">"Effacer la mémoire USB"</string>
+    <string name="media_format_title" product="default" msgid="4427528440306787972">"Effacer la carte SD"</string>
+    <string name="media_format_summary" product="nosdcard" msgid="776603298628082065">"Efface les données de la mémoire USB"</string>
+    <string name="media_format_summary" product="default" msgid="3805714639375830120">"Permet d\'effacer toutes les données de la carte SD"</string>
+    <string name="media_format_desc" product="nosdcard" msgid="4553860683952763905">"Cette action effacera la mémoire de stockage USB. "<b>"Toutes"</b>" les données qu\'elle contient seront perdues."</string>
+    <string name="media_format_desc" product="default" msgid="1598627584181935513">"Cette action effacera la carte SD. "<b>"Toutes"</b>" les données de la carte seront perdues."</string>
+    <string name="media_format_button_text" product="nosdcard" msgid="6293669371185352810">"Effacer la mémoire USB"</string>
+    <string name="media_format_button_text" product="default" msgid="6721544380069373626">"Effacer la carte SD"</string>
+    <string name="media_format_final_desc" product="nosdcard" msgid="8094635533378487255">"Effacer la mémoire de stockage USB en supprimant tous les fichiers qu\'elle contient ? Cette action est irréversible."</string>
+    <string name="media_format_final_desc" product="default" msgid="9015504991522581434">"Effacer la carte SD en supprimant tous les fichiers qu\'elle contient ? Cette action est irréversible."</string>
     <string name="media_format_final_button_text" msgid="4881713344315923175">"Tout effacer"</string>
     <string name="media_format_gesture_prompt" msgid="3109349468816856670">"Créez votre schéma de déverrouillage"</string>
-    <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Vous devez créer votre schéma de déverrouillage pour confirmer le format de la carte SD."</string>
+    <string name="media_format_gesture_explanation" product="nosdcard" msgid="1379736318750958338">"Dessinez votre schéma de déverrouillage pour confirmer l\'effacement de la mémoire de stockage USB."</string>
+    <string name="media_format_gesture_explanation" product="default" msgid="1681213416497647321">"Vous devez créer votre schéma de déverrouillage pour confirmer l\'effacement de la carte SD."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Paramètres d\'appel"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Configurer mess. vocale, transferts d\'appel, mises en attente, numéro de l\'appelant"</string>
     <string name="tether_settings_title_usb" msgid="4315031513434087777">"Partage de connexion"</string>
@@ -598,7 +638,7 @@
     <string name="usb_tethering_button_text" msgid="585829947108007917">"Via USB"</string>
     <string name="usb_tethering_available_subtext" msgid="156779271296152605">"Connexion USB établie, cochez l\'option adéquate pour partager la connexion."</string>
     <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"Partage de connexion en cours"</string>
-    <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Impossible de partager la connexion lorsqu\'un stockage USB est utilisé."</string>
+    <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Impossible de partager la connexion lorsqu\'une mémoire de stockage USB est utilisée."</string>
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB non connecté"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Erreur liée au partage de connexion via USB"</string>
     <string name="tethering_help_button_text" msgid="656117495547173630">"Aide"</string>
@@ -609,7 +649,7 @@
     <string name="location_networks_disabled" msgid="2708968452901433980">"Afficher ma position dans les applications (comme Google Maps)"</string>
     <string name="location_neighborhood_level" msgid="4656658097932515921">"Position géographique déterminée par réseaux Wi-Fi et/ou mobile"</string>
     <string name="location_gps" msgid="6296125378829097831">"Utiliser les satellites GPS"</string>
-    <string name="location_street_level" msgid="6460740847018275745">"Localisation à la rue près (décocher pour économiser la batterie)"</string>
+    <string name="location_street_level" msgid="7456259025474443314">"Lors de la géolocalisation, localisation à la rue près"</string>
     <string name="location_gps_disabled" msgid="6632537158777308128">"Localiser au niveau rue (requiert + de batterie et une vue dégagée)"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"Utiliser le GPS assisté"</string>
     <string name="assisted_gps_enabled" msgid="8751899609589792803">"Utiliser le serveur pour assister le GPS (désactiver pour réduire l\'utilisation du réseau)"</string>
@@ -692,22 +732,31 @@
     <string name="application_size_label" msgid="5055196275624686382">"Application"</string>
     <string name="data_size_label" msgid="8679376373625710107">"Données"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Désinstaller"</string>
+    <string name="disable_text" msgid="6544054052049395202">"Désactiver"</string>
+    <string name="enable_text" msgid="9217362512327828987">"Activer"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Effacer les données"</string>
     <string name="app_factory_reset" msgid="6635744722502563022">"Désinstaller les mises à jour"</string>
     <string name="auto_launch_enable_text" msgid="2630656657744196691">"Vous avez choisi de lancer cette application par défaut pour certaines actions."</string>
     <string name="auto_launch_disable_text" msgid="7800385822185540166">"Aucun paramètre par défaut défini"</string>
     <string name="clear_activities" msgid="7408923511535174430">"Effacer les actions par défaut"</string>
     <string name="unknown" msgid="1592123443519355854">"Inconnu"</string>
-    <string name="sort_order_alpha" msgid="8622029358896599842">"Trier"</string>
+    <string name="sort_order_alpha" msgid="1410278099123670628">"Trier par nom"</string>
     <string name="sort_order_size" msgid="7024513286636502362">"Trier par taille"</string>
+    <string name="show_running_services" msgid="5736278767975544570">"Afficher les services"</string>
+    <string name="show_background_processes" msgid="2009840211972293429">"Voir processus en cache"</string>
     <string name="manage_space_text" msgid="8852711522447794676">"Gérer l\'espace"</string>
     <string name="filter" msgid="2018011724373033887">"Filtrer"</string>
     <string name="filter_dlg_title" msgid="6507663329723966854">"Options du filtre"</string>
     <string name="filter_apps_all" msgid="5142129378749391876">"Toutes"</string>
     <string name="filter_apps_third_party" msgid="7786348047690140979">"Téléchargées"</string>
     <string name="filter_apps_running" msgid="7767071454371350486">"En cours d\'exécution"</string>
-    <string name="filter_apps_onsdcard" msgid="1477351142334784771">"Sur la carte SD"</string>
-    <string name="loading" msgid="3200408047793887917">"Chargement..."</string>
+    <string name="filter_apps_onsdcard" product="nosdcard" msgid="4843063154701023349">"Mémoire de stockage USB"</string>
+    <string name="filter_apps_onsdcard" product="default" msgid="1477351142334784771">"Sur la carte SD"</string>
+    <string name="disabled" msgid="9206776641295849915">"Désactivée"</string>
+    <string name="no_applications" msgid="5190227407135243904">"Aucune application"</string>
+    <string name="internal_storage" msgid="1584700623164275282">"Stockage interne"</string>
+    <string name="sd_card_storage" product="nosdcard" msgid="2673203150465132465">"Mémoire USB"</string>
+    <string name="sd_card_storage" product="default" msgid="7623513618171928235">"Carte SD"</string>
     <string name="recompute_size" msgid="7722567982831691718">"Calcul de la taille..."</string>
     <string name="clear_data_dlg_title" msgid="4470209520936375508">"Supprimer"</string>
     <string name="clear_data_dlg_text" msgid="8368035073300828451">"Toutes les données de cette application vont être définitivement supprimées, y compris tous les fichiers, les paramètres, les comptes, les bases de données, etc."</string>
@@ -727,7 +776,8 @@
     <string name="version_text" msgid="9189073826278676425">"version <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5042838441401731346">"Déplacer"</string>
     <string name="move_app_to_internal" msgid="3895430471913858185">"Déplacer vers le téléphone"</string>
-    <string name="move_app_to_sdcard" msgid="1143379049903056407">"Déplacer vers la carte SD"</string>
+    <string name="move_app_to_sdcard" product="nosdcard" msgid="4350451696315265420">"Déplacer vers USB"</string>
+    <string name="move_app_to_sdcard" product="default" msgid="1143379049903056407">"Déplacer vers la carte SD"</string>
     <string name="moving" msgid="6431016143218876491">"Déplacement en cours"</string>
     <string name="insufficient_storage" msgid="8566913062094452962">"L\'espace de stockage restant est insuffisant."</string>
     <string name="does_not_exist" msgid="837163572898468245">"Cette application n\'existe pas."</string>
@@ -735,29 +785,49 @@
     <string name="invalid_location" msgid="4934491353200240499">"L\'emplacement d\'installation indiqué n\'est pas valide."</string>
     <string name="system_package" msgid="1030561474413022831">"Les mises à jour du système ne peuvent pas être installées sur des supports externes."</string>
     <string name="force_stop_dlg_title" msgid="4289453224368188476">"Forcer l\'arrêt"</string>
-    <string name="force_stop_dlg_text" msgid="3381302041569982075">"Cette application sera immédiatement redémarrée. Voulez-vous vraiment forcer sa fermeture ?"</string>
+    <string name="force_stop_dlg_text" msgid="5157374701213502922">"Êtes-vous sûr ? Forcer l\'arrêt d\'une application peut entraîner des dysfonctionnements."</string>
     <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Déplacer l\'application"</string>
     <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Échec du déplacement de l\'application. <xliff:g id="REASON">%1$s</xliff:g>"</string>
     <string name="app_install_location_title" msgid="2068975150026852168">"Emplacement d\'installation souhaité"</string>
     <string name="app_install_location_summary" msgid="879753854530300436">"Modifiez l\'emplacement d\'installation par défaut pour les nouvelles applications."</string>
+    <string name="storageuse_settings_title" msgid="5657014373502630403">"Utilisation du stockage"</string>
+    <string name="storageuse_settings_summary" msgid="2556057379120846792">"Afficher l\'espace de stockage utilisé par les applications"</string>
     <string name="runningservices_settings_title" msgid="8097287939865165213">"Services en cours d\'exécution"</string>
     <string name="runningservices_settings_summary" msgid="854608995821032748">"Afficher et contrôler les services en cours d\'exécution"</string>
     <string name="service_restarting" msgid="2242747937372354306">"Redémarrage en cours"</string>
-    <string name="no_running_services" msgid="6981216347270280598">"Aucun service en cours d\'exécution"</string>
-    <string name="confirm_stop_service" msgid="5700448757318301681">"Arrêter le service ?"</string>
-    <string name="confirm_stop_service_msg" msgid="1166661293369421272">"Le service ne sera plus exécuté tant qu\'il ne sera pas relancé. Cette configuration peut avoir des conséquences gênantes sur l\'application <xliff:g id="APPLICATION">%1$s</xliff:g>."</string>
-    <string name="confirm_stop_stop" msgid="7382363913280993331">"Arrêter"</string>
-    <string name="confirm_stop_cancel" msgid="206495326622692381">"Annuler"</string>
-    <string name="service_started_by_app" msgid="8432097226392386802">"Démarré par appl. : appuyez pr arrêter"</string>
-    <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g> : appuyez dessus pour gérer le service."</string>
-    <string name="service_background_processes" msgid="5158600475629177758">"Disponible : <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g> dans <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_foreground_processes" msgid="4013890350284680796">"Autres : <xliff:g id="MEMORY">%2$s</xliff:g> dans <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_process_name" msgid="8630408984456958400">"Processus : <xliff:g id="PROCESS">%1$s</xliff:g>"</string>
+    <string name="cached" msgid="1059590879740175019">"Processus d\'arrière-plan en cache"</string>
+    <string name="no_running_services" msgid="2059536495597645347">"Pas de services en cours"</string>
+    <string name="service_started_by_app" msgid="6575184738671598131">"Service démarré par l\'application"</string>
+    <!-- no translation found for service_client_name (4037193625611815517) -->
+    <skip />
+    <string name="service_background_processes" msgid="6844156253576174488">"<xliff:g id="MEMORY">%1$s</xliff:g> gratuit"</string>
+    <string name="service_foreground_processes" msgid="7583975676795574276">"<xliff:g id="MEMORY">%1$s</xliff:g> utilisé"</string>
+    <string name="memory" msgid="6609961111091483458">"RAM"</string>
+    <!-- no translation found for service_process_name (4098932168654826656) -->
+    <skip />
+    <string name="running_processes_item_description_s_s" msgid="5790575965282023145">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processus et <xliff:g id="NUMSERVICES">%2$d</xliff:g> service"</string>
+    <string name="running_processes_item_description_s_p" msgid="8019860457123222953">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processus et <xliff:g id="NUMSERVICES">%2$d</xliff:g> services"</string>
+    <string name="running_processes_item_description_p_s" msgid="744424668287252915">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processus et <xliff:g id="NUMSERVICES">%2$d</xliff:g> service"</string>
+    <string name="running_processes_item_description_p_p" msgid="1607384595790852782">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processus et <xliff:g id="NUMSERVICES">%2$d</xliff:g> services"</string>
+    <string name="runningservicedetails_settings_title" msgid="6188692418986988288">"Application en cours d\'exécution"</string>
+    <string name="no_services" msgid="7133900764462288263">"Inactifs"</string>
+    <string name="runningservicedetails_services_title" msgid="391168243725357375">"Services"</string>
+    <string name="runningservicedetails_processes_title" msgid="928115582044655268">"Processus"</string>
+    <string name="service_stop" msgid="6369807553277527248">"Arrêter"</string>
+    <string name="service_manage" msgid="1876642087421959194">"Paramètres"</string>
+    <string name="service_stop_description" msgid="3261798282116866961">"Ce service a été démarré par son application. Si vous l\'arrêtez, cette dernière risque de se bloquer."</string>
+    <string name="heavy_weight_stop_description" msgid="6855241582643136019">"Impossible d\'arrêter correctement cette application. Si vous continuez, vous risquez de perdre une partie des travaux en cours."</string>
+    <string name="background_process_stop_description" msgid="1728354083304746737">"Processus d\'une ancienne application conservé pour permettre une vitesse accrue si besoin. Il ne doit généralement pas être arrêté."</string>
+    <string name="service_manage_description" msgid="7050092269951613102">"En cours d\'utilisation : <xliff:g id="CLIENT_NAME">%1$s</xliff:g>. Appuyez sur Paramètres pour contrôler ce client."</string>
+    <string name="main_running_process_description" msgid="929204645380391397">"Principal processus actuellement utilisé"</string>
+    <string name="process_service_in_use_description" msgid="8993335064403217080">"Le service <xliff:g id="COMP_NAME">%1$s</xliff:g> est actuellement utilisé."</string>
+    <string name="process_provider_in_use_description" msgid="5586603325677678940">"L\'opérateur <xliff:g id="COMP_NAME">%1$s</xliff:g> est actuellement utilisé."</string>
+    <string name="runningservicedetails_stop_dlg_title" msgid="4253292537154337233">"Arrêter le service système ?"</string>
+    <string name="runningservicedetails_stop_dlg_text" msgid="6929716497425738387">"Voulez-vous vraiment arrêter ce service système ? Si tel est le cas, certaines fonctionnalités risquent de ne plus fonctionner correctement tant que vous n\'aurez pas éteint, puis rallumé votre téléphone."</string>
     <string name="language_settings" msgid="502219872342167227">"Langue et clavier"</string>
     <string name="language_keyboard_settings_title" msgid="3455826933385341107">"Paramètres de langue et clavier"</string>
-    <string name="language_settings_summary" msgid="595647729475399987">"Définir la langue et la région, la saisie de texte et la correction automatique"</string>
-    <string name="language_category" msgid="3391756582724541530">"Paramètres régionaux"</string>
-    <string name="text_category" msgid="6342540511465136739">"Paramètres du texte"</string>
+    <string name="language_settings_category" msgid="2288258489940617043">"Paramètres de langue"</string>
+    <string name="keyboard_settings_category" msgid="7060453865544070642">"Paramètres du clavier"</string>
     <string name="phone_language" msgid="1165758957501090679">"Sélectionner la langue"</string>
     <string name="phone_language_summary" msgid="3871309445655554211"></string>
     <string name="auto_replace" msgid="6199184757891937822">"Remplacement auto"</string>
@@ -782,7 +852,6 @@
     <string name="testing" msgid="6584352735303604146">"Test"</string>
     <string name="testing_phone_info" msgid="8656693364332840056">"Informations sur le téléphone"</string>
     <string name="testing_battery_info" msgid="3497865525976497848">"Informations sur la batterie"</string>
-    <string name="testing_battery_history" msgid="3043329445810695647">"Historique de la batterie"</string>
     <string name="quick_launch_title" msgid="7904609846945905306">"Lancement rapide"</string>
     <string name="quick_launch_summary" msgid="3453825712466417452">"Configurer des raccourcis clavier pour lancer des applications"</string>
     <string name="quick_launch_assign_application" msgid="4521368464929956350">"Choisir une application"</string>
@@ -798,8 +867,8 @@
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Gérer les options de saisie de texte"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Paramètres <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Paramètres du clavier intégré"</string>
-    <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"Clavier de l\'appareil"</string>
-    <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"Paramètres du clavier intégré"</string>
+    <string name="builtin_keyboard_settings_title" msgid="5274990495405941804">"Clavier intégré"</string>
+    <string name="builtin_keyboard_settings_summary" msgid="7990296351888096836">"Paramètres du clavier physique intégré"</string>
     <string name="development_settings_title" msgid="6719732334835420989">"Développement"</string>
     <string name="development_settings_summary" msgid="2151320488701538355">"Définir les options pour le développement de l\'application"</string>
     <string name="enable_adb" msgid="7982306934419797485">"Débogage USB"</string>
@@ -812,36 +881,10 @@
     <string name="adb_warning_message" msgid="5352555112049663033">"Le débogage USB est conçu à des fins de développement uniquement. Il peut servir à copier des données entre votre ordinateur et votre appareil, à installer des applications sur votre appareil sans notification et à lire les données de journal."</string>
     <string name="gadget_picker_title" msgid="98374951396755811">"Choisir un gadget"</string>
     <string name="widget_picker_title" msgid="9130684134213467557">"Choisir un widget"</string>
-    <string name="battery_history_details_for" msgid="5924639922153109669">"Détails de l\'UID <xliff:g id="NUMBER">%d</xliff:g>"</string>
-    <string name="battery_history_uid" msgid="1016606150528436298">"UID <xliff:g id="USER_ID">%1$d</xliff:g>"</string>
-    <string name="battery_history_network_usage" msgid="8010852371665217020">"Données d\'utilisation du réseau pour <xliff:g id="APP_NAME">%1$s</xliff:g> :"</string>
-    <string name="battery_history_bytes_received" msgid="980307569180518302">"Octets reçus : <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_sent" msgid="2501748768602119159">"Octets envoyés :<xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_total" msgid="4444807574361642753">"Octets au total :<xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_cpu_usage" msgid="2597353713014790877">"Données d\'utilisation de l\'UC pour <xliff:g id="APP_NAME">%1$s</xliff:g> :"</string>
-    <string name="battery_history_user_time" msgid="6227507614894791359">"Heure utilisateur :"</string>
-    <string name="battery_history_system_time" msgid="2015862072724507547">"Heure système :"</string>
-    <string name="battery_history_total_time" msgid="3618703970098556104">"Temps total :"</string>
-    <string name="battery_history_starts" msgid="9137453931978571696">"Démarrages : <xliff:g id="STARTS">%1$d</xliff:g>"</string>
     <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g> j <xliff:g id="HOURS">%2$d</xliff:g> h <xliff:g id="MINUTES">%3$d</xliff:g> mn <xliff:g id="SECONDS">%4$d</xliff:g> s"</string>
     <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> mn <xliff:g id="SECONDS">%3$d</xliff:g> s"</string>
     <string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g> mn <xliff:g id="SECONDS">%2$d</xliff:g> s"</string>
     <string name="battery_history_seconds" msgid="4283492130945761685">"<xliff:g id="SECONDS">%1$d</xliff:g> s"</string>
-    <string name="battery_history_packages_sharing_this_uid" msgid="4101596071379250050">"Paquets partageant cet UID :"</string>
-    <string name="battery_history_no_data" msgid="1177238743237067617">"Aucune donnée sur l\'utilisation de la batterie disponible"</string>
-    <string name="battery_history_sensor" msgid="2333488996028993982">"Capteur :"</string>
-    <string name="battery_history_wakelock" msgid="608683447522396293">"Verrouillage en veille partielle :"</string>
-    <string name="battery_history_used_by_packages" msgid="3000711380023436470">"Capteur utilisé par les kits :"</string>
-    <string name="battery_history_sensor_usage" msgid="3593133338613209024">"Utilisé <xliff:g id="COUNT">%1$d</xliff:g> fois par <xliff:g id="PACKAGE">%2$s</xliff:g>"</string>
-    <string name="battery_history_sensor_usage_multi" msgid="4536084375991014508">"Utilisé <xliff:g id="COUNT">%1$d</xliff:g> fois par l\'une des applications suivantes :"</string>
-    <string name="battery_history_awake_label" msgid="8449792868990080882">"En cours d\'exécution"</string>
-    <string name="battery_history_screen_on_label" msgid="1848936521786339362">"Écran activé"</string>
-    <string name="battery_history_phone_on_label" msgid="700191958853142297">"Téléphone allumé"</string>
-    <string name="battery_history_awake" msgid="4350886665719031057">"Autonomie sans mise en veille :"</string>
-    <string name="battery_history_screen_on" msgid="1377240025275657277">"Temps utilisé avec l\'écran activé :"</string>
-    <string name="battery_history_phone_on" msgid="4891504401623839532">"Autonomie avec le téléphone allumé :"</string>
-    <string name="battery_history_screen_on_battery" msgid="536058210445081888">"Sur la batterie :"</string>
-    <string name="battery_history_screen_on_plugged" msgid="5019127390021871260">"Branchée :"</string>
     <string name="usage_stats_label" msgid="5890846333487083609">"Données statistiques"</string>
     <string name="testing_usage_stats" msgid="7823048598893937339">"Données statistiques"</string>
     <string name="display_order_text" msgid="8592776965827565271">"Trier par :"</string>
@@ -858,19 +901,26 @@
     <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Désactiver les services d\'accessibilité ?"</string>
     <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"Aucune application d\'accessibilité n\'a été trouvée."</string>
     <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"Aucune application d\'accessibilité n\'est installée."\n\n"Vous pouvez télécharger un lecteur d\'écran pour votre périphérique depuis Android Market."\n\n"Cliquez sur OK pour installer le lecteur d\'écran."</string>
-    <string name="accessibility_power_button_category" msgid="8545885236482339928">"Bouton d\'alimentation"</string>
+    <string name="accessibility_power_button_category" msgid="8545885236482339928">"Bouton MARCHE-ARRÊT"</string>
     <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Raccrocher pdt un appel"</string>
-    <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"Lors d\'un appel, utiliser le bouton d\'alimentation pour raccrocher, sans désactiver l\'écran"</string>
+    <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"Lors d\'un appel, utiliser le bouton MARCHE-ARRÊT pour raccrocher, sans désactiver l\'écran"</string>
     <string name="power_usage_summary_title" msgid="5180282911164282324">"Utilisation de la batterie"</string>
     <string name="power_usage_summary" msgid="7237084831082848168">"Répartition de l\'utilisation de la batterie"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Utilisation de la batterie depuis le débranchement"</string>
     <string name="battery_since_reset" msgid="7464546661121187045">"Utilisation de la batterie depuis la dernière réinitialisation"</string>
+    <string name="battery_stats_on_battery" msgid="4970762168505236033">"Sur la batterie : <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="battery_stats_duration" msgid="7464501326709469282">"Débranché depuis <xliff:g id="TIME">%1$s</xliff:g>"</string>
+    <string name="battery_stats_charging_label" msgid="4223311142875178785">"Batterie en charge"</string>
+    <string name="battery_stats_screen_on_label" msgid="7150221809877509708">"Écran activé"</string>
+    <string name="battery_stats_gps_on_label" msgid="1193657533641951256">"GPS activé"</string>
+    <string name="battery_stats_wifi_running_label" msgid="3093545080361658269">"Wi-Fi"</string>
+    <string name="battery_stats_wake_lock_label" msgid="1908942681902324095">"En activité"</string>
+    <string name="battery_stats_phone_signal_label" msgid="6822042940376636775">"Signal du téléphone"</string>
     <!-- no translation found for battery_stats_last_duration (1535831453827905957) -->
     <skip />
     <string name="awake" msgid="387122265874485088">"Durée de fonctionnement de l\'appareil"</string>
-    <string name="wifi_on_time" msgid="4630925382578609056">"Temps de fonctionnement du Wi-Fi"</string>
-    <string name="bluetooth_on_time" msgid="4478515071957280711">"Temps de fonctionnement du Wi-Fi"</string>
+    <string name="wifi_on_time" msgid="6310209835617490616">"Wi-Fi/temps"</string>
+    <string name="bluetooth_on_time" msgid="6157799524996162271">"Wi-Fi à temps"</string>
     <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g> -  <xliff:g id="NUMBER">%2$s</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
     <string name="details_title" msgid="7564809986329021063">"Infos détaillées sur l\'utilisation de la batterie"</string>
     <string name="details_subtitle" msgid="32593908269911734">"Détails d\'utilisation"</string>
@@ -884,7 +934,9 @@
     <string name="power_idle" msgid="9055659695602194990">"Téléphone inactif"</string>
     <string name="usage_type_cpu" msgid="715162150698338714">"UC - Durée totale"</string>
     <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"UC - Premier plan"</string>
+    <string name="usage_type_wake_lock" msgid="5125438890233677880">"Maintenir activé"</string>
     <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string>
+    <string name="usage_type_wifi_running" msgid="8234997940652067049">"Wi-Fi en cours d\'exécution"</string>
     <string name="usage_type_phone" msgid="9108247984998041853">"Téléphone"</string>
     <string name="usage_type_data_send" msgid="2857401966985425427">"Données envoyées"</string>
     <string name="usage_type_data_recv" msgid="7251090882025234185">"Données reçues"</string>
@@ -896,7 +948,7 @@
     <string name="battery_action_app_details" msgid="3275013531871113681">"Informations sur l\'application"</string>
     <string name="battery_action_app_settings" msgid="350562653472577250">"Paramètres des applications"</string>
     <string name="battery_action_display" msgid="5302763261448580102">"Paramètres d\'affichage"</string>
-    <string name="battery_action_wifi" msgid="5452076674659927993">"Paramètres Wi-Fi"</string>
+    <string name="battery_action_wifi" msgid="2272741639606146903">"Paramètres Wi-Fi"</string>
     <string name="battery_action_bluetooth" msgid="8374789049507723142">"Paramètres Bluetooth"</string>
     <string name="battery_desc_voice" msgid="8980322055722959211">"Batterie utilisée par les appels vocaux"</string>
     <string name="battery_desc_standby" msgid="3009080001948091424">"Batterie utilisée lorsque le téléphone est inactif"</string>
@@ -909,9 +961,9 @@
     <string name="battery_desc_bluetooth" msgid="7535520658674621902">"Batterie utilisée par Bluetooth"</string>
     <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"Désactivez Bluetooth lorsque vous ne l\'utilisez pas."</string>
     <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"Essayez de vous connecter à un autre appareil Bluetooth"</string>
-    <string name="battery_desc_apps" msgid="8123202939321333639">"Batterie utilisée par les applications en cours d\'exécution"</string>
+    <string name="battery_desc_apps" msgid="6665712811746233450">"Batterie utilisée par l\'application"</string>
     <string name="battery_sugg_apps_info" msgid="6065882899391322442">"Arrêter ou désinstaller l\'application"</string>
-    <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"Désactivez le GPS lorsque vous ne l\'utilisez pas."</string>
+    <string name="battery_sugg_apps_gps" msgid="4545056413090932541">"Contrôlez manuellement le GPS pour éviter que l\'application ne l\'utilise."</string>
     <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"L\'application dispose peut-être de paramètres permettant de réduire l\'utilisation de la batterie."</string>
     <string name="menu_stats_unplugged" msgid="8296577130840261624">"Débranché depuis <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"Depuis le dernier débranchement (<xliff:g id="UNPLUGGED">%1$s</xliff:g>)"</string>
@@ -961,6 +1013,8 @@
     <string name="pico_not_installed" msgid="6266845418419994311">"Non installée"</string>
     <string name="pico_voice_summary_female" msgid="8047327176247727492">"Femme"</string>
     <string name="pico_voice_summary_male" msgid="8331266854058577610">"Homme"</string>
+    <string name="tts_notif_engine_install_title" msgid="7000346872482649034">"Moteur synthèse vocale installé"</string>
+    <string name="tts_notif_engine_install_message" msgid="5304661142202662693">"Activer le moteur avant util."</string>
     <string name="gadget_title" msgid="7455548605888590466">"Contrôle de l\'alimentation"</string>
     <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Mise à jour des paramètres Wi-Fi"</string>
     <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Mise à jour des paramètres Bluetooth"</string>
@@ -1047,8 +1101,10 @@
     <string name="credentials_access_summary" msgid="319662078718574168">"Autoriser l\'accès des applications aux certificats sécurisés et identifiants"</string>
     <string name="credentials_unlock" msgid="1463040326264133844">"Saisir le mot de passe"</string>
     <string name="credentials_unlock_hint" msgid="594679530407918031">"Saisissez le mot de passe du stockage des identifiants."</string>
-    <string name="credentials_install_certificates" msgid="177337517568022236">"Installer depuis la carte SD"</string>
-    <string name="credentials_install_certificates_summary" msgid="7737001268684193093">"Installer les certificats cryptés depuis la carte SD"</string>
+    <string name="credentials_install_certificates" product="nosdcard" msgid="619171634797689906">"Installation depuis USB"</string>
+    <string name="credentials_install_certificates" product="default" msgid="177337517568022236">"Installer depuis la carte SD"</string>
+    <string name="credentials_install_certificates_summary" product="nosdcard" msgid="8920330112631198575">"Installer certificats cryptés depuis mémoire USB"</string>
+    <string name="credentials_install_certificates_summary" product="default" msgid="7737001268684193093">"Installer les certificats cryptés depuis la carte SD"</string>
     <string name="credentials_set_password" msgid="9104473585811899989">"Définir le mot de passe"</string>
     <string name="credentials_set_password_summary" msgid="8287876917562085701">"Définir/modifier le mot de passe de stockage des identifiants"</string>
     <string name="credentials_reset" msgid="9170150870552453457">"Effacer le stockage"</string>
@@ -1068,6 +1124,16 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Le stockage des identifiants est effacé."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Stockage des identifiants activé"</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Stockage des identifiants désactivé"</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Système de fichiers cryptés"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Crypter les données utilisateur privées"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Activer le stockage des données utilisateur privées dans les systèmes de fichiers cryptés de ce périphérique"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Pour activer les systèmes de fichiers cryptés, vous devez disposer d\'un outil de nettoyage des données."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Pour désactiver des systèmes de fichiers cryptés, vous devez disposer d\'un outil de nettoyage des données."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Activer"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Désactiver"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Annuler"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"La modification apportée au mode Systèmes de fichiers cryptés a été annulée."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Avertissement relatif aux systèmes de fichiers cryptés"</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Sonnerie d\'urgence"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Définir le comportement en cas d\'appel d\'urgence"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Confidentialité"</string>
@@ -1075,11 +1141,11 @@
     <string name="backup_section_title" msgid="8856083167469467588">"Sauvegarder et restaurer"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Données personnelles"</string>
     <string name="backup_data_title" msgid="1239105919852668016">"Sauvegarder mes données"</string>
-    <string name="backup_data_summary" msgid="5662190190240860035">"Sauvegarder mes paramètres et autres données d\'application"</string>
+    <string name="backup_data_summary" msgid="6515285107793232815">"Données d\'application de sauvegarde, mots de passe Wi-Fi et autres paramètres de serveurs Google"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Restaurer automatiquement"</string>
-    <string name="auto_restore_summary" msgid="6867766474057290177">"Restaurer les paramètres ou autres données sauvegardées lorsqu\'une application est réinstallée"</string>
+    <string name="auto_restore_summary" msgid="83177150536734378">"Restaurer les paramètres ou autres données sauvegardées lorsqu\'une application est réinstallée"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Sauvegarder"</string>
-    <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Voulez-vous vraiment arrêter de sauvegarder vos paramètres et vos données d\'application, et supprimer toutes les copies des serveurs Google ?"</string>
+    <string name="backup_erase_dialog_message" msgid="7766283133557587608">"Voulez-vous vraiment arrêter de sauvegarder vos mots de passe Wi-Fi, vos favoris ainsi que vos données et paramètres d\'application, et supprimer toutes les copies des serveurs Google ?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Paramètres d\'administration du périphérique"</string>
     <string name="active_device_admin_msg" msgid="6930903262612422111">"Administrateur du périphérique"</string>
     <string name="remove_device_admin" msgid="3596845261596451437">"Désactiver"</string>
diff --git a/res/values-it/arrays.xml b/res/values-it/arrays.xml
index 4954dd4..138a100 100644
--- a/res/values-it/arrays.xml
+++ b/res/values-it/arrays.xml
@@ -115,19 +115,6 @@
     <item msgid="1549288661423279207">"Mai quando collegato"</item>
     <item msgid="1986753720941888596">"Mai"</item>
   </string-array>
-  <string-array name="battery_history_type_spinner">
-    <item msgid="2193799199027871385">"Utilizzo CPU"</item>
-    <item msgid="6401018715947316517">"Utilizzo della rete"</item>
-    <item msgid="188092590354892392">"Utilizzo GPS"</item>
-    <item msgid="8414109131222049141">"Utilizzo sensore"</item>
-    <item msgid="1327904325081257093">"Utilizzo riattivazione parziale"</item>
-    <item msgid="4832254146664706277">"Altro utilizzo"</item>
-  </string-array>
-  <string-array name="battery_history_which_spinner">
-    <item msgid="3451981114763440074">"Da ultimo scollegamento"</item>
-    <item msgid="166936313535197598">"Totale dall\'avvio"</item>
-    <item msgid="4793941382744963893">"Totale generale"</item>
-  </string-array>
   <string-array name="usage_stats_display_order_types">
     <item msgid="9077371706468756228">"Tempo di utilizzo"</item>
     <item msgid="1908750532762193304">"Conteggio avvii"</item>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 56f980b..e556aad 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -45,13 +45,16 @@
     <string name="radioInfo_display_asu" msgid="1422248392727818082">"asu"</string>
     <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string>
     <string name="radioInfo_cid" msgid="4362599198392643138">"Sistema di identificazione contenuti"</string>
-    <string name="sdcard_unmount" msgid="3364184561355611897">"Smonta scheda SD"</string>
-    <string name="sdcard_format" msgid="362497552060004057">"Formatta scheda SD"</string>
+    <string name="sdcard_unmount" product="nosdcard" msgid="6325292633327972272">"Smonta archivio USB"</string>
+    <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Smonta scheda SD"</string>
+    <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Cancella archivio USB"</string>
+    <string name="sdcard_format" product="default" msgid="6713185532039187532">"Cancella scheda SD"</string>
     <string name="small_font" msgid="2295331917424072635">"Piccole"</string>
     <string name="medium_font" msgid="2068475425515133701">"Medie"</string>
     <string name="large_font" msgid="599055175160971446">"Grandi"</string>
     <string name="font_size_save" msgid="3450855718056759095">"OK"</string>
-    <string name="sdcard_setting" msgid="5922637503871474866">"Scheda SD"</string>
+    <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"Archivio USB"</string>
+    <string name="sdcard_setting" product="default" msgid="5922637503871474866">"Scheda SD"</string>
     <string name="battery_info_status_label" msgid="8109155295509700309">"Stato batteria:"</string>
     <string name="battery_info_power_label" msgid="7465140230991349382">"Presa di corrente:"</string>
     <string name="battery_info_scale_label" msgid="3649763192389778437">"Scala batteria:"</string>
@@ -120,7 +123,7 @@
     <string name="date_time_changeTime_text" msgid="7037437020000867740">"Modifica ora"</string>
     <string name="date_time_changeDate_text" msgid="5259762626498028057">"Data"</string>
     <string name="choose_timezone" msgid="7762866468013985022">"Seleziona fuso orario"</string>
-    <string name="normal_date_format" msgid="1982904221918374153">"Normale (<xliff:g id="DATE">%s</xliff:g>)\n"</string>
+    <string name="normal_date_format" msgid="1982904221918374153">"Normale (<xliff:g id="DATE">%s</xliff:g>)"</string>
     <string name="display_preview_label" msgid="1127597250917274792">"Anteprima:"</string>
     <string name="display_font_size_label" msgid="8941851418397475389">"Dimensioni carattere:"</string>
     <!-- no translation found for intent_sender_data_label (6332324780477289261) -->
@@ -178,29 +181,36 @@
     <string name="band_mode_failed" msgid="1495968863884716379">"Non riuscita"</string>
     <string name="band_mode_succeeded" msgid="2701016190055887575">"Riuscita"</string>
     <string name="sdcard_changes_instructions" msgid="1364712901180556244">"Le modifiche saranno effettive alla riconnessione del cavo USB"</string>
-    <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"Attiva archiviazione di massa USB"</string>
+    <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"Attiva archivio di massa USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"Byte totali:"</string>
-    <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"Nessuna scheda SD"</string>
+    <string name="sdcard_settings_not_present_status" product="nosdcard" msgid="2902787003418172125">"Archivio USB non montato"</string>
+    <string name="sdcard_settings_not_present_status" product="default" msgid="6666688653496819947">"Nessuna scheda SD"</string>
     <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"Byte disponibili:"</string>
-    <string name="sdcard_settings_mass_storage_status" msgid="4786433969313661655">"Scheda SD in uso come dispositivo di archiviazione di massa"</string>
-    <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"È ora possibile rimuovere la scheda SD"</string>
-    <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"La scheda SD è stata rimossa quando ancora in uso."</string>
+    <string name="sdcard_settings_mass_storage_status" product="nosdcard" msgid="2736378870889777857">"Archivio USB usato come disp. di archiviaz. di massa"</string>
+    <string name="sdcard_settings_mass_storage_status" product="default" msgid="4786433969313661655">"Scheda SD in uso come dispositivo di archiviazione di massa"</string>
+    <string name="sdcard_settings_unmounted_status" product="nosdcard" msgid="7503300818792750913">"È possibile rimuovere l\'archivio USB"</string>
+    <string name="sdcard_settings_unmounted_status" product="default" msgid="3812022095683863087">"È ora possibile rimuovere la scheda SD"</string>
+    <string name="sdcard_settings_bad_removal_status" product="nosdcard" msgid="7761390725880773697">"Archivio USB rimosso quando ancora in uso."</string>
+    <string name="sdcard_settings_bad_removal_status" product="default" msgid="5145797653495907970">"La scheda SD è stata rimossa quando ancora in uso."</string>
     <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"Byte utilizzati:"</string>
-    <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Ricerca di media nella scheda SD..."</string>
-    <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"La scheda SD montata è di sola lettura"</string>
+    <string name="sdcard_settings_scanning_status" product="nosdcard" msgid="7503429447676219564">"Ricerca di media in archivio USB…"</string>
+    <string name="sdcard_settings_scanning_status" product="default" msgid="2763464949274455656">"Ricerca di media nella scheda SD..."</string>
+    <string name="sdcard_settings_read_only_status" product="nosdcard" msgid="3771783090621312312">"Arch. USB montato: sola lettura"</string>
+    <string name="sdcard_settings_read_only_status" product="default" msgid="5706115860484118911">"La scheda SD montata è di sola lettura"</string>
     <string name="next_label" msgid="4693520878012668114">"Avanti"</string>
     <string name="language_picker_title" msgid="4034157617842965844">"Impostazioni internazionali"</string>
     <string name="select_your_language" msgid="1146235168951906084">"Seleziona la lingua"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Seleziona attività"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Info dispositivo"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Info batteria"</string>
-    <string name="battery_history_label" msgid="8242244969757414501">"Cronologia batteria"</string>
     <string name="display_label" msgid="7403874003169865762">"Display"</string>
     <string name="phone_info_label" msgid="2127552523124277664">"Info telefono"</string>
-    <string name="sd_card_settings_label" msgid="5743100901106177102">"Scheda SD"</string>
+    <string name="sd_card_settings_label" product="nosdcard" msgid="8101475181301178428">"Archivio USB"</string>
+    <string name="sd_card_settings_label" product="default" msgid="5743100901106177102">"Scheda SD"</string>
     <string name="proxy_settings_label" msgid="3271174136184391743">"Impostazioni proxy"</string>
     <string name="cancel" msgid="6859253417269739139">"Annulla"</string>
     <string name="settings_label" msgid="1626402585530130914">"Impostazioni"</string>
+    <string name="settings_label_launcher" msgid="8344735489639482340">"Impostazioni"</string>
     <string name="settings_shortcut" msgid="3672145147925639262">"Impostazioni"</string>
     <string name="airplane_mode" msgid="8837269988154128601">"Modalità aereo"</string>
     <string name="airplane_mode_summary" msgid="3154817401368780988">"Disattiva tutte le connessioni wireless"</string>
@@ -323,6 +333,11 @@
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Come vivavoce"</string>
     <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Per musica e audio media"</string>
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Ricorda impostazioni"</string>
+    <string name="nfc_quick_toggle_title" msgid="6769159366307299004">"NFC"</string>
+    <string name="nfc_quick_toggle_summary" msgid="1988408027741447231">"Usa Near Field Communication per leggere e scambiare tag"</string>
+    <!-- no translation found for nfc_toggle_error (2233172102497535522) -->
+    <!-- no translation found for nfc_toggle_error (8998642457947607263) -->
+    <skip />
     <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Attiva Wi-Fi"</string>
     <string name="wifi_settings" msgid="4746946030627213196">"Impostazioni Wi-Fi"</string>
@@ -376,6 +391,7 @@
     <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Specifica quando passare da Wi-Fi a dati cellulare"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Errore durante l\'impostazione dei criteri di sospensione."</string>
     <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Indirizzo MAC"</string>
+    <string name="wifi_advanced_ip_address_title" msgid="6215297094363164846">"Indirizzo IP"</string>
     <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Impostazioni IP"</string>
     <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Salva"</string>
     <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Annulla"</string>
@@ -481,7 +497,7 @@
     <string name="sim_pins_dont_match" msgid="4664611595579163214">"I PIN non corrispondono."</string>
     <string name="sim_change_failed" msgid="4823538458798362222">"Impossibile cambiare il PIN."\n"Il PIN potrebbe essere errato."</string>
     <string name="sim_change_succeeded" msgid="8556135413096489627">"PIN della SIM modificato"</string>
-    <string name="sim_lock_failed" msgid="6676748290838006404">\n"Impossibile modificare lo stato di blocco della SIM."\n"Il PIN potrebbe essere errato."</string>
+    <string name="sim_lock_failed" msgid="6676748290838006404">\n"Impossibile modificare lo stato di blocco della SIM.BREAKIl PIN potrebbe essere errato."</string>
     <string name="sim_enter_ok" msgid="6475946836899218919">"OK"</string>
     <string name="sim_enter_cancel" msgid="6240422158517208036">"Annulla"</string>
     <string name="device_info_settings" msgid="475872867864762157">"Stato telefono"</string>
@@ -496,9 +512,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Stato"</string>
     <string name="device_status" msgid="607405385799807324">"Stato"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Numero di telefono, segnale ecc."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"Scheda SD e memoria"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Impostazioni scheda SD e memoria"</string>
-    <string name="storage_settings_summary" msgid="9176693537325988610">"Smonta la scheda SD, visualizza spazio di archiviazione disponibile"</string>
+    <string name="storage_settings" msgid="4211799979832404953">"Memoria"</string>
+    <string name="storage_settings_title" msgid="8746016738388094064">"Impostazioni di archiviazione"</string>
+    <string name="storage_settings_summary" product="nosdcard" msgid="3543813623294870759">"Smonta l\'archivio USB, visualizza lo spazio di archiviazione disponibile"</string>
+    <string name="storage_settings_summary" product="default" msgid="9176693537325988610">"Smonta la scheda SD, visualizza spazio di archiviazione disponibile"</string>
     <string name="status_number" msgid="5123197324870153205">"Il mio numero di telefono"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
     <string name="status_prl_version" msgid="8499039751817386529">"Versione PRL"</string>
@@ -514,24 +531,36 @@
     <string name="status_unavailable" msgid="7862009036663793314">"Non disponibile"</string>
     <string name="status_up_time" msgid="7294859476816760399">"Tempo di attività"</string>
     <string name="status_awake_time" msgid="2393949909051183652">"Tempo di attività"</string>
-    <string name="internal_memory" msgid="1130932766236387454">"Archiviazione interna telefono"</string>
-    <string name="sd_memory" msgid="151871913888051515">"Scheda SD"</string>
+    <string name="internal_memory" msgid="9129595691484260784">"Archivio interno"</string>
+    <string name="sd_memory" product="nosdcard" msgid="2510246194083052841">"Archivio USB"</string>
+    <string name="sd_memory" product="default" msgid="151871913888051515">"Scheda SD"</string>
     <string name="memory_available" msgid="418542433817289474">"Spazio disponibile"</string>
     <string name="memory_size" msgid="6629067715017232195">"Spazio totale"</string>
-    <string name="sd_eject" msgid="6915293408836853020">"Smonta scheda SD"</string>
-    <string name="sd_eject_summary" msgid="3315557796211542962">"Smonta la scheda SD per una rimozione sicura"</string>
-    <string name="sd_insert_summary" msgid="2048640010381803841">"Inserisci una scheda SD da montare"</string>
-    <string name="sd_mount" msgid="5940523765187704135">"Installa scheda SD"</string>
-    <string name="sd_mount_summary" msgid="4936591681679097699">"Installa la scheda SD"</string>
-    <string name="sd_format" msgid="5448738337382712203">"Formatta scheda SD"</string>
-    <string name="sd_format_summary" msgid="6616491027883134004">"Formatta (cancella) la scheda SD"</string>
+    <string name="sd_eject" product="default" msgid="6915293408836853020">"Smonta scheda SD"</string>
+    <string name="sd_eject_summary" product="nosdcard" msgid="5009296896648072891">"Smonta archivio USB interno"</string>
+    <string name="sd_eject_summary" product="default" msgid="3300599435073550246">"Smonta la scheda SD per poterla rimuovere in tutta sicurezza"</string>
+    <string name="sd_insert_summary" product="nosdcard" msgid="5264016886409577313">"Inserisci arch. USB da montare"</string>
+    <string name="sd_insert_summary" product="default" msgid="2048640010381803841">"Inserisci una scheda SD da montare"</string>
+    <string name="sd_mount" product="nosdcard" msgid="8966695015677343116">"Monta archivio USB"</string>
+    <string name="sd_mount" product="default" msgid="5940523765187704135">"Installa scheda SD"</string>
+    <!-- outdated translation 6733254203291665551 -->     <string name="sd_mount_summary" product="nosdcard" msgid="1794150364965145726">"Monta archivio USB interno"</string>
+    <string name="sd_mount_summary" product="default" msgid="4936591681679097699">"Installa la scheda SD"</string>
+    <string name="sd_format" product="nosdcard" msgid="2148179271623099054">"Cancella archivio USB"</string>
+    <string name="sd_format" product="default" msgid="2576054280507119870">"Cancella scheda SD"</string>
+    <string name="sd_format_summary" product="nosdcard" msgid="1504606546865152514">"Cancella i dati nell\'archivio USB interno del telefono, come musica e foto"</string>
+    <string name="sd_format_summary" product="default" msgid="915849621390821841">"Cancella tutti i dati sulla scheda SD del telefono, come musica e foto"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"Non disponibile"</string>
     <string name="read_only" msgid="6702420168629076340">" (Sola lettura)"</string>
-    <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Smonta scheda SD"</string>
-    <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Se smonti la scheda SD, alcune applicazioni in uso si bloccheranno e potrebbero risultare non disponibili finché non rimonterai la scheda SD."</string>
-    <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Smontaggio scheda SD non riuscito"</string>
-    <string name="dlg_error_unmount_text" msgid="9188972789897713180">"Impossibile smontare la scheda SD. Riprova più tardi."</string>
-    <string name="unmount_inform_text" msgid="3213378327712151498">"La scheda SD verrà smontata. Verifica lo stato nell\'area di notifica."</string>
+    <string name="dlg_confirm_unmount_title" product="nosdcard" msgid="2349876662428231297">"Smonta archivio USB"</string>
+    <string name="dlg_confirm_unmount_title" product="default" msgid="8612140627310646730">"Smonta scheda SD"</string>
+    <string name="dlg_confirm_unmount_text" product="nosdcard" msgid="3390169455621185223">"Se smonti l\'archivio USB, alcune applicazioni in uso si bloccheranno e potrebbero risultare non disponibili finché non rimonterai l\'archivio USB."</string>
+    <string name="dlg_confirm_unmount_text" product="default" msgid="5851214273718817727">"Se smonti la scheda SD, alcune applicazioni in uso si bloccheranno e potrebbero risultare non disponibili finché non rimonterai la scheda SD."</string>
+    <string name="dlg_error_unmount_title" product="nosdcard" msgid="7695491947411836733">"Archivio USB non smontato"</string>
+    <string name="dlg_error_unmount_title" product="default" msgid="4004106918266783081">"Smontaggio scheda SD non riuscito"</string>
+    <string name="dlg_error_unmount_text" product="nosdcard" msgid="1450864147013376592">"Impossibile smontare l\'archivio USB. Riprova più tardi."</string>
+    <string name="dlg_error_unmount_text" product="default" msgid="9188972789897713180">"Impossibile smontare la scheda SD. Riprova più tardi."</string>
+    <string name="unmount_inform_text" product="nosdcard" msgid="7120241136790744265">"L\'archivio USB verrà smontato."</string>
+    <string name="unmount_inform_text" product="default" msgid="1904212716075458402">"La scheda SD condiviso verrà smontata."</string>
     <string name="sd_ejecting_title" msgid="8824572198034365468">"Smontaggio in corso"</string>
     <string name="sd_ejecting_summary" msgid="2028753069184908491">"Smontaggio in corso"</string>
     <string name="battery_status_title" msgid="9159414319574976203">"Stato batteria"</string>
@@ -541,7 +570,7 @@
     <string name="apn_not_set" msgid="7422262558097875757">"&lt;Non impostato&gt;"</string>
     <string name="apn_name" msgid="4115580098369824123">"Nome"</string>
     <string name="apn_apn" msgid="2479425126733513353">"APN"</string>
-    <string name="apn_http_proxy" msgid="1826885957243696354">"Proxy "</string>
+    <string name="apn_http_proxy" msgid="1826885957243696354">"Proxy"</string>
     <string name="apn_http_port" msgid="3763259523984976226">"Porta"</string>
     <string name="apn_user" msgid="455637547356117761">"Nome utente"</string>
     <string name="apn_password" msgid="5412301994998250968">"Password"</string>
@@ -571,21 +600,32 @@
     <string name="restore_default_apn_completed" msgid="3990449939234957281">"Ripristino delle impostazioni APN predefinite completato"</string>
     <string name="master_clear_title" msgid="5907939616087039756">"Ripristino dati di fabbrica"</string>
     <string name="master_clear_summary" msgid="4986154238001088492">"Cancella tutti i dati sul telefono"</string>
-    <string name="master_clear_desc" msgid="7823268823499739178">"Questa operazione cancellerà tutti i dati del cellulare, compresi:"\n<li>"Il tuo account Google"</li>\n<li>"Dati e impostazioni del sistema e delle applicazioni"</li>\n<li>"Applicazioni scaricate"</li>\n"Non cancellerà:"\n<li>"Attuale software del sistema e applicazioni integrate"</li>\n<li>"File della scheda SD, come musica o foto"</li></string>
+    <string name="master_clear_desc" product="nosdcard" msgid="2163013814299528247">"Questa operazione cancellerà tutti i dati dall\'"<b>"archivio interno"</b>" del telefono, compresi:"\n\n<li>"Il tuo account Google"</li>\n<li>"Dati e impostazioni di sistema e delle applicazioni"</li>\n<li>"Applicazioni scaricate"</li>\n\n"Per cancellare tutti i dati su questo telefono, è necessario cancellare l\'"<b>"archivio USB"</b>"."\n\n</string>
+    <string name="master_clear_desc" product="default" msgid="1741944496458365969">"Questa operazione cancellerà tutti i dati dall\'"<b>"archivio interno"</b>" del telefono, compresi:"\n\n<li>"Il tuo account Google"</li>\n<li>"Dati e impostazioni di sistema e delle applicazioni"</li>\n<li>"Applicazioni scaricate"</li>\n\n"Per cancellare anche musica, foto e altri dati utente, è necessario cancellare la "<b>"scheda SD"</b>"."\n\n</string>
+    <string name="erase_external_storage" product="nosdcard" msgid="969364037450286809">"Cancella archivio USB"</string>
+    <string name="erase_external_storage" product="default" msgid="1397239046334307625">"Cancella scheda SD"</string>
+    <string name="erase_external_storage_description" product="nosdcard" msgid="1657838142707381027">"Cancella i dati nell\'archivio USB interno del telefono, come musica o foto."</string>
+    <string name="erase_external_storage_description" product="default" msgid="8100175974635894073">"Cancella i dati sulla scheda SD del telefono, come musica o foto"</string>
     <string name="master_clear_button_text" msgid="7550632653343157971">"Ripristina telefono"</string>
     <string name="master_clear_final_desc" msgid="6917971132484622696">"Cancellare tutte le tue informazioni personali e qualsiasi applicazione scaricata? Sarà impossibile annullare questa azione."</string>
     <string name="master_clear_final_button_text" msgid="5390908019019242910">"Cancella tutto"</string>
     <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Inserisci la sequenza di sblocco"</string>
     <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"Per confermare un ripristino del telefono occorre inserire la sequenza di sblocco."</string>
     <string name="master_clear_failed" msgid="8655202125010189406">"Nessun ripristino eseguito perché il servizio System Clear non è disponibile."</string>
-    <string name="media_format_title" msgid="4671276096695789895">"Formatta scheda SD."</string>
-    <string name="media_format_summary" msgid="3805714639375830120">"Cancella tutti i dati sulla scheda SD"</string>
-    <string name="media_format_desc" msgid="1142563222357820834">"Questa azione cancellerà TUTTI i dati della scheda SD del telefono, che andranno persi."</string>
-    <string name="media_format_button_text" msgid="370856400090190151">"Formatta scheda SD"</string>
-    <string name="media_format_final_desc" msgid="1776666694910717198">"Formattare la scheda SD, cancellando tutti i media? Questa azione è irreversibile."</string>
+    <string name="media_format_title" product="nosdcard" msgid="3999653431422767156">"Cancella archivio USB"</string>
+    <string name="media_format_title" product="default" msgid="4427528440306787972">"Cancella scheda SD"</string>
+    <string name="media_format_summary" product="nosdcard" msgid="776603298628082065">"Cancella i dati nell\'arch. USB"</string>
+    <string name="media_format_summary" product="default" msgid="3805714639375830120">"Cancella tutti i dati sulla scheda SD"</string>
+    <string name="media_format_desc" product="nosdcard" msgid="4553860683952763905">"Questa azione cancellerà l\'archivio USB. "<b>"Tutti"</b>" i dati memorizzati al suo interno andranno persi."</string>
+    <string name="media_format_desc" product="default" msgid="1598627584181935513">"Questa azione cancellerà la scheda SD. "<b>"Tutti"</b>" i dati sulla scheda SD andranno persi."</string>
+    <string name="media_format_button_text" product="nosdcard" msgid="6293669371185352810">"Cancella archivio USB"</string>
+    <string name="media_format_button_text" product="default" msgid="6721544380069373626">"Cancella scheda SD"</string>
+    <string name="media_format_final_desc" product="nosdcard" msgid="8094635533378487255">"Cancellare l\'archivio USB, eliminando tutti i file memorizzati al suo interno? Questa azione è irreversibile."</string>
+    <string name="media_format_final_desc" product="default" msgid="9015504991522581434">"Cancellare la scheda SD, eliminando tutti i file memorizzati al suo interno? Questa azione è irreversibile."</string>
     <string name="media_format_final_button_text" msgid="4881713344315923175">"Cancella tutto"</string>
     <string name="media_format_gesture_prompt" msgid="3109349468816856670">"Inserisci la sequenza di sblocco"</string>
-    <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Per confermare la formattazione della scheda SD devi inserire la sequenza di sblocco."</string>
+    <string name="media_format_gesture_explanation" product="nosdcard" msgid="1379736318750958338">"Devi inserire la sequenza di sblocco per confermare che desideri cancellare l\'archivio USB."</string>
+    <string name="media_format_gesture_explanation" product="default" msgid="1681213416497647321">"Devi inserire la sequenza di sblocco per confermare che desideri cancellare la scheda SD."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Impostazioni chiamate"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Imposta segreteria, deviazione chiamate, avviso di chiamata, ID chiamante"</string>
     <string name="tether_settings_title_usb" msgid="4315031513434087777">"Tethering"</string>
@@ -598,7 +638,7 @@
     <string name="usb_tethering_button_text" msgid="585829947108007917">"Tethering USB"</string>
     <string name="usb_tethering_available_subtext" msgid="156779271296152605">"USB collegata, seleziona per impostare tethering"</string>
     <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"Con tethering"</string>
-    <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Tethering non possibile quando è in uso la memorizzazione USB"</string>
+    <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"Tethering non possibile quando è in uso l\'archivio USB"</string>
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB non connessa"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"Errore tethering USB"</string>
     <string name="tethering_help_button_text" msgid="656117495547173630">"Guida"</string>
@@ -609,7 +649,7 @@
     <string name="location_networks_disabled" msgid="2708968452901433980">"Visualizza la posizione nelle applicazioni (ad esempio Maps) utilizzando le reti wireless"</string>
     <string name="location_neighborhood_level" msgid="4656658097932515921">"Posizione determinata dalle reti mobili e/o Wi-Fi"</string>
     <string name="location_gps" msgid="6296125378829097831">"Utilizza satelliti GPS"</string>
-    <string name="location_street_level" msgid="6460740847018275745">"Accuratezza a livello stradale (deseleziona per risparmiare batteria)"</string>
+    <string name="location_street_level" msgid="7456259025474443314">"Nel rilevamento della posizione, precisione a livello stradale"</string>
     <string name="location_gps_disabled" msgid="6632537158777308128">"Localizza a livello stradale (richiede più batteria e la vista del cielo)"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"Utilizza GPS assistito"</string>
     <string name="assisted_gps_enabled" msgid="8751899609589792803">"Utilizza il server per assistere il GPS (deseleziona per ridurre l\'utilizzo della rete)"</string>
@@ -692,29 +732,38 @@
     <string name="application_size_label" msgid="5055196275624686382">"Applicazione"</string>
     <string name="data_size_label" msgid="8679376373625710107">"Dati"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Disinstalla"</string>
+    <string name="disable_text" msgid="6544054052049395202">"Disattiva"</string>
+    <string name="enable_text" msgid="9217362512327828987">"Attiva"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Cancella dati"</string>
     <string name="app_factory_reset" msgid="6635744722502563022">"Disinstalla aggiornamenti"</string>
     <string name="auto_launch_enable_text" msgid="2630656657744196691">"Hai scelto di avviare per impostazione predefinita questa applicazione per alcune azioni."</string>
     <string name="auto_launch_disable_text" msgid="7800385822185540166">"Nessuna applicazione predefinita impostata."</string>
     <string name="clear_activities" msgid="7408923511535174430">"Cancella predefinite"</string>
     <string name="unknown" msgid="1592123443519355854">"Sconosciuta"</string>
-    <string name="sort_order_alpha" msgid="8622029358896599842">"Ordina"</string>
+    <string name="sort_order_alpha" msgid="1410278099123670628">"Ordina per nome"</string>
     <string name="sort_order_size" msgid="7024513286636502362">"Ordina per dimensioni"</string>
+    <string name="show_running_services" msgid="5736278767975544570">"Mostra servizi in esecuzione"</string>
+    <string name="show_background_processes" msgid="2009840211972293429">"Mostra processi nella cache"</string>
     <string name="manage_space_text" msgid="8852711522447794676">"Gestisci spazio"</string>
     <string name="filter" msgid="2018011724373033887">"Filtra"</string>
     <string name="filter_dlg_title" msgid="6507663329723966854">"Seleziona opzioni di filtro"</string>
     <string name="filter_apps_all" msgid="5142129378749391876">"Tutte"</string>
     <string name="filter_apps_third_party" msgid="7786348047690140979">"Scaricate"</string>
     <string name="filter_apps_running" msgid="7767071454371350486">"In esecuzione"</string>
-    <string name="filter_apps_onsdcard" msgid="1477351142334784771">"Scheda SD"</string>
-    <string name="loading" msgid="3200408047793887917">"Caricamento..."</string>
+    <string name="filter_apps_onsdcard" product="nosdcard" msgid="4843063154701023349">"Archivio USB"</string>
+    <string name="filter_apps_onsdcard" product="default" msgid="1477351142334784771">"Scheda SD"</string>
+    <string name="disabled" msgid="9206776641295849915">"Disattivato"</string>
+    <string name="no_applications" msgid="5190227407135243904">"Nessuna applicazione."</string>
+    <string name="internal_storage" msgid="1584700623164275282">"Archivio interno"</string>
+    <string name="sd_card_storage" product="nosdcard" msgid="2673203150465132465">"Archivio USB"</string>
+    <string name="sd_card_storage" product="default" msgid="7623513618171928235">"Arch. scheda SD"</string>
     <string name="recompute_size" msgid="7722567982831691718">"Ricalcolo dimensioni..."</string>
     <string name="clear_data_dlg_title" msgid="4470209520936375508">"Elimina"</string>
     <string name="clear_data_dlg_text" msgid="8368035073300828451">"Tutti i dati dell\'applicazione verranno eliminati definitivamente, inclusi tutti i file, le impostazioni, gli account, i database e così via."</string>
     <string name="dlg_ok" msgid="2402639055725653590">"OK"</string>
     <string name="dlg_cancel" msgid="1674753358972975911">"Annulla"</string>
     <string name="app_not_found_dlg_title" msgid="8458335716378083713">"Applicazione non trovata"</string>
-    <string name="app_not_found_dlg_text" msgid="2980271680333341554">"Impossibile trovare l\'applicazione \nnell\'elenco di applicazioni installate."</string>
+    <string name="app_not_found_dlg_text" msgid="2980271680333341554">"Impossibile trovare l\'applicazione nell\'elenco di applicazioni installate."</string>
     <string name="clear_data_failed" msgid="581956197586913865">"Impossibile cancellare i dati dell\'applicazione."</string>
     <string name="app_factory_reset_dlg_title" msgid="6116199391150388147">"Disinstalla aggiornamenti"</string>
     <string name="app_factory_reset_dlg_text" msgid="438395129140568893">"Disinstallare tutti gli aggiornamenti di questa applicazione di sistema Android?"</string>
@@ -727,7 +776,8 @@
     <string name="version_text" msgid="9189073826278676425">"versione <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5042838441401731346">"Sposta"</string>
     <string name="move_app_to_internal" msgid="3895430471913858185">"Sposta sul telefono"</string>
-    <string name="move_app_to_sdcard" msgid="1143379049903056407">"Sposta su scheda SD"</string>
+    <string name="move_app_to_sdcard" product="nosdcard" msgid="4350451696315265420">"Sposta in archivio USB"</string>
+    <string name="move_app_to_sdcard" product="default" msgid="1143379049903056407">"Sposta su scheda SD"</string>
     <string name="moving" msgid="6431016143218876491">"Spostamento"</string>
     <string name="insufficient_storage" msgid="8566913062094452962">"Spazio di archiviazione rimanente insufficiente."</string>
     <string name="does_not_exist" msgid="837163572898468245">"Applicazione inesistente."</string>
@@ -735,29 +785,49 @@
     <string name="invalid_location" msgid="4934491353200240499">"Il percorso di installazione specificato non è valido."</string>
     <string name="system_package" msgid="1030561474413022831">"Impossibile installare aggiornamenti di sistema su supporti esterni."</string>
     <string name="force_stop_dlg_title" msgid="4289453224368188476">"Termina"</string>
-    <string name="force_stop_dlg_text" msgid="3381302041569982075">"Questa applicazione verrà riavviata immediatamente. Procedere con l\'interruzione forzata?"</string>
+    <string name="force_stop_dlg_text" msgid="5157374701213502922">"Terminare un\'applicazione in modo forzato può causarne il cattivo funzionamento. Sicuro?"</string>
     <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Sposta applicazione"</string>
     <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Spostamento applicazione non riuscito. <xliff:g id="REASON">%1$s</xliff:g>"</string>
     <string name="app_install_location_title" msgid="2068975150026852168">"Percorso di installazione"</string>
     <string name="app_install_location_summary" msgid="879753854530300436">"Cambia il percorso preferito per l\'installazione di nuove applicazioni."</string>
+    <string name="storageuse_settings_title" msgid="5657014373502630403">"Utilizzo memoria"</string>
+    <string name="storageuse_settings_summary" msgid="2556057379120846792">"Visualizza la memoria utilizzata dalle applicazioni"</string>
     <string name="runningservices_settings_title" msgid="8097287939865165213">"Servizi in esecuzione"</string>
     <string name="runningservices_settings_summary" msgid="854608995821032748">"Visualizza e controlla i servizi attualmente in esecuzione"</string>
     <string name="service_restarting" msgid="2242747937372354306">"In fase di riavvio"</string>
-    <string name="no_running_services" msgid="6981216347270280598">"Nessun servizio in esecuzione"</string>
-    <string name="confirm_stop_service" msgid="5700448757318301681">"Interrompere il servizio?"</string>
-    <string name="confirm_stop_service_msg" msgid="1166661293369421272">"Il servizio non verrà più eseguito fino al riavvio. Questa operazione potrebbe avere conseguenze indesiderate sull\'applicazione <xliff:g id="APPLICATION">%1$s</xliff:g>."</string>
-    <string name="confirm_stop_stop" msgid="7382363913280993331">"Interrompi"</string>
-    <string name="confirm_stop_cancel" msgid="206495326622692381">"Annulla"</string>
-    <string name="service_started_by_app" msgid="8432097226392386802">"Avviato dall\'applicaz.: tocca per interr."</string>
-    <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: tocca per la gestione"</string>
-    <string name="service_background_processes" msgid="5158600475629177758">"Disponibile: <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g> in <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_foreground_processes" msgid="4013890350284680796">"Altro: <xliff:g id="MEMORY">%2$s</xliff:g> in <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_process_name" msgid="8630408984456958400">"Processo: <xliff:g id="PROCESS">%1$s</xliff:g>"</string>
+    <string name="cached" msgid="1059590879740175019">"Processo in background memorizzato nella cache"</string>
+    <string name="no_running_services" msgid="2059536495597645347">"Niente in esecuzione."</string>
+    <string name="service_started_by_app" msgid="6575184738671598131">"Avviato dall\'applicazione."</string>
+    <!-- no translation found for service_client_name (4037193625611815517) -->
+    <skip />
+    <string name="service_background_processes" msgid="6844156253576174488">"<xliff:g id="MEMORY">%1$s</xliff:g> libera"</string>
+    <string name="service_foreground_processes" msgid="7583975676795574276">"<xliff:g id="MEMORY">%1$s</xliff:g> usata"</string>
+    <string name="memory" msgid="6609961111091483458">"RAM"</string>
+    <!-- no translation found for service_process_name (4098932168654826656) -->
+    <skip />
+    <string name="running_processes_item_description_s_s" msgid="5790575965282023145">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processo e <xliff:g id="NUMSERVICES">%2$d</xliff:g> servizio"</string>
+    <string name="running_processes_item_description_s_p" msgid="8019860457123222953">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processo e <xliff:g id="NUMSERVICES">%2$d</xliff:g> servizi"</string>
+    <string name="running_processes_item_description_p_s" msgid="744424668287252915">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processi e <xliff:g id="NUMSERVICES">%2$d</xliff:g> servizio"</string>
+    <string name="running_processes_item_description_p_p" msgid="1607384595790852782">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processi e <xliff:g id="NUMSERVICES">%2$d</xliff:g> servizi"</string>
+    <string name="runningservicedetails_settings_title" msgid="6188692418986988288">"Applicazione in esecuzione"</string>
+    <string name="no_services" msgid="7133900764462288263">"Non attivi"</string>
+    <string name="runningservicedetails_services_title" msgid="391168243725357375">"Servizi"</string>
+    <string name="runningservicedetails_processes_title" msgid="928115582044655268">"Processi"</string>
+    <string name="service_stop" msgid="6369807553277527248">"Interrompi"</string>
+    <string name="service_manage" msgid="1876642087421959194">"Impostazioni"</string>
+    <string name="service_stop_description" msgid="3261798282116866961">"Questo servizio è stato avviato dalla sua applicazione. L\'interruzione potrebbe bloccare l\'applicazione."</string>
+    <string name="heavy_weight_stop_description" msgid="6855241582643136019">"Questa applicazione non può essere interrotta in modo sicuro. Procedendo potresti perdere parte del lavoro corrente."</string>
+    <string name="background_process_stop_description" msgid="1728354083304746737">"Questo è un vecchio processo di un\'applicazione che è stato mantenuto per migliorare la velocità in caso di necessità. In genere non c\'è motivo per arrestarlo."</string>
+    <string name="service_manage_description" msgid="7050092269951613102">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: attualmente in uso. Tocca Impostazioni per controllare."</string>
+    <string name="main_running_process_description" msgid="929204645380391397">"Il processo principale in uso."</string>
+    <string name="process_service_in_use_description" msgid="8993335064403217080">"Il servizio <xliff:g id="COMP_NAME">%1$s</xliff:g> è in uso."</string>
+    <string name="process_provider_in_use_description" msgid="5586603325677678940">"Il provider <xliff:g id="COMP_NAME">%1$s</xliff:g> è in uso."</string>
+    <string name="runningservicedetails_stop_dlg_title" msgid="4253292537154337233">"Interrompere il servizio di sistema?"</string>
+    <string name="runningservicedetails_stop_dlg_text" msgid="6929716497425738387">"Interrompere questo servizio di sistema? Tale operazione potrebbe comportare anomalie in alcune funzioni del telefono fino ai successivi spegnimento e riaccensione."</string>
     <string name="language_settings" msgid="502219872342167227">"Lingua e tastiera"</string>
     <string name="language_keyboard_settings_title" msgid="3455826933385341107">"Impostazioni lingua e tastiera"</string>
-    <string name="language_settings_summary" msgid="595647729475399987">"Impostazioni internazionali (lingua e regione), di inserimento e correzione automatica del testo"</string>
-    <string name="language_category" msgid="3391756582724541530">"Impostazioni lingua"</string>
-    <string name="text_category" msgid="6342540511465136739">"Impostazioni testo"</string>
+    <string name="language_settings_category" msgid="2288258489940617043">"Impostazioni lingua"</string>
+    <string name="keyboard_settings_category" msgid="7060453865544070642">"Impostazioni tastiera"</string>
     <string name="phone_language" msgid="1165758957501090679">"Seleziona lingua"</string>
     <string name="phone_language_summary" msgid="3871309445655554211"></string>
     <string name="auto_replace" msgid="6199184757891937822">"Sostituzione automatica"</string>
@@ -782,7 +852,6 @@
     <string name="testing" msgid="6584352735303604146">"Verifica in corso"</string>
     <string name="testing_phone_info" msgid="8656693364332840056">"Informazioni telefono"</string>
     <string name="testing_battery_info" msgid="3497865525976497848">"Informazioni batteria"</string>
-    <string name="testing_battery_history" msgid="3043329445810695647">"Cronologia batteria"</string>
     <string name="quick_launch_title" msgid="7904609846945905306">"Avvio rapido"</string>
     <string name="quick_launch_summary" msgid="3453825712466417452">"Imposta scorciatoie da tastiera per avviare le applicazioni"</string>
     <string name="quick_launch_assign_application" msgid="4521368464929956350">"Assegna applicazione"</string>
@@ -798,8 +867,8 @@
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Gestisci opzioni inserimento testo"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Impostazioni di <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Impostazioni tastiera sullo schermo"</string>
-    <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"Tastiera dispositivo"</string>
-    <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"Impostazioni tastiera incorporate"</string>
+    <string name="builtin_keyboard_settings_title" msgid="5274990495405941804">"Impostazioni tastiera incorporate"</string>
+    <string name="builtin_keyboard_settings_summary" msgid="7990296351888096836">"Impostazioni tastiera fisica incorporate"</string>
     <string name="development_settings_title" msgid="6719732334835420989">"Sviluppo"</string>
     <string name="development_settings_summary" msgid="2151320488701538355">"Imposta opzioni per lo sviluppo di applicazioni"</string>
     <string name="enable_adb" msgid="7982306934419797485">"Debug USB"</string>
@@ -812,36 +881,10 @@
     <string name="adb_warning_message" msgid="5352555112049663033">"Il debug USB è solo a scopo di sviluppo. Può servire per copiare dati tra il computer e il dispositivo, per installare applicazioni sul tuo dispositivo senza notifica e per leggere i dati dei log."</string>
     <string name="gadget_picker_title" msgid="98374951396755811">"Scegli gadget"</string>
     <string name="widget_picker_title" msgid="9130684134213467557">"Scegli widget"</string>
-    <string name="battery_history_details_for" msgid="5924639922153109669">"Dettagli per UID <xliff:g id="NUMBER">%d</xliff:g>"</string>
-    <string name="battery_history_uid" msgid="1016606150528436298">"UID <xliff:g id="USER_ID">%1$d</xliff:g>"</string>
-    <string name="battery_history_network_usage" msgid="8010852371665217020">"Dettagli di utilizzo della rete per <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_bytes_received" msgid="980307569180518302">"Byte ricevuti: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_sent" msgid="2501748768602119159">"Byte inviati: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_total" msgid="4444807574361642753">"Byte totali: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_cpu_usage" msgid="2597353713014790877">"Dettagli di utilizzo della CPU per <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_user_time" msgid="6227507614894791359">"Tempo utente:"</string>
-    <string name="battery_history_system_time" msgid="2015862072724507547">"Tempo sistema:"</string>
-    <string name="battery_history_total_time" msgid="3618703970098556104">"Tempo totale:"</string>
-    <string name="battery_history_starts" msgid="9137453931978571696">"Avvii: <xliff:g id="STARTS">%1$d</xliff:g>"</string>
     <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g> g <xliff:g id="HOURS">%2$d</xliff:g> h <xliff:g id="MINUTES">%3$d</xliff:g> m <xliff:g id="SECONDS">%4$d</xliff:g> s"</string>
     <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> m <xliff:g id="SECONDS">%3$d</xliff:g> s"</string>
     <string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g> m <xliff:g id="SECONDS">%2$d</xliff:g> s"</string>
     <string name="battery_history_seconds" msgid="4283492130945761685">"<xliff:g id="SECONDS">%1$d</xliff:g> s"</string>
-    <string name="battery_history_packages_sharing_this_uid" msgid="4101596071379250050">"Pacchetti che condividono questo UID:"</string>
-    <string name="battery_history_no_data" msgid="1177238743237067617">"Dati sull\'utilizzo della batteria non disponibili"</string>
-    <string name="battery_history_sensor" msgid="2333488996028993982">"Sensore:"</string>
-    <string name="battery_history_wakelock" msgid="608683447522396293">"Wakelock parziale:"</string>
-    <string name="battery_history_used_by_packages" msgid="3000711380023436470">"Sensore usato dai pacchetti:"</string>
-    <string name="battery_history_sensor_usage" msgid="3593133338613209024">"Usato <xliff:g id="COUNT">%1$d</xliff:g> volte da <xliff:g id="PACKAGE">%2$s</xliff:g>"</string>
-    <string name="battery_history_sensor_usage_multi" msgid="4536084375991014508">"Usato <xliff:g id="COUNT">%1$d</xliff:g> volte da uno di:"</string>
-    <string name="battery_history_awake_label" msgid="8449792868990080882">"In esecuzione"</string>
-    <string name="battery_history_screen_on_label" msgid="1848936521786339362">"Schermo acceso"</string>
-    <string name="battery_history_phone_on_label" msgid="700191958853142297">"Cellulare acceso"</string>
-    <string name="battery_history_awake" msgid="4350886665719031057">"Tempo trascorso senza sospensione:"</string>
-    <string name="battery_history_screen_on" msgid="1377240025275657277">"Tempo trascorso con schermo acceso:"</string>
-    <string name="battery_history_phone_on" msgid="4891504401623839532">"Tempo trascorso con cellulare acceso:"</string>
-    <string name="battery_history_screen_on_battery" msgid="536058210445081888">"A batteria:"</string>
-    <string name="battery_history_screen_on_plugged" msgid="5019127390021871260">"Collegato:"</string>
     <string name="usage_stats_label" msgid="5890846333487083609">"Statistiche di utilizzo"</string>
     <string name="testing_usage_stats" msgid="7823048598893937339">"Statistiche di utilizzo"</string>
     <string name="display_order_text" msgid="8592776965827565271">"Ordina per:"</string>
@@ -865,12 +908,19 @@
     <string name="power_usage_summary" msgid="7237084831082848168">"Consumo batteria"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Utilizzo batteria dallo scollegamento"</string>
     <string name="battery_since_reset" msgid="7464546661121187045">"Utilizzo batteria dal ripristino"</string>
+    <string name="battery_stats_on_battery" msgid="4970762168505236033">"<xliff:g id="TIME">%1$s</xliff:g> con la batteria"</string>
     <string name="battery_stats_duration" msgid="7464501326709469282">"<xliff:g id="TIME">%1$s</xliff:g> dallo scollegamento"</string>
+    <string name="battery_stats_charging_label" msgid="4223311142875178785">"In carica"</string>
+    <string name="battery_stats_screen_on_label" msgid="7150221809877509708">"Schermo acceso"</string>
+    <string name="battery_stats_gps_on_label" msgid="1193657533641951256">"GPS attivo"</string>
+    <string name="battery_stats_wifi_running_label" msgid="3093545080361658269">"Wi-Fi"</string>
+    <string name="battery_stats_wake_lock_label" msgid="1908942681902324095">"Attivo"</string>
+    <string name="battery_stats_phone_signal_label" msgid="6822042940376636775">"Segnale telefono"</string>
     <!-- no translation found for battery_stats_last_duration (1535831453827905957) -->
     <skip />
     <string name="awake" msgid="387122265874485088">"Tempo di attività dispositivo"</string>
-    <string name="wifi_on_time" msgid="4630925382578609056">"Tempo accensione Wi-Fi"</string>
-    <string name="bluetooth_on_time" msgid="4478515071957280711">"Tempo accensione Wi-Fi"</string>
+    <string name="wifi_on_time" msgid="6310209835617490616">"Tempo accensione Wi-Fi"</string>
+    <string name="bluetooth_on_time" msgid="6157799524996162271">"Tempo accensione Wi-Fi"</string>
     <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g> -  <xliff:g id="NUMBER">%2$s</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
     <string name="details_title" msgid="7564809986329021063">"Dettagli utilizzo batteria"</string>
     <string name="details_subtitle" msgid="32593908269911734">"Dettagli di utilizzo"</string>
@@ -884,7 +934,9 @@
     <string name="power_idle" msgid="9055659695602194990">"Telefono inattivo"</string>
     <string name="usage_type_cpu" msgid="715162150698338714">"Totale CPU"</string>
     <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"CPU in primo piano"</string>
+    <string name="usage_type_wake_lock" msgid="5125438890233677880">"Mantieni attivo"</string>
     <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string>
+    <string name="usage_type_wifi_running" msgid="8234997940652067049">"Wi-Fi attivo"</string>
     <string name="usage_type_phone" msgid="9108247984998041853">"Telefono"</string>
     <string name="usage_type_data_send" msgid="2857401966985425427">"Dati inviati"</string>
     <string name="usage_type_data_recv" msgid="7251090882025234185">"Dati ricevuti"</string>
@@ -896,7 +948,7 @@
     <string name="battery_action_app_details" msgid="3275013531871113681">"Info applicazione"</string>
     <string name="battery_action_app_settings" msgid="350562653472577250">"Impostazioni applicazione"</string>
     <string name="battery_action_display" msgid="5302763261448580102">"Impostazioni display"</string>
-    <string name="battery_action_wifi" msgid="5452076674659927993">"Impostazioni Wi-Fi"</string>
+    <string name="battery_action_wifi" msgid="2272741639606146903">"Impostazioni Wi-Fi"</string>
     <string name="battery_action_bluetooth" msgid="8374789049507723142">"Impostazioni Bluetooth"</string>
     <string name="battery_desc_voice" msgid="8980322055722959211">"Batteria utilizzata da chiamate vocali"</string>
     <string name="battery_desc_standby" msgid="3009080001948091424">"Utilizzo batteria quando il telefono è inattivo"</string>
@@ -909,9 +961,9 @@
     <string name="battery_desc_bluetooth" msgid="7535520658674621902">"Batteria utilizzata da Bluetooth"</string>
     <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"Disattiva Bluetooth quando non è in uso"</string>
     <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"Prova a connetterti a un altro dispositivo Bluetooth"</string>
-    <string name="battery_desc_apps" msgid="8123202939321333639">"Batteria utilizzata dalle applicazioni in esecuzione"</string>
+    <string name="battery_desc_apps" msgid="6665712811746233450">"Batteria utilizzata dall\'applicazione"</string>
     <string name="battery_sugg_apps_info" msgid="6065882899391322442">"Interrompi o disinstalla l\'applicazione"</string>
-    <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"Disattiva GPS quando non è in uso"</string>
+    <string name="battery_sugg_apps_gps" msgid="4545056413090932541">"Controlla manualmente il GPS per impedire all\'applicazione di utilizzarlo"</string>
     <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"L\'applicazione potrebbe offrire impostazioni per ridurre l\'utilizzo della batteria"</string>
     <string name="menu_stats_unplugged" msgid="8296577130840261624">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> dallo scollegamento"</string>
     <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"Durante ultimo scollegamento per <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
@@ -961,6 +1013,8 @@
     <string name="pico_not_installed" msgid="6266845418419994311">"Non installata"</string>
     <string name="pico_voice_summary_female" msgid="8047327176247727492">"Femminile"</string>
     <string name="pico_voice_summary_male" msgid="8331266854058577610">"Maschile"</string>
+    <string name="tts_notif_engine_install_title" msgid="7000346872482649034">"Motore sintesi vocale installato"</string>
+    <string name="tts_notif_engine_install_message" msgid="5304661142202662693">"Attiva nuovo motore per usarlo"</string>
     <string name="gadget_title" msgid="7455548605888590466">"Controllo risparmio energia"</string>
     <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Aggiornamento impostazione Wi-Fi"</string>
     <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Aggiornamento impostazione Bluetooth"</string>
@@ -1047,8 +1101,10 @@
     <string name="credentials_access_summary" msgid="319662078718574168">"Consenti accesso applicazioni a certificati protezione e altre credenziali"</string>
     <string name="credentials_unlock" msgid="1463040326264133844">"Inserisci password"</string>
     <string name="credentials_unlock_hint" msgid="594679530407918031">"Inserisci la password dell\'archivio di credenziali."</string>
-    <string name="credentials_install_certificates" msgid="177337517568022236">"Installa da scheda SD"</string>
-    <string name="credentials_install_certificates_summary" msgid="7737001268684193093">"Installa certificati crittografati da scheda SD"</string>
+    <string name="credentials_install_certificates" product="nosdcard" msgid="619171634797689906">"Installa da archivio USB"</string>
+    <string name="credentials_install_certificates" product="default" msgid="177337517568022236">"Installa da scheda SD"</string>
+    <string name="credentials_install_certificates_summary" product="nosdcard" msgid="8920330112631198575">"Installa certificati crittografati da arch. USB"</string>
+    <string name="credentials_install_certificates_summary" product="default" msgid="7737001268684193093">"Installa certificati crittografati da scheda SD"</string>
     <string name="credentials_set_password" msgid="9104473585811899989">"Imposta password"</string>
     <string name="credentials_set_password_summary" msgid="8287876917562085701">"Imposta o modifica la password dell\'archivio di credenziali"</string>
     <string name="credentials_reset" msgid="9170150870552453457">"Cancella archivio"</string>
@@ -1068,6 +1124,16 @@
     <string name="credentials_erased" msgid="7700309135582200849">"L\'archivio di credenziali è cancellato."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"L\'archivio di credenziali è attivo."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"L\'archivio di credenziali non è attivo."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"File system crittografato"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Crittografa dati privati utente"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Abilita l\'archiviazione dei file system crittografati per i dati privati dell\'utente in questo dispositivo"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Per l\'attivazione dei file system crittografati è necessaria la cancellazione dei dati del dispositivo."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Per la disattivazione dei file system crittografati è necessaria la cancellazione dei dati del dispositivo."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Attiva"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Disattiva"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Annulla"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Modifica della modalità dei file system crittografati annullata."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Avviso file system crittografati."</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Tono chiamate emergenza"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Imposta il comportamento in caso di chiamata di emergenza"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Privacy"</string>
@@ -1075,11 +1141,11 @@
     <string name="backup_section_title" msgid="8856083167469467588">"Backup e ripristino"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Dati personali"</string>
     <string name="backup_data_title" msgid="1239105919852668016">"Backup dei miei dati"</string>
-    <string name="backup_data_summary" msgid="5662190190240860035">"Backup delle mie impostazioni e di altri dati delle applicazioni."</string>
+    <string name="backup_data_summary" msgid="6515285107793232815">"Effettua il backup di dati delle applicazioni, password Wi-Fi e altre impostazioni sui server di Google"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Ripristino automatico"</string>
-    <string name="auto_restore_summary" msgid="6867766474057290177">"Se reinstallo un\'applicazione, ripristina le impostazioni o altri dati di backup."</string>
+    <string name="auto_restore_summary" msgid="83177150536734378">"Se reinstallo un\'applicazione, ripristina le impostazioni o altri dati di backup"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Copia di backup"</string>
-    <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Interrompere il backup delle impostazioni e dei dati delle applicazioni e cancellare tutte le copie sui server Google?"</string>
+    <string name="backup_erase_dialog_message" msgid="7766283133557587608">"Interrompere il backup delle password Wi-Fi, dei segnalibri, di altre impostazioni e dei dati delle applicazioni e cancellare tutte le copie sui server di Google?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Impostazioni di amministrazione dispositivo"</string>
     <string name="active_device_admin_msg" msgid="6930903262612422111">"Amministratore dispositivo"</string>
     <string name="remove_device_admin" msgid="3596845261596451437">"Disattiva"</string>
diff --git a/res/values-ja/arrays.xml b/res/values-ja/arrays.xml
index b508452..3524fc5 100644
--- a/res/values-ja/arrays.xml
+++ b/res/values-ja/arrays.xml
@@ -115,19 +115,6 @@
     <item msgid="1549288661423279207">"電源接続時はスリープにしない"</item>
     <item msgid="1986753720941888596">"スリープにしない"</item>
   </string-array>
-  <string-array name="battery_history_type_spinner">
-    <item msgid="2193799199027871385">"CPU使用状況"</item>
-    <item msgid="6401018715947316517">"ネットワーク使用状況"</item>
-    <item msgid="188092590354892392">"GPS使用状況"</item>
-    <item msgid="8414109131222049141">"センサー使用状況"</item>
-    <item msgid="1327904325081257093">"部分起動状況"</item>
-    <item msgid="4832254146664706277">"その他の使用状況"</item>
-  </string-array>
-  <string-array name="battery_history_which_spinner">
-    <item msgid="3451981114763440074">"充電池使用時間"</item>
-    <item msgid="166936313535197598">"起動時間合計"</item>
-    <item msgid="4793941382744963893">"総時間"</item>
-  </string-array>
   <string-array name="usage_stats_display_order_types">
     <item msgid="9077371706468756228">"使用時間"</item>
     <item msgid="1908750532762193304">"起動回数"</item>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 0642299..daee658 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -45,13 +45,16 @@
     <string name="radioInfo_display_asu" msgid="1422248392727818082">"asu"</string>
     <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string>
     <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string>
-    <string name="sdcard_unmount" msgid="3364184561355611897">"SDカードのマウント解除"</string>
-    <string name="sdcard_format" msgid="362497552060004057">"SDカードをフォーマット"</string>
+    <string name="sdcard_unmount" product="nosdcard" msgid="6325292633327972272">"USBストレージのマウント解除"</string>
+    <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SDカードのマウント解除"</string>
+    <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USBストレージ内データの消去"</string>
+    <string name="sdcard_format" product="default" msgid="6713185532039187532">"SDカード内データを消去"</string>
     <string name="small_font" msgid="2295331917424072635">"小"</string>
     <string name="medium_font" msgid="2068475425515133701">"中"</string>
     <string name="large_font" msgid="599055175160971446">"大"</string>
     <string name="font_size_save" msgid="3450855718056759095">"OK"</string>
-    <string name="sdcard_setting" msgid="5922637503871474866">"SDカード"</string>
+    <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USBストレージ"</string>
+    <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SDカード"</string>
     <string name="battery_info_status_label" msgid="8109155295509700309">"充電状況"</string>
     <string name="battery_info_power_label" msgid="7465140230991349382">"電源:"</string>
     <string name="battery_info_scale_label" msgid="3649763192389778437">"電池の残量表示:"</string>
@@ -180,27 +183,34 @@
     <string name="sdcard_changes_instructions" msgid="1364712901180556244">"USBケーブルの再接続時に変更が有効になります"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"USBマスストレージを有効にする"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"合計バイト数:"</string>
-    <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"SDカードがありません"</string>
+    <string name="sdcard_settings_not_present_status" product="nosdcard" msgid="2902787003418172125">"USBストレージがマウントされていません"</string>
+    <string name="sdcard_settings_not_present_status" product="default" msgid="6666688653496819947">"SDカードがありません"</string>
     <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"利用可能バイト数:"</string>
-    <string name="sdcard_settings_mass_storage_status" msgid="4786433969313661655">"SDカードをマスストレージデバイスとして使用中"</string>
-    <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"SDカードを安全に取り外せます"</string>
-    <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"SDカードが使用中に取り外されました。"</string>
+    <string name="sdcard_settings_mass_storage_status" product="nosdcard" msgid="2736378870889777857">"USBストレージをマスストレージデバイスとして使用中"</string>
+    <string name="sdcard_settings_mass_storage_status" product="default" msgid="4786433969313661655">"SDカードをマスストレージデバイスとして使用中"</string>
+    <string name="sdcard_settings_unmounted_status" product="nosdcard" msgid="7503300818792750913">"USBストレージを安全に取り外せます"</string>
+    <string name="sdcard_settings_unmounted_status" product="default" msgid="3812022095683863087">"SDカードを安全に取り外せます"</string>
+    <string name="sdcard_settings_bad_removal_status" product="nosdcard" msgid="7761390725880773697">"USBストレージが使用中に取り外されました"</string>
+    <string name="sdcard_settings_bad_removal_status" product="default" msgid="5145797653495907970">"SDカードが使用中に取り外されました。"</string>
     <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"使用済みバイト数:"</string>
-    <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"メディア用のSDカードをスキャン中..."</string>
-    <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"読み取り専用としてSDカードをマウントしました"</string>
+    <string name="sdcard_settings_scanning_status" product="nosdcard" msgid="7503429447676219564">"USBストレージをスキャン中..."</string>
+    <string name="sdcard_settings_scanning_status" product="default" msgid="2763464949274455656">"メディア用のSDカードをスキャン中..."</string>
+    <string name="sdcard_settings_read_only_status" product="nosdcard" msgid="3771783090621312312">"USBストレージを読取専用でマウント済み"</string>
+    <string name="sdcard_settings_read_only_status" product="default" msgid="5706115860484118911">"読み取り専用としてSDカードをマウントしました"</string>
     <string name="next_label" msgid="4693520878012668114">"次へ"</string>
     <string name="language_picker_title" msgid="4034157617842965844">"地域/言語"</string>
     <string name="select_your_language" msgid="1146235168951906084">"言語を選択"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"操作の選択"</string>
     <string name="device_info_label" msgid="6551553813651711205">"端末情報"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"電池情報"</string>
-    <string name="battery_history_label" msgid="8242244969757414501">"充電池データ"</string>
     <string name="display_label" msgid="7403874003169865762">"ディスプレイ"</string>
     <string name="phone_info_label" msgid="2127552523124277664">"携帯電話情報"</string>
-    <string name="sd_card_settings_label" msgid="5743100901106177102">"SDカード"</string>
+    <string name="sd_card_settings_label" product="nosdcard" msgid="8101475181301178428">"USBストレージ"</string>
+    <string name="sd_card_settings_label" product="default" msgid="5743100901106177102">"SDカード"</string>
     <string name="proxy_settings_label" msgid="3271174136184391743">"プロキシ設定"</string>
     <string name="cancel" msgid="6859253417269739139">"キャンセル"</string>
     <string name="settings_label" msgid="1626402585530130914">"設定"</string>
+    <string name="settings_label_launcher" msgid="8344735489639482340">"設定"</string>
     <string name="settings_shortcut" msgid="3672145147925639262">"設定"</string>
     <string name="airplane_mode" msgid="8837269988154128601">"機内モード"</string>
     <string name="airplane_mode_summary" msgid="3154817401368780988">"ワイヤレス接続をすべて無効にする"</string>
@@ -323,6 +333,11 @@
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"スピーカーフォン"</string>
     <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"音楽とメディア"</string>
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"設定を保存"</string>
+    <string name="nfc_quick_toggle_title" msgid="6769159366307299004">"NFC"</string>
+    <string name="nfc_quick_toggle_summary" msgid="1988408027741447231">"タグの読み取りと交換にNFCを使用"</string>
+    <!-- no translation found for nfc_toggle_error (2233172102497535522) -->
+    <!-- no translation found for nfc_toggle_error (8998642457947607263) -->
+    <skip />
     <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Wi-FiをONにする"</string>
     <string name="wifi_settings" msgid="4746946030627213196">"Wi-Fi設定"</string>
@@ -376,6 +391,7 @@
     <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Wi-Fiをスリープに切り替えるタイミング"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"スリープポリシーの設定で問題が発生しました。"</string>
     <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MACアドレス"</string>
+    <string name="wifi_advanced_ip_address_title" msgid="6215297094363164846">"IPアドレス"</string>
     <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP設定"</string>
     <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"保存"</string>
     <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"キャンセル"</string>
@@ -496,9 +512,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"端末の状態"</string>
     <string name="device_status" msgid="607405385799807324">"端末の状態"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"電話番号、電波状態など"</string>
-    <string name="storage_settings" msgid="6681164315506788024">"SDカードと端末容量"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"SDカードと端末容量の設定"</string>
-    <string name="storage_settings_summary" msgid="9176693537325988610">"SDカードの取り外し、空き容量の表示"</string>
+    <string name="storage_settings" msgid="4211799979832404953">"ストレージ"</string>
+    <string name="storage_settings_title" msgid="8746016738388094064">"ストレージの設定"</string>
+    <string name="storage_settings_summary" product="nosdcard" msgid="3543813623294870759">"USBストレージのマウントを解除し、使用できるストレージを表示"</string>
+    <string name="storage_settings_summary" product="default" msgid="9176693537325988610">"SDカードの取り外し、空き容量の表示"</string>
     <string name="status_number" msgid="5123197324870153205">"電話番号"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
     <string name="status_prl_version" msgid="8499039751817386529">"PRLバージョン"</string>
@@ -514,24 +531,36 @@
     <string name="status_unavailable" msgid="7862009036663793314">"不明"</string>
     <string name="status_up_time" msgid="7294859476816760399">"稼働時間"</string>
     <string name="status_awake_time" msgid="2393949909051183652">"端末使用時間"</string>
-    <string name="internal_memory" msgid="1130932766236387454">"端末内部メモリ"</string>
-    <string name="sd_memory" msgid="151871913888051515">"SDカード"</string>
+    <string name="internal_memory" msgid="9129595691484260784">"内部ストレージ"</string>
+    <string name="sd_memory" product="nosdcard" msgid="2510246194083052841">"USBストレージ"</string>
+    <string name="sd_memory" product="default" msgid="151871913888051515">"SDカード"</string>
     <string name="memory_available" msgid="418542433817289474">"空き容量"</string>
     <string name="memory_size" msgid="6629067715017232195">"合計容量"</string>
-    <string name="sd_eject" msgid="6915293408836853020">"SDカードのマウント解除"</string>
-    <string name="sd_eject_summary" msgid="3315557796211542962">"SDカードを安全に取り外すためマウントを解除する"</string>
-    <string name="sd_insert_summary" msgid="2048640010381803841">"マウントするSDカードを挿入"</string>
-    <string name="sd_mount" msgid="5940523765187704135">"SDカードをマウント"</string>
-    <string name="sd_mount_summary" msgid="4936591681679097699">"SDカードをマウント"</string>
-    <string name="sd_format" msgid="5448738337382712203">"SDカードをフォーマット"</string>
-    <string name="sd_format_summary" msgid="6616491027883134004">"SDカードをフォーマット（消去）する"</string>
+    <string name="sd_eject" product="default" msgid="6915293408836853020">"SDカードのマウント解除"</string>
+    <string name="sd_eject_summary" product="nosdcard" msgid="5009296896648072891">"内部USBストレージのマウント解除"</string>
+    <string name="sd_eject_summary" product="default" msgid="3300599435073550246">"SDカードのマウント解除（安全な取り外し）"</string>
+    <string name="sd_insert_summary" product="nosdcard" msgid="5264016886409577313">"マウントするUSBストレージを挿入"</string>
+    <string name="sd_insert_summary" product="default" msgid="2048640010381803841">"マウントするSDカードを挿入"</string>
+    <string name="sd_mount" product="nosdcard" msgid="8966695015677343116">"USBストレージをマウント"</string>
+    <string name="sd_mount" product="default" msgid="5940523765187704135">"SDカードをマウント"</string>
+    <!-- outdated translation 6733254203291665551 -->     <string name="sd_mount_summary" product="nosdcard" msgid="1794150364965145726">"内部USBストレージのマウント"</string>
+    <string name="sd_mount_summary" product="default" msgid="4936591681679097699">"SDカードをマウント"</string>
+    <string name="sd_format" product="nosdcard" msgid="2148179271623099054">"USBストレージ内データを消去"</string>
+    <string name="sd_format" product="default" msgid="2576054280507119870">"SDカード内データを消去"</string>
+    <string name="sd_format_summary" product="nosdcard" msgid="1504606546865152514">"内部USBストレージ内の全データ（音楽、写真など）を消去します。"</string>
+    <string name="sd_format_summary" product="default" msgid="915849621390821841">"SDカード内の全データ（音楽、写真など）の消去"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"使用不可"</string>
     <string name="read_only" msgid="6702420168629076340">" （読み取り専用）"</string>
-    <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"SDカードのマウント解除"</string>
-    <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"SDカードのマウントを解除すると、使用中のアプリケーションの一部が停止し、SDカードを再マウントするまで使用できなくなる場合があります。"</string>
-    <string name="dlg_error_unmount_title" msgid="4004106918266783081">"SDカードのマウントを解除できません"</string>
-    <string name="dlg_error_unmount_text" msgid="9188972789897713180">"SDカードのマウントを解除できません。しばらくしてからもう一度お試しください。"</string>
-    <string name="unmount_inform_text" msgid="3213378327712151498">"SDカードのマウントを解除します。ステータスは通知エリアで確認してください。"</string>
+    <string name="dlg_confirm_unmount_title" product="nosdcard" msgid="2349876662428231297">"USBストレージのマウント解除"</string>
+    <string name="dlg_confirm_unmount_title" product="default" msgid="8612140627310646730">"SDカードのマウント解除"</string>
+    <string name="dlg_confirm_unmount_text" product="nosdcard" msgid="3390169455621185223">"USBストレージのマウントを解除すると、使用中のアプリケーションの一部が停止し、USBストレージを再マウントするまで使用できなくなる場合があります。"</string>
+    <string name="dlg_confirm_unmount_text" product="default" msgid="5851214273718817727">"SDカードのマウントを解除すると、使用中のアプリケーションの一部が停止し、SDカードを再マウントするまで使用できなくなる場合があります。"</string>
+    <string name="dlg_error_unmount_title" product="nosdcard" msgid="7695491947411836733">"USBストレージマウント解除失敗"</string>
+    <string name="dlg_error_unmount_title" product="default" msgid="4004106918266783081">"SDカードのマウントを解除できません"</string>
+    <string name="dlg_error_unmount_text" product="nosdcard" msgid="1450864147013376592">"USBストレージのマウントを解除できません。しばらくしてからもう一度お試しください。"</string>
+    <string name="dlg_error_unmount_text" product="default" msgid="9188972789897713180">"SDカードのマウントを解除できません。しばらくしてからもう一度お試しください。"</string>
+    <string name="unmount_inform_text" product="nosdcard" msgid="7120241136790744265">"USBストレージのマウントが解除されます。"</string>
+    <string name="unmount_inform_text" product="default" msgid="1904212716075458402">"SDカードのマウントが解除されます。"</string>
     <string name="sd_ejecting_title" msgid="8824572198034365468">"マウント解除中"</string>
     <string name="sd_ejecting_summary" msgid="2028753069184908491">"マウントを解除中"</string>
     <string name="battery_status_title" msgid="9159414319574976203">"電池の状態:"</string>
@@ -571,21 +600,32 @@
     <string name="restore_default_apn_completed" msgid="3990449939234957281">"APN設定をリセットしました"</string>
     <string name="master_clear_title" msgid="5907939616087039756">"データの初期化"</string>
     <string name="master_clear_summary" msgid="4986154238001088492">"携帯電話内のすべてのデータを消去"</string>
-    <string name="master_clear_desc" msgid="7823268823499739178">"この操作を行うと携帯のデータすべてが削除されます。消去されるデータには次のものがあります: "\n<li>"Googleアカウント"</li>\n<li>"システムやアプリケーションのデータと設定"</li>\n<li>"ダウンロードされたアプリケーション"</li>\n"この操作を行っても次のデータは削除されません: "\n<li>"既存のシステムソフトウェアやバンドルされているアプリケーション"</li>\n<li>"SDカードファイル（音楽や写真など）"</li></string>
+    <string name="master_clear_desc" product="nosdcard" msgid="2163013814299528247">"この操作を行うと、携帯端末の"<b>"内部ストレージ"</b>"から次のデータがすべて消去されます:"\n\n<li>"Googleアカウント"</li>\n<li>"システムとアプリケーションのデータと設定"</li>\n<li>"ダウンロードされたアプリケーション"</li>\n\n"端末上のすべてのデータを削除するには、"<b>"USBストレージ"</b>"内のデータを消去する必要があります。"\n\n</string>
+    <string name="master_clear_desc" product="default" msgid="1741944496458365969">"この操作を行うと、携帯端末の"<b>"内部ストレージ"</b>"から次のデータがすべて消去されます:"\n\n<li>"Googleアカウント"</li>\n<li>"システムとアプリケーションのデータと設定"</li>\n<li>"ダウンロードされたアプリケーション"</li>\n\n"音楽や写真などユーザーデータも削除するには、"<b>"SDカード"</b>"内のデータを消去する必要があります。"\n\n</string>
+    <string name="erase_external_storage" product="nosdcard" msgid="969364037450286809">"USBストレージ内データの消去"</string>
+    <string name="erase_external_storage" product="default" msgid="1397239046334307625">"SDカード内データを消去"</string>
+    <string name="erase_external_storage_description" product="nosdcard" msgid="1657838142707381027">"内部USBストレージ内の全データ（音楽、写真など）を消去します。"</string>
+    <string name="erase_external_storage_description" product="default" msgid="8100175974635894073">"SDカード内の全データ（音楽、写真など）を消去します。"</string>
     <string name="master_clear_button_text" msgid="7550632653343157971">"携帯電話をリセット"</string>
     <string name="master_clear_final_desc" msgid="6917971132484622696">"個人情報とダウンロードしたアプリケーションをすべて削除しますか？この操作を元に戻すことはできません。"</string>
     <string name="master_clear_final_button_text" msgid="5390908019019242910">"すべて消去"</string>
     <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"ロック解除パターンを入力してください"</string>
     <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"携帯電話をリセットするには、ロック解除パターンを入力する必要があります。"</string>
     <string name="master_clear_failed" msgid="8655202125010189406">"System Clearサービスが利用できないため、リセットされませんでした。"</string>
-    <string name="media_format_title" msgid="4671276096695789895">"SDカードをフォーマットします。"</string>
-    <string name="media_format_summary" msgid="3805714639375830120">"SDカードのすべてのデータを消去します"</string>
-    <string name="media_format_desc" msgid="1142563222357820834">"この操作を実行すると端末のSDカードが消去されます。カード内のすべてのデータが失われます。"</string>
-    <string name="media_format_button_text" msgid="370856400090190151">"SDカードをフォーマット"</string>
-    <string name="media_format_final_desc" msgid="1776666694910717198">"メディアをすべて消去してSDカードをフォーマットしますか？この操作は元に戻せません。"</string>
+    <string name="media_format_title" product="nosdcard" msgid="3999653431422767156">"USBストレージ内データを消去"</string>
+    <string name="media_format_title" product="default" msgid="4427528440306787972">"SDカード内データを消去"</string>
+    <string name="media_format_summary" product="nosdcard" msgid="776603298628082065">"USBストレージ内の全データ消去"</string>
+    <string name="media_format_summary" product="default" msgid="3805714639375830120">"SDカードのすべてのデータを消去します"</string>
+    <string name="media_format_desc" product="nosdcard" msgid="4553860683952763905">"この操作を行うとUSBストレージ内のデータが消去されます。ストレージ内の"<b>"すべての"</b>"データが失われます。"</string>
+    <string name="media_format_desc" product="default" msgid="1598627584181935513">"この操作を行うとSDカード内のデータが消去されます。カード内の"<b>"すべての"</b>"データが失われます。"</string>
+    <string name="media_format_button_text" product="nosdcard" msgid="6293669371185352810">"USBストレージ内データを消去"</string>
+    <string name="media_format_button_text" product="default" msgid="6721544380069373626">"SDカード内データを消去"</string>
+    <string name="media_format_final_desc" product="nosdcard" msgid="8094635533378487255">"USBストレージをフォーマットして、保存されているすべてのファイルを削除しますか？この操作は元に戻せません。"</string>
+    <string name="media_format_final_desc" product="default" msgid="9015504991522581434">"SDカードをフォーマットして、保存されているすべてのファイルを削除しますか？この操作は元に戻せません。"</string>
     <string name="media_format_final_button_text" msgid="4881713344315923175">"すべて消去"</string>
     <string name="media_format_gesture_prompt" msgid="3109349468816856670">"ロック解除パターンを入力してください"</string>
-    <string name="media_format_gesture_explanation" msgid="4239529439389660159">"ロック解除パターンを入力してSDカードのフォーマット実行を確認する必要があります。"</string>
+    <string name="media_format_gesture_explanation" product="nosdcard" msgid="1379736318750958338">"USBストレージ内のデータを消去してよいか確認するため、ロック解除パターンを入力する必要があります。"</string>
+    <string name="media_format_gesture_explanation" product="default" msgid="1681213416497647321">"SDカード内のデータを消去してよいか確認するため、ロック解除パターンを入力する必要があります。"</string>
     <string name="call_settings_title" msgid="5188713413939232801">"通話設定"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"ボイスメール、着信転送、発信者番号など"</string>
     <string name="tether_settings_title_usb" msgid="4315031513434087777">"テザリング"</string>
@@ -609,7 +649,7 @@
     <string name="location_networks_disabled" msgid="2708968452901433980">"無線ネットワーク使用のアプリケーション（地図など）で位置を表示する"</string>
     <string name="location_neighborhood_level" msgid="4656658097932515921">"Wi-Fi/モバイルネットワークで位置を検出する"</string>
     <string name="location_gps" msgid="6296125378829097831">"GPS機能を使用"</string>
-    <string name="location_street_level" msgid="6460740847018275745">"高精度測位（電池の消費を節約する場合はOFFにしてください）"</string>
+    <string name="location_street_level" msgid="7456259025474443314">"高精度測位"</string>
     <string name="location_gps_disabled" msgid="6632537158777308128">"高精度測位（電池消費増、電波が良好な場所で使用）"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"A-GPSを使用"</string>
     <string name="assisted_gps_enabled" msgid="8751899609589792803">"サーバーでGPSを補助します（OFFにするとネットワーク使用率が減少します）"</string>
@@ -692,22 +732,31 @@
     <string name="application_size_label" msgid="5055196275624686382">"アプリケーション"</string>
     <string name="data_size_label" msgid="8679376373625710107">"データ"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"アンインストール"</string>
+    <string name="disable_text" msgid="6544054052049395202">"無効にする"</string>
+    <string name="enable_text" msgid="9217362512327828987">"有効にする"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"データを消去"</string>
     <string name="app_factory_reset" msgid="6635744722502563022">"アップデートのアンインストール"</string>
     <string name="auto_launch_enable_text" msgid="2630656657744196691">"特定の操作で使用する既定アプリケーションとして設定されています。"</string>
     <string name="auto_launch_disable_text" msgid="7800385822185540166">"設定されていません。"</string>
     <string name="clear_activities" msgid="7408923511535174430">"設定を消去"</string>
     <string name="unknown" msgid="1592123443519355854">"不明"</string>
-    <string name="sort_order_alpha" msgid="8622029358896599842">"並べ替え"</string>
+    <string name="sort_order_alpha" msgid="1410278099123670628">"名前順に表示する"</string>
     <string name="sort_order_size" msgid="7024513286636502362">"サイズ順"</string>
+    <string name="show_running_services" msgid="5736278767975544570">"実行中のサービスを表示"</string>
+    <string name="show_background_processes" msgid="2009840211972293429">"キャッシュしたプロセスを表示"</string>
     <string name="manage_space_text" msgid="8852711522447794676">"容量を管理"</string>
     <string name="filter" msgid="2018011724373033887">"フィルタ"</string>
     <string name="filter_dlg_title" msgid="6507663329723966854">"フィルタオプションを選択"</string>
     <string name="filter_apps_all" msgid="5142129378749391876">"すべて"</string>
     <string name="filter_apps_third_party" msgid="7786348047690140979">"ダウンロード済み"</string>
     <string name="filter_apps_running" msgid="7767071454371350486">"実行中"</string>
-    <string name="filter_apps_onsdcard" msgid="1477351142334784771">"SDカード上"</string>
-    <string name="loading" msgid="3200408047793887917">"読み込み中..."</string>
+    <string name="filter_apps_onsdcard" product="nosdcard" msgid="4843063154701023349">"USBストレージ"</string>
+    <string name="filter_apps_onsdcard" product="default" msgid="1477351142334784771">"SDカード上"</string>
+    <string name="disabled" msgid="9206776641295849915">"無効"</string>
+    <string name="no_applications" msgid="5190227407135243904">"アプリケーションはありません"</string>
+    <string name="internal_storage" msgid="1584700623164275282">"内部ストレージ"</string>
+    <string name="sd_card_storage" product="nosdcard" msgid="2673203150465132465">"USBストレージ"</string>
+    <string name="sd_card_storage" product="default" msgid="7623513618171928235">"SDカードストレージ"</string>
     <string name="recompute_size" msgid="7722567982831691718">"サイズを再計算中..."</string>
     <string name="clear_data_dlg_title" msgid="4470209520936375508">"削除"</string>
     <string name="clear_data_dlg_text" msgid="8368035073300828451">"このアプリケーションのすべてのデータ（ファイル、設定、アカウント、データベースを含む）が完全に削除されます。"</string>
@@ -727,7 +776,8 @@
     <string name="version_text" msgid="9189073826278676425">"バージョン<xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5042838441401731346">"移動"</string>
     <string name="move_app_to_internal" msgid="3895430471913858185">"携帯端末に移動"</string>
-    <string name="move_app_to_sdcard" msgid="1143379049903056407">"SDカードに移動"</string>
+    <string name="move_app_to_sdcard" product="nosdcard" msgid="4350451696315265420">"USBストレージに移動"</string>
+    <string name="move_app_to_sdcard" product="default" msgid="1143379049903056407">"SDカードに移動"</string>
     <string name="moving" msgid="6431016143218876491">"移動中"</string>
     <string name="insufficient_storage" msgid="8566913062094452962">"ストレージの容量が不足しています。"</string>
     <string name="does_not_exist" msgid="837163572898468245">"そのアプリケーションは存在しません."</string>
@@ -735,29 +785,49 @@
     <string name="invalid_location" msgid="4934491353200240499">"指定したインストール先が無効です。"</string>
     <string name="system_package" msgid="1030561474413022831">"システムアップデートは外部メディアにはインストールできません。"</string>
     <string name="force_stop_dlg_title" msgid="4289453224368188476">"強制停止"</string>
-    <string name="force_stop_dlg_text" msgid="3381302041569982075">"このアプリケーションはすぐに再起動されます。強制停止してもよろしいですか？"</string>
+    <string name="force_stop_dlg_text" msgid="5157374701213502922">"アプリケーションを強制終了すると正常に動作しない場合があります。終了してもよろしいですか？"</string>
     <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"アプリケーションを移動"</string>
     <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"アプリケーションを移動できません。<xliff:g id="REASON">%1$s</xliff:g>"</string>
     <string name="app_install_location_title" msgid="2068975150026852168">"優先インストール先"</string>
     <string name="app_install_location_summary" msgid="879753854530300436">"新しいアプリケーションの優先インストール先を変更する"</string>
+    <string name="storageuse_settings_title" msgid="5657014373502630403">"ストレージ使用状況"</string>
+    <string name="storageuse_settings_summary" msgid="2556057379120846792">"アプリケーションのストレージ使用状況を表示する"</string>
     <string name="runningservices_settings_title" msgid="8097287939865165213">"実行中のサービス"</string>
     <string name="runningservices_settings_summary" msgid="854608995821032748">"現在実行中のサービスを表示して制御する"</string>
     <string name="service_restarting" msgid="2242747937372354306">"再起動中"</string>
-    <string name="no_running_services" msgid="6981216347270280598">"実行中のサービスはありません"</string>
-    <string name="confirm_stop_service" msgid="5700448757318301681">"サービスを停止しますか？"</string>
-    <string name="confirm_stop_service_msg" msgid="1166661293369421272">"このサービスは、再起動するまで実行されません。アプリケーション<xliff:g id="APPLICATION">%1$s</xliff:g>にとって望ましくない結果になることがあります。"</string>
-    <string name="confirm_stop_stop" msgid="7382363913280993331">"停止"</string>
-    <string name="confirm_stop_cancel" msgid="206495326622692381">"キャンセル"</string>
-    <string name="service_started_by_app" msgid="8432097226392386802">"アプリケーションから起動: 停止するにはタップしてください"</string>
-    <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: タップして管理"</string>
-    <string name="service_background_processes" msgid="5158600475629177758">"空き: <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g>（<xliff:g id="COUNT">%1$d</xliff:g>）"</string>
-    <string name="service_foreground_processes" msgid="4013890350284680796">"その他: <xliff:g id="MEMORY">%2$s</xliff:g>（<xliff:g id="COUNT">%1$d</xliff:g>）"</string>
-    <string name="service_process_name" msgid="8630408984456958400">"プロセス: <xliff:g id="PROCESS">%1$s</xliff:g>"</string>
+    <string name="cached" msgid="1059590879740175019">"キャッシュしたバックグラウンドプロセス"</string>
+    <string name="no_running_services" msgid="2059536495597645347">"実行中のサービスはありません"</string>
+    <string name="service_started_by_app" msgid="6575184738671598131">"アプリケーションによって起動されたサービス。"</string>
+    <!-- no translation found for service_client_name (4037193625611815517) -->
+    <skip />
+    <string name="service_background_processes" msgid="6844156253576174488">"<xliff:g id="MEMORY">%1$s</xliff:g>空き"</string>
+    <string name="service_foreground_processes" msgid="7583975676795574276">"<xliff:g id="MEMORY">%1$s</xliff:g>使用中"</string>
+    <string name="memory" msgid="6609961111091483458">"RAM"</string>
+    <!-- no translation found for service_process_name (4098932168654826656) -->
+    <skip />
+    <string name="running_processes_item_description_s_s" msgid="5790575965282023145">"<xliff:g id="NUMPROCESS">%1$d</xliff:g>のプロセスと<xliff:g id="NUMSERVICES">%2$d</xliff:g>のサービス"</string>
+    <string name="running_processes_item_description_s_p" msgid="8019860457123222953">"<xliff:g id="NUMPROCESS">%1$d</xliff:g>のプロセスと<xliff:g id="NUMSERVICES">%2$d</xliff:g>のサービス"</string>
+    <string name="running_processes_item_description_p_s" msgid="744424668287252915">"<xliff:g id="NUMPROCESS">%1$d</xliff:g>のプロセスと<xliff:g id="NUMSERVICES">%2$d</xliff:g>のサービス"</string>
+    <string name="running_processes_item_description_p_p" msgid="1607384595790852782">"<xliff:g id="NUMPROCESS">%1$d</xliff:g>のプロセスと<xliff:g id="NUMSERVICES">%2$d</xliff:g>のサービス"</string>
+    <string name="runningservicedetails_settings_title" msgid="6188692418986988288">"実行中のアプリケーション"</string>
+    <string name="no_services" msgid="7133900764462288263">"アクティブなサービスはありません"</string>
+    <string name="runningservicedetails_services_title" msgid="391168243725357375">"サービス"</string>
+    <string name="runningservicedetails_processes_title" msgid="928115582044655268">"プロセス"</string>
+    <string name="service_stop" msgid="6369807553277527248">"停止"</string>
+    <string name="service_manage" msgid="1876642087421959194">"設定"</string>
+    <string name="service_stop_description" msgid="3261798282116866961">"このサービスはアプリケーションによって起動されました。停止するとアプリケーションに問題が発生するおそれがあります。"</string>
+    <string name="heavy_weight_stop_description" msgid="6855241582643136019">"このアプリケーションを安全に停止できません。停止すると現在の作業が一部失われるおそれがあります。"</string>
+    <string name="background_process_stop_description" msgid="1728354083304746737">"以前のアプリケーションのプロセスです。再度必要になった場合に備えて速度向上のために残されています。通常は停止する必要はありません。"</string>
+    <string name="service_manage_description" msgid="7050092269951613102">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: 現在使用中です。管理するには[設定]をタップしてください。"</string>
+    <string name="main_running_process_description" msgid="929204645380391397">"使用中のメインプロセスです。"</string>
+    <string name="process_service_in_use_description" msgid="8993335064403217080">"サービス<xliff:g id="COMP_NAME">%1$s</xliff:g>は使用中です。"</string>
+    <string name="process_provider_in_use_description" msgid="5586603325677678940">"プロバイダ<xliff:g id="COMP_NAME">%1$s</xliff:g>は使用中です。"</string>
+    <string name="runningservicedetails_stop_dlg_title" msgid="4253292537154337233">"システムサービスを停止しますか？"</string>
+    <string name="runningservicedetails_stop_dlg_text" msgid="6929716497425738387">"このシステムサービスを停止してよろしいですか？停止すると、電源を一旦OFFにして再度ONにするまで、端末の一部の機能が正常に動作しなくなる場合があります。"</string>
     <string name="language_settings" msgid="502219872342167227">"言語とキーボード"</string>
     <string name="language_keyboard_settings_title" msgid="3455826933385341107">"言語とキーボードの設定"</string>
-    <string name="language_settings_summary" msgid="595647729475399987">"言語と地域、文字入力の設定"</string>
-    <string name="language_category" msgid="3391756582724541530">"地域/言語設定"</string>
-    <string name="text_category" msgid="6342540511465136739">"文字入力設定"</string>
+    <string name="language_settings_category" msgid="2288258489940617043">"言語設定"</string>
+    <string name="keyboard_settings_category" msgid="7060453865544070642">"キーボード設定"</string>
     <string name="phone_language" msgid="1165758957501090679">"言語を選択"</string>
     <string name="phone_language_summary" msgid="3871309445655554211"></string>
     <string name="auto_replace" msgid="6199184757891937822">"自動修正"</string>
@@ -770,19 +840,18 @@
     <string name="show_password" msgid="2198798062604049206">"パスワードを表示"</string>
     <string name="show_password_summary" msgid="3806709974395178121">"パスワード入力時に文字を表示する"</string>
     <string name="ime_security_warning" msgid="812267421486877917">"この入力方法を選択すると、入力する全文字列の収集をアプリケーション（<xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>）に許可することになります。これにはパスワードやクレジットカード番号などの個人情報も含まれます。この入力方法を使用しますか？"</string>
-    <string name="user_dict_settings_titlebar" msgid="765659257455000490">"ユーザー辞書"</string>
-    <string name="user_dict_settings_title" msgid="8357027437499042191">"ユーザー辞書"</string>
+    <string name="user_dict_settings_titlebar" msgid="765659257455000490">"単語リスト"</string>
+    <string name="user_dict_settings_title" msgid="8357027437499042191">"単語リスト"</string>
     <string name="user_dict_settings_summary" msgid="7965571192902870454"></string>
     <string name="user_dict_settings_add_menu_title" msgid="4056762757149923551">"追加"</string>
     <string name="user_dict_settings_add_dialog_title" msgid="4702613990174126482">"辞書に追加"</string>
     <string name="user_dict_settings_edit_dialog_title" msgid="8967476444840548674">"語句の編集"</string>
     <string name="user_dict_settings_context_menu_edit_title" msgid="2210564879320004837">"編集"</string>
     <string name="user_dict_settings_context_menu_delete_title" msgid="9140703913776549054">"削除"</string>
-    <string name="user_dict_settings_empty_text" msgid="6209268025109242806">"ユーザー辞書に登録がありません。MENUから単語を登録してください。"</string>
+    <string name="user_dict_settings_empty_text" msgid="6209268025109242806">"単語リストに登録がありません。MENUから単語を登録してください。"</string>
     <string name="testing" msgid="6584352735303604146">"テスト中"</string>
     <string name="testing_phone_info" msgid="8656693364332840056">"携帯電話情報"</string>
     <string name="testing_battery_info" msgid="3497865525976497848">"電池情報"</string>
-    <string name="testing_battery_history" msgid="3043329445810695647">"充電池データ"</string>
     <string name="quick_launch_title" msgid="7904609846945905306">"クイック起動"</string>
     <string name="quick_launch_summary" msgid="3453825712466417452">"アプリケーションの起動にショートカットキーを割り当てる"</string>
     <string name="quick_launch_assign_application" msgid="4521368464929956350">"アプリを選択"</string>
@@ -798,8 +867,8 @@
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"テキスト入力オプションを管理"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"<xliff:g id="IME_NAME">%1$s</xliff:g>の設定"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"画面キーボードの設定"</string>
-    <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"端末内蔵キーボード"</string>
-    <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"端末内蔵キーボードの設定"</string>
+    <string name="builtin_keyboard_settings_title" msgid="5274990495405941804">"端末内蔵キーボード"</string>
+    <string name="builtin_keyboard_settings_summary" msgid="7990296351888096836">"端末内蔵物理キーボードの設定"</string>
     <string name="development_settings_title" msgid="6719732334835420989">"開発"</string>
     <string name="development_settings_summary" msgid="2151320488701538355">"アプリケーション開発オプション"</string>
     <string name="enable_adb" msgid="7982306934419797485">"USBデバッグ"</string>
@@ -812,36 +881,10 @@
     <string name="adb_warning_message" msgid="5352555112049663033">"USBデバッグは開発専用に設計されています。コンピュータと端末の間でデータをコピーする場合、アプリケーションを通知なしで端末にインストールする場合、ログ データを読み取る場合に使用できます。"</string>
     <string name="gadget_picker_title" msgid="98374951396755811">"ガジェットを選択"</string>
     <string name="widget_picker_title" msgid="9130684134213467557">"ウィジェットを選択"</string>
-    <string name="battery_history_details_for" msgid="5924639922153109669">"UID <xliff:g id="NUMBER">%d</xliff:g>の詳細"</string>
-    <string name="battery_history_uid" msgid="1016606150528436298">"UID <xliff:g id="USER_ID">%1$d</xliff:g>"</string>
-    <string name="battery_history_network_usage" msgid="8010852371665217020">"<xliff:g id="APP_NAME">%1$s</xliff:g>のネットワーク使用詳細:"</string>
-    <string name="battery_history_bytes_received" msgid="980307569180518302">"受信バイト数:<xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_sent" msgid="2501748768602119159">"送信済みバイト数:<xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_total" msgid="4444807574361642753">"合計バイト数:<xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_cpu_usage" msgid="2597353713014790877">"<xliff:g id="APP_NAME">%1$s</xliff:g>のCPU使用詳細:"</string>
-    <string name="battery_history_user_time" msgid="6227507614894791359">"ユーザー利用時間:"</string>
-    <string name="battery_history_system_time" msgid="2015862072724507547">"システム利用時間:"</string>
-    <string name="battery_history_total_time" msgid="3618703970098556104">"合計時間:"</string>
-    <string name="battery_history_starts" msgid="9137453931978571696">"起動: <xliff:g id="STARTS">%1$d</xliff:g>"</string>
     <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g>日<xliff:g id="HOURS">%2$d</xliff:g>時間<xliff:g id="MINUTES">%3$d</xliff:g>分<xliff:g id="SECONDS">%4$d</xliff:g>秒"</string>
     <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g>時間<xliff:g id="MINUTES">%2$d</xliff:g>分<xliff:g id="SECONDS">%3$d</xliff:g>秒"</string>
     <string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g>分<xliff:g id="SECONDS">%2$d</xliff:g>秒"</string>
     <string name="battery_history_seconds" msgid="4283492130945761685">"<xliff:g id="SECONDS">%1$d</xliff:g>秒"</string>
-    <string name="battery_history_packages_sharing_this_uid" msgid="4101596071379250050">"このUIDを共有するパッケージ:"</string>
-    <string name="battery_history_no_data" msgid="1177238743237067617">"充電池使用データなし"</string>
-    <string name="battery_history_sensor" msgid="2333488996028993982">"センサー:"</string>
-    <string name="battery_history_wakelock" msgid="608683447522396293">"部分起動ロック:"</string>
-    <string name="battery_history_used_by_packages" msgid="3000711380023436470">"パッケージで使用されるセンサー:"</string>
-    <string name="battery_history_sensor_usage" msgid="3593133338613209024">"<xliff:g id="PACKAGE">%2$s</xliff:g>により<xliff:g id="COUNT">%1$d</xliff:g>回使用"</string>
-    <string name="battery_history_sensor_usage_multi" msgid="4536084375991014508">"次のいずれかにより<xliff:g id="COUNT">%1$d</xliff:g>回使用:"</string>
-    <string name="battery_history_awake_label" msgid="8449792868990080882">"実行中"</string>
-    <string name="battery_history_screen_on_label" msgid="1848936521786339362">"画面点灯"</string>
-    <string name="battery_history_phone_on_label" msgid="700191958853142297">"電源ON"</string>
-    <string name="battery_history_awake" msgid="4350886665719031057">"実動時間(スリープ除く):"</string>
-    <string name="battery_history_screen_on" msgid="1377240025275657277">"画面バックライトの点灯時間:"</string>
-    <string name="battery_history_phone_on" msgid="4891504401623839532">"端末電源入の時間:"</string>
-    <string name="battery_history_screen_on_battery" msgid="536058210445081888">"充電池使用:"</string>
-    <string name="battery_history_screen_on_plugged" msgid="5019127390021871260">"電源接続:"</string>
     <string name="usage_stats_label" msgid="5890846333487083609">"使用統計情報"</string>
     <string name="testing_usage_stats" msgid="7823048598893937339">"使用統計情報"</string>
     <string name="display_order_text" msgid="8592776965827565271">"並べ替え:"</string>
@@ -865,12 +908,19 @@
     <string name="power_usage_summary" msgid="7237084831082848168">"電池を使用している操作"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"電池使用時間"</string>
     <string name="battery_since_reset" msgid="7464546661121187045">"リセット後の電池使用量"</string>
+    <string name="battery_stats_on_battery" msgid="4970762168505236033">"電池使用時間: <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="battery_stats_duration" msgid="7464501326709469282">"電池使用時間: <xliff:g id="TIME">%1$s</xliff:g>"</string>
+    <string name="battery_stats_charging_label" msgid="4223311142875178785">"充電中"</string>
+    <string name="battery_stats_screen_on_label" msgid="7150221809877509708">"画面点灯"</string>
+    <string name="battery_stats_gps_on_label" msgid="1193657533641951256">"GPSがON"</string>
+    <string name="battery_stats_wifi_running_label" msgid="3093545080361658269">"Wi-Fi"</string>
+    <string name="battery_stats_wake_lock_label" msgid="1908942681902324095">"スリープなし"</string>
+    <string name="battery_stats_phone_signal_label" msgid="6822042940376636775">"電波状態"</string>
     <!-- no translation found for battery_stats_last_duration (1535831453827905957) -->
     <skip />
     <string name="awake" msgid="387122265874485088">"端末使用時間"</string>
-    <string name="wifi_on_time" msgid="4630925382578609056">"WiFiをONにしている時間"</string>
-    <string name="bluetooth_on_time" msgid="4478515071957280711">"BluetoothをONにしている時間"</string>
+    <string name="wifi_on_time" msgid="6310209835617490616">"Wi-FiをONにしている時間"</string>
+    <string name="bluetooth_on_time" msgid="6157799524996162271">"Wi-FiをONにしている時間"</string>
     <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g> -  <xliff:g id="NUMBER">%2$s</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
     <string name="details_title" msgid="7564809986329021063">"電池使用量の詳細"</string>
     <string name="details_subtitle" msgid="32593908269911734">"詳細を使用"</string>
@@ -884,7 +934,9 @@
     <string name="power_idle" msgid="9055659695602194990">"アイドル状態"</string>
     <string name="usage_type_cpu" msgid="715162150698338714">"CPU合計"</string>
     <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"CPUフォアグラウンド"</string>
+    <string name="usage_type_wake_lock" msgid="5125438890233677880">"スリープモードにしない"</string>
     <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string>
+    <string name="usage_type_wifi_running" msgid="8234997940652067049">"Wi-Fi使用"</string>
     <string name="usage_type_phone" msgid="9108247984998041853">"電話"</string>
     <string name="usage_type_data_send" msgid="2857401966985425427">"送信されたデータ"</string>
     <string name="usage_type_data_recv" msgid="7251090882025234185">"受信したデータ"</string>
@@ -896,7 +948,7 @@
     <string name="battery_action_app_details" msgid="3275013531871113681">"アプリケーション情報"</string>
     <string name="battery_action_app_settings" msgid="350562653472577250">"アプリケーションの設定"</string>
     <string name="battery_action_display" msgid="5302763261448580102">"画面設定"</string>
-    <string name="battery_action_wifi" msgid="5452076674659927993">"WiFiの設定"</string>
+    <string name="battery_action_wifi" msgid="2272741639606146903">"Wi-Fi設定"</string>
     <string name="battery_action_bluetooth" msgid="8374789049507723142">"Bluetoothの設定"</string>
     <string name="battery_desc_voice" msgid="8980322055722959211">"通話の電池使用量"</string>
     <string name="battery_desc_standby" msgid="3009080001948091424">"アイドル時の電池使用量"</string>
@@ -909,9 +961,9 @@
     <string name="battery_desc_bluetooth" msgid="7535520658674621902">"Bluetoothの電池使用量"</string>
     <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"未使用時はBluetoothをOFFにします"</string>
     <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"別のBluetooth端末に接続してみてください"</string>
-    <string name="battery_desc_apps" msgid="8123202939321333639">"アプリケーションの実行時の電池使用量"</string>
+    <string name="battery_desc_apps" msgid="6665712811746233450">"アプリケーションの電池使用量"</string>
     <string name="battery_sugg_apps_info" msgid="6065882899391322442">"アプリケーションを停止またはアンインストールします"</string>
-    <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"未使用時はGPSをOFFにします"</string>
+    <string name="battery_sugg_apps_gps" msgid="4545056413090932541">"GPSをアプリケーションが使用しないように手動で管理する"</string>
     <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"アプリケーション側の設定で電池使用量を抑えられる場合があります"</string>
     <string name="menu_stats_unplugged" msgid="8296577130840261624">"電池使用時間: <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"電池使用時間: <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
@@ -961,6 +1013,8 @@
     <string name="pico_not_installed" msgid="6266845418419994311">"未インストール"</string>
     <string name="pico_voice_summary_female" msgid="8047327176247727492">"女性"</string>
     <string name="pico_voice_summary_male" msgid="8331266854058577610">"男性"</string>
+    <string name="tts_notif_engine_install_title" msgid="7000346872482649034">"音声合成エンジンインストール完了"</string>
+    <string name="tts_notif_engine_install_message" msgid="5304661142202662693">"使用前に新エンジンをONにします"</string>
     <string name="gadget_title" msgid="7455548605888590466">"電源管理"</string>
     <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Wi-Fi設定の更新"</string>
     <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Bluetooth設定の更新"</string>
@@ -1047,8 +1101,10 @@
     <string name="credentials_access_summary" msgid="319662078718574168">"安全な証明書と他の認証情報へのアクセスをアプリケーションに許可する"</string>
     <string name="credentials_unlock" msgid="1463040326264133844">"パスワードを入力する"</string>
     <string name="credentials_unlock_hint" msgid="594679530407918031">"認証情報ストレージパスワードを入力します。"</string>
-    <string name="credentials_install_certificates" msgid="177337517568022236">"SDカードからインストール"</string>
-    <string name="credentials_install_certificates_summary" msgid="7737001268684193093">"暗号化された証明書をSDカードからインストールする"</string>
+    <string name="credentials_install_certificates" product="nosdcard" msgid="619171634797689906">"USBストレージからのインストール"</string>
+    <string name="credentials_install_certificates" product="default" msgid="177337517568022236">"SDカードからインストール"</string>
+    <string name="credentials_install_certificates_summary" product="nosdcard" msgid="8920330112631198575">"USBストレージから暗号化された証明書をインストール"</string>
+    <string name="credentials_install_certificates_summary" product="default" msgid="7737001268684193093">"暗号化された証明書をSDカードからインストールする"</string>
     <string name="credentials_set_password" msgid="9104473585811899989">"パスワードの設定"</string>
     <string name="credentials_set_password_summary" msgid="8287876917562085701">"認証情報ストレージパスワードを設定または変更する"</string>
     <string name="credentials_reset" msgid="9170150870552453457">"ストレージの消去"</string>
@@ -1068,6 +1124,16 @@
     <string name="credentials_erased" msgid="7700309135582200849">"認証情報ストレージが消去されました。"</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"認証情報ストレージが有効になりました。"</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"認証情報ストレージが無効になりました。"</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"暗号化ファイルシステム"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"個人データの暗号化"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"この携帯電話の個人データを格納するために暗号化ファイルシステムを有効にする"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"暗号化ファイルシステムを有効にするには、携帯電話データの消去が必要です。"</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"暗号化ファイルシステムを無効にするには、携帯電話データの消去が必要です。"</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"有効にする"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"無効にする"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"キャンセル"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"暗号化ファイルシステムのモードの変更がキャンセルされました。"</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"暗号化ファイルシステムの警告。"</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"緊急時の音"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"緊急通報時の動作を設定します"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"プライバシー"</string>
@@ -1075,11 +1141,11 @@
     <string name="backup_section_title" msgid="8856083167469467588">"バックアップと復元"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"個人データ"</string>
     <string name="backup_data_title" msgid="1239105919852668016">"データのバックアップ"</string>
-    <string name="backup_data_summary" msgid="5662190190240860035">"設定やその他のアプリケーションデータをバックアップします。"</string>
+    <string name="backup_data_summary" msgid="6515285107793232815">"アプリケーションデータ、Wi-Fiパスワード、その他の設定をGoogleサーバーにバックアップします。"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"自動復元"</string>
-    <string name="auto_restore_summary" msgid="6867766474057290177">"バックアップ済みの設定やその他のデータをアプリケーションの再インストール時に復元します。"</string>
+    <string name="auto_restore_summary" msgid="83177150536734378">"バックアップ済みの設定やその他のデータをアプリケーションの再インストール時に復元します"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"バックアップ"</string>
-    <string name="backup_erase_dialog_message" msgid="2948090854996352245">"設定とアプリケーションデータのバックアップを停止し、Googleサーバー上のすべてのコピーを消去してもよろしいですか？"</string>
+    <string name="backup_erase_dialog_message" msgid="7766283133557587608">"Wi-Fiパスワード、ブックマーク、その他の設定とアプリケーションデータのバックアップを停止し、Googleサーバー上のすべてのコピーを消去してよろしいですか？"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"デバイス管理の設定"</string>
     <string name="active_device_admin_msg" msgid="6930903262612422111">"デバイス管理者"</string>
     <string name="remove_device_admin" msgid="3596845261596451437">"無効にする"</string>
diff --git a/res/values-ko/arrays.xml b/res/values-ko/arrays.xml
index 5d6e854..494a946 100644
--- a/res/values-ko/arrays.xml
+++ b/res/values-ko/arrays.xml
@@ -115,19 +115,6 @@
     <item msgid="1549288661423279207">"전원에 연결되었을 때는 절전 모드로 전환되지 않음"</item>
     <item msgid="1986753720941888596">"절전 모드로 전환 안함"</item>
   </string-array>
-  <string-array name="battery_history_type_spinner">
-    <item msgid="2193799199027871385">"CPU 사용량"</item>
-    <item msgid="6401018715947316517">"네트워크 사용량"</item>
-    <item msgid="188092590354892392">"GPS 사용량"</item>
-    <item msgid="8414109131222049141">"센서 사용량"</item>
-    <item msgid="1327904325081257093">"부분 가동 사용량"</item>
-    <item msgid="4832254146664706277">"기타 사용량"</item>
-  </string-array>
-  <string-array name="battery_history_which_spinner">
-    <item msgid="3451981114763440074">"마지막으로 플러그를 뽑은 이후"</item>
-    <item msgid="166936313535197598">"부팅 후 총 사용 시간"</item>
-    <item msgid="4793941382744963893">"총 사용 시간"</item>
-  </string-array>
   <string-array name="usage_stats_display_order_types">
     <item msgid="9077371706468756228">"사용 시간"</item>
     <item msgid="1908750532762193304">"계수 시작"</item>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 59bf85d..d88f497 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -45,13 +45,16 @@
     <string name="radioInfo_display_asu" msgid="1422248392727818082">"asu"</string>
     <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string>
     <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string>
-    <string name="sdcard_unmount" msgid="3364184561355611897">"SD 카드 마운트 해제"</string>
-    <string name="sdcard_format" msgid="362497552060004057">"SD 카드 포맷"</string>
+    <string name="sdcard_unmount" product="nosdcard" msgid="6325292633327972272">"USB 저장소 마운트 해제"</string>
+    <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD 카드 마운트 해제"</string>
+    <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB 저장소 지우기"</string>
+    <string name="sdcard_format" product="default" msgid="6713185532039187532">"SD 카드 지우기"</string>
     <string name="small_font" msgid="2295331917424072635">"작게"</string>
     <string name="medium_font" msgid="2068475425515133701">"보통"</string>
     <string name="large_font" msgid="599055175160971446">"크게"</string>
     <string name="font_size_save" msgid="3450855718056759095">"확인"</string>
-    <string name="sdcard_setting" msgid="5922637503871474866">"SD 카드"</string>
+    <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB 저장소"</string>
+    <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD 카드"</string>
     <string name="battery_info_status_label" msgid="8109155295509700309">"배터리 상태:"</string>
     <string name="battery_info_power_label" msgid="7465140230991349382">"전원 플러그:"</string>
     <string name="battery_info_scale_label" msgid="3649763192389778437">"배터리 충전 상태:"</string>
@@ -179,28 +182,35 @@
     <string name="band_mode_succeeded" msgid="2701016190055887575">"성공"</string>
     <string name="sdcard_changes_instructions" msgid="1364712901180556244">"변경사항을 적용하려면 USB 케이블을 다시 연결해야 합니다."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"USB 대용량 저장소 사용"</string>
-    <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"총 바이트 수: "</string>
-    <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"SD 카드 없음"</string>
+    <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"총 바이트 수:"</string>
+    <string name="sdcard_settings_not_present_status" product="nosdcard" msgid="2902787003418172125">"USB 저장소가 마운트되지 않았습니다."</string>
+    <string name="sdcard_settings_not_present_status" product="default" msgid="6666688653496819947">"SD 카드 없음"</string>
     <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"사용 가능한 바이트:"</string>
-    <string name="sdcard_settings_mass_storage_status" msgid="4786433969313661655">"SD 카드를 대용량 저장장치로 사용 중"</string>
-    <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"이제 SD 카드를 안전하게 제거할 수 있습니다."</string>
-    <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"SD 카드를 사용하는 중에 분리되었습니다."</string>
+    <string name="sdcard_settings_mass_storage_status" product="nosdcard" msgid="2736378870889777857">"USB 저장소를 대용량 저장장치로 사용 중"</string>
+    <string name="sdcard_settings_mass_storage_status" product="default" msgid="4786433969313661655">"SD 카드를 대용량 저장장치로 사용 중"</string>
+    <string name="sdcard_settings_unmounted_status" product="nosdcard" msgid="7503300818792750913">"이제 USB 저장소를 안전하게 제거할 수 있습니다."</string>
+    <string name="sdcard_settings_unmounted_status" product="default" msgid="3812022095683863087">"이제 SD 카드를 안전하게 제거할 수 있습니다."</string>
+    <string name="sdcard_settings_bad_removal_status" product="nosdcard" msgid="7761390725880773697">"USB 저장소가 사용 중에 분리되었습니다."</string>
+    <string name="sdcard_settings_bad_removal_status" product="default" msgid="5145797653495907970">"SD 카드를 사용하는 중에 분리되었습니다."</string>
     <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"사용 바이트 수:"</string>
-    <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"SD 카드에서 미디어 검색 중..."</string>
-    <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"SD 카드가 읽기전용으로 마운트됨"</string>
+    <string name="sdcard_settings_scanning_status" product="nosdcard" msgid="7503429447676219564">"USB 저장소에서 미디어 검색 중…"</string>
+    <string name="sdcard_settings_scanning_status" product="default" msgid="2763464949274455656">"SD 카드에서 미디어 검색 중..."</string>
+    <string name="sdcard_settings_read_only_status" product="nosdcard" msgid="3771783090621312312">"USB 저장소가 읽기전용으로 마운트됨"</string>
+    <string name="sdcard_settings_read_only_status" product="default" msgid="5706115860484118911">"SD 카드가 읽기전용으로 마운트됨"</string>
     <string name="next_label" msgid="4693520878012668114">"다음"</string>
     <string name="language_picker_title" msgid="4034157617842965844">"언어"</string>
     <string name="select_your_language" msgid="1146235168951906084">"언어 선택"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"활동 선택"</string>
     <string name="device_info_label" msgid="6551553813651711205">"장치정보"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"배터리 정보"</string>
-    <string name="battery_history_label" msgid="8242244969757414501">"배터리 기록"</string>
     <string name="display_label" msgid="7403874003169865762">"디스플레이"</string>
     <string name="phone_info_label" msgid="2127552523124277664">"휴대전화 정보"</string>
-    <string name="sd_card_settings_label" msgid="5743100901106177102">"SD 카드"</string>
+    <string name="sd_card_settings_label" product="nosdcard" msgid="8101475181301178428">"USB 저장소"</string>
+    <string name="sd_card_settings_label" product="default" msgid="5743100901106177102">"SD 카드"</string>
     <string name="proxy_settings_label" msgid="3271174136184391743">"프록시 설정"</string>
     <string name="cancel" msgid="6859253417269739139">"취소"</string>
     <string name="settings_label" msgid="1626402585530130914">"설정"</string>
+    <string name="settings_label_launcher" msgid="8344735489639482340">"설정"</string>
     <string name="settings_shortcut" msgid="3672145147925639262">"설정"</string>
     <string name="airplane_mode" msgid="8837269988154128601">"비행기 모드"</string>
     <string name="airplane_mode_summary" msgid="3154817401368780988">"모든 무선 연결 사용 안함"</string>
@@ -323,6 +333,11 @@
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"스피커폰으로 사용"</string>
     <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"음악 및 미디어"</string>
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"설정 기억"</string>
+    <string name="nfc_quick_toggle_title" msgid="6769159366307299004">"NFC"</string>
+    <string name="nfc_quick_toggle_summary" msgid="1988408027741447231">"NFC(Near Field Communication)를 사용하여 태그를 읽고 교환합니다."</string>
+    <!-- no translation found for nfc_toggle_error (2233172102497535522) -->
+    <!-- no translation found for nfc_toggle_error (8998642457947607263) -->
+    <skip />
     <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Wi-Fi 켜기"</string>
     <string name="wifi_settings" msgid="4746946030627213196">"Wi-Fi 설정"</string>
@@ -376,6 +391,7 @@
     <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Wi-Fi에서 모바일 데이터로 전환될 때 표시"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"절전 정책을 설정하는 동안 문제가 발행했습니다."</string>
     <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MAC 주소"</string>
+    <string name="wifi_advanced_ip_address_title" msgid="6215297094363164846">"IP 주소"</string>
     <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP 설정"</string>
     <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"저장"</string>
     <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"취소"</string>
@@ -496,9 +512,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"상태"</string>
     <string name="device_status" msgid="607405385799807324">"상태"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"전화번호, 신호 등"</string>
-    <string name="storage_settings" msgid="6681164315506788024">"저장공간"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"SD 카드 및 휴대전화 저장공간 설정"</string>
-    <string name="storage_settings_summary" msgid="9176693537325988610">"SD 카드 마운트 해제, 사용 가능한 저장공간 보기"</string>
+    <string name="storage_settings" msgid="4211799979832404953">"저장소"</string>
+    <string name="storage_settings_title" msgid="8746016738388094064">"저장소 설정"</string>
+    <string name="storage_settings_summary" product="nosdcard" msgid="3543813623294870759">"USB 저장소를 마운트 해제하고 사용 가능한 저장공간을 봅니다."</string>
+    <string name="storage_settings_summary" product="default" msgid="9176693537325988610">"SD 카드 마운트 해제, 사용 가능한 저장공간 보기"</string>
     <string name="status_number" msgid="5123197324870153205">"내 휴대전화 번호"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
     <string name="status_prl_version" msgid="8499039751817386529">"PRL 버전"</string>
@@ -514,24 +531,36 @@
     <string name="status_unavailable" msgid="7862009036663793314">"사용할 수 없음"</string>
     <string name="status_up_time" msgid="7294859476816760399">"가동 시간"</string>
     <string name="status_awake_time" msgid="2393949909051183652">"무중단 가동 시간"</string>
-    <string name="internal_memory" msgid="1130932766236387454">"휴대전화 내부 저장공간"</string>
-    <string name="sd_memory" msgid="151871913888051515">"SD 카드"</string>
+    <string name="internal_memory" msgid="9129595691484260784">"내부 저장소"</string>
+    <string name="sd_memory" product="nosdcard" msgid="2510246194083052841">"USB 저장소"</string>
+    <string name="sd_memory" product="default" msgid="151871913888051515">"SD 카드"</string>
     <string name="memory_available" msgid="418542433817289474">"사용 가능한 저장공간"</string>
     <string name="memory_size" msgid="6629067715017232195">"총 공간"</string>
-    <string name="sd_eject" msgid="6915293408836853020">"SD 카드 마운트 해제"</string>
-    <string name="sd_eject_summary" msgid="3315557796211542962">"안전 제거를 위해 SD 카드 마운트 해제"</string>
-    <string name="sd_insert_summary" msgid="2048640010381803841">"마운트할 SD 카드 삽입"</string>
-    <string name="sd_mount" msgid="5940523765187704135">"SD 카드 마운트"</string>
-    <string name="sd_mount_summary" msgid="4936591681679097699">"SD 카드 마운트"</string>
-    <string name="sd_format" msgid="5448738337382712203">"SD 카드 포맷"</string>
-    <string name="sd_format_summary" msgid="6616491027883134004">"SD 카드 포맷(지우기)"</string>
+    <string name="sd_eject" product="default" msgid="6915293408836853020">"SD 카드 마운트 해제"</string>
+    <string name="sd_eject_summary" product="nosdcard" msgid="5009296896648072891">"내부 USB 저장소 마운트 해제"</string>
+    <string name="sd_eject_summary" product="default" msgid="3300599435073550246">"SD 카드를 마운트 해제하여 안전하게 제거"</string>
+    <string name="sd_insert_summary" product="nosdcard" msgid="5264016886409577313">"마운트할 USB 저장소 삽입"</string>
+    <string name="sd_insert_summary" product="default" msgid="2048640010381803841">"마운트할 SD 카드 삽입"</string>
+    <string name="sd_mount" product="nosdcard" msgid="8966695015677343116">"USB 저장소 마운트"</string>
+    <string name="sd_mount" product="default" msgid="5940523765187704135">"SD 카드 마운트"</string>
+    <!-- outdated translation 6733254203291665551 -->     <string name="sd_mount_summary" product="nosdcard" msgid="1794150364965145726">"내부 USB 저장소 마운트"</string>
+    <string name="sd_mount_summary" product="default" msgid="4936591681679097699">"SD 카드 마운트"</string>
+    <string name="sd_format" product="nosdcard" msgid="2148179271623099054">"USB 저장소 지우기"</string>
+    <string name="sd_format" product="default" msgid="2576054280507119870">"SD 카드 지우기"</string>
+    <string name="sd_format_summary" product="nosdcard" msgid="1504606546865152514">"휴대전화의 내부 USB 저장소에 있는 모든 데이터(예: 음악 및 사진)를 지웁니다."</string>
+    <string name="sd_format_summary" product="default" msgid="915849621390821841">"휴대전화의 SD 카드에 있는 모든 데이터(예: 음악 및 사진) 지우기"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"사용할 수 없음"</string>
     <string name="read_only" msgid="6702420168629076340">" (읽기전용)"</string>
-    <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"SD 카드 마운트 해제"</string>
-    <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"SD 카드를 마운트 해제하면 사용 중인 일부 애플리케이션이 중지되고 SD 카드를 다시 마운트할 때까지 사용할 수 없게 됩니다."</string>
-    <string name="dlg_error_unmount_title" msgid="4004106918266783081">"SD 카드 마운트 해제 실패\n"</string>
-    <string name="dlg_error_unmount_text" msgid="9188972789897713180">"SD 카드를 마운트 해제할 수 없습니다. 나중에 다시 시도하세요."</string>
-    <string name="unmount_inform_text" msgid="3213378327712151498">"SD 카드가 마운트 해제됩니다. 알림 영역에서 상태를 확인하세요."</string>
+    <string name="dlg_confirm_unmount_title" product="nosdcard" msgid="2349876662428231297">"USB 저장소 마운트 해제"</string>
+    <string name="dlg_confirm_unmount_title" product="default" msgid="8612140627310646730">"SD 카드 마운트 해제"</string>
+    <string name="dlg_confirm_unmount_text" product="nosdcard" msgid="3390169455621185223">"USB 저장소를 마운트 해제하면 사용 중인 일부 애플리케이션이 중지되고 USB 저장소를 다시 마운트할 때까지 사용할 수 없게 됩니다."</string>
+    <string name="dlg_confirm_unmount_text" product="default" msgid="5851214273718817727">"SD 카드를 마운트 해제하면 사용 중인 일부 애플리케이션이 중지되고 SD 카드를 다시 마운트할 때까지 사용할 수 없게 됩니다."</string>
+    <string name="dlg_error_unmount_title" product="nosdcard" msgid="7695491947411836733">"USB 저장소 마운트 해제 실패"</string>
+    <string name="dlg_error_unmount_title" product="default" msgid="4004106918266783081">"SD 카드 마운트 해제 실패"</string>
+    <string name="dlg_error_unmount_text" product="nosdcard" msgid="1450864147013376592">"USB 저장소를 마운트 해제할 수 없습니다. 다시 시도하세요."</string>
+    <string name="dlg_error_unmount_text" product="default" msgid="9188972789897713180">"SD 카드를 마운트 해제할 수 없습니다. 나중에 다시 시도하세요."</string>
+    <string name="unmount_inform_text" product="nosdcard" msgid="7120241136790744265">"USB 저장소를 마운트 해제합니다."</string>
+    <string name="unmount_inform_text" product="default" msgid="1904212716075458402">"SD 카드가 마운트 해제됩니다."</string>
     <string name="sd_ejecting_title" msgid="8824572198034365468">"마운트 해제 중"</string>
     <string name="sd_ejecting_summary" msgid="2028753069184908491">"마운트 해제 중"</string>
     <string name="battery_status_title" msgid="9159414319574976203">"배터리 상태"</string>
@@ -571,21 +600,32 @@
     <string name="restore_default_apn_completed" msgid="3990449939234957281">"기본 APN 설정을 재설정했습니다."</string>
     <string name="master_clear_title" msgid="5907939616087039756">"기본값 데이터 재설정"</string>
     <string name="master_clear_summary" msgid="4986154238001088492">"휴대전화의 모든 데이터 지우기"</string>
-    <string name="master_clear_desc" msgid="7823268823499739178">"휴대전화에서 다음 모든 데이터가 지워집니다."\n<li>"Google 계정"</li>\n<li>"시스템과 애플리케이션 데이터 및 설정"</li>\n<li>"다운로드한 애플리케이션"</li>\n"삭제되지 않는 항목은 다음과 같습니다. "\n<li>"현재 시스템 소프트웨어 및 번들 애플리케이션"</li>\n<li>"음악 또는 사진 등의 SD 카드 파일"</li></string>
+    <string name="master_clear_desc" product="nosdcard" msgid="2163013814299528247">"휴대전화의 "<b>"내부 저장소"</b>"에서 "\n\n<li>"Google 계정"</li>\n<li>"시스템과 애플리케이션의 데이터 및 설정"</li>\n<li>"다운로드한 애플리케이션"</li>\n\n" 등을 비롯한 모든 데이터가 지워집니다. 휴대전화의 모든 데이터를 지우려면 "<b>"USB 저장소"</b>"를 지워야 합니다."\n\n</string>
+    <string name="master_clear_desc" product="default" msgid="1741944496458365969">"휴대전화의 "<b>"내부 저장소"</b>"에서 "\n\n<li>"Google 계정"</li>\n<li>"시스템과 애플리케이션의 데이터 및 설정"</li>\n<li>"다운로드한 애플리케이션"</li>\n\n" 등을 비롯한 모든 데이터가 지워집니다. 음악, 사진 및 기타 사용자 데이터도 지우려면 "<b>"SD 카드"</b>"를 지워야 합니다."\n\n</string>
+    <string name="erase_external_storage" product="nosdcard" msgid="969364037450286809">"USB 저장소 지우기"</string>
+    <string name="erase_external_storage" product="default" msgid="1397239046334307625">"SD 카드 지우기"</string>
+    <string name="erase_external_storage_description" product="nosdcard" msgid="1657838142707381027">"휴대전화기의 내부 USB 저장소에 있는 모든 데이터(예: 음악 또는 사진)를 지웁니다."</string>
+    <string name="erase_external_storage_description" product="default" msgid="8100175974635894073">"휴대전화의 SD 카드에 있는 모든 데이터(예: 음악 및 사진)를 지웁니다."</string>
     <string name="master_clear_button_text" msgid="7550632653343157971">"휴대전화 재설정"</string>
     <string name="master_clear_final_desc" msgid="6917971132484622696">"모든 개인 정보와 다운로드한 애플리케이션을 삭제하시겠습니까? 수행한 작업은 취소할 수 없습니다."</string>
     <string name="master_clear_final_button_text" msgid="5390908019019242910">"모두 지우기"</string>
     <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"잠금해제 패턴을 그리세요."</string>
     <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"휴대전화 재설정을 확인하려면 잠금해제 패턴을 그려야 합니다."</string>
     <string name="master_clear_failed" msgid="8655202125010189406">"시스템 지우기 서비스를 사용할 수 없어 재설정을 수행하지 못했습니다."</string>
-    <string name="media_format_title" msgid="4671276096695789895">"SD 카드 포맷."</string>
-    <string name="media_format_summary" msgid="3805714639375830120">"SD 카드의 모든 데이터 지우기"</string>
-    <string name="media_format_desc" msgid="1142563222357820834">"이 작업을 수행하면 휴대전화의 SD 카드에 저장된 모든 데이터를 잃게 됩니다."</string>
-    <string name="media_format_button_text" msgid="370856400090190151">"SD 카드 포맷"</string>
-    <string name="media_format_final_desc" msgid="1776666694910717198">"SD 카드를 포맷하여 모든 미디어를 지우시겠습니까? 수행한 작업은 취소할 수 없습니다."</string>
+    <string name="media_format_title" product="nosdcard" msgid="3999653431422767156">"USB 저장소 지우기"</string>
+    <string name="media_format_title" product="default" msgid="4427528440306787972">"SD 카드 지우기"</string>
+    <string name="media_format_summary" product="nosdcard" msgid="776603298628082065">"USB 저장소의 모든 데이터 지우기"</string>
+    <string name="media_format_summary" product="default" msgid="3805714639375830120">"SD 카드의 모든 데이터 지우기"</string>
+    <string name="media_format_desc" product="nosdcard" msgid="4553860683952763905">"이 작업을 수행하면 USB 저장소가 지워집니다. 저장된 "<b>"모든"</b>" 데이터가 삭제되니 주의하세요."</string>
+    <string name="media_format_desc" product="default" msgid="1598627584181935513">"이 작업을 수행하면 SD 카드가 지워집니다. 카드에 저장된 "<b>"모든"</b>" 데이터가 삭제되니 주의하세요."</string>
+    <string name="media_format_button_text" product="nosdcard" msgid="6293669371185352810">"USB 저장소 지우기"</string>
+    <string name="media_format_button_text" product="default" msgid="6721544380069373626">"SD 카드 지우기"</string>
+    <string name="media_format_final_desc" product="nosdcard" msgid="8094635533378487255">"USB 저장소를 지워서 저장된 모든 파일을 삭제하시겠습니까? 수행한 후에는 작업을 취소할 수 없습니다."</string>
+    <string name="media_format_final_desc" product="default" msgid="9015504991522581434">"SD 카드를 지워서 저장된 모든 파일을 삭제하시겠습니까? 수행한 후에는 작업을 취소할 수 없습니다."</string>
     <string name="media_format_final_button_text" msgid="4881713344315923175">"모두 지우기"</string>
     <string name="media_format_gesture_prompt" msgid="3109349468816856670">"잠금해제 패턴을 그리세요."</string>
-    <string name="media_format_gesture_explanation" msgid="4239529439389660159">"SD 카드 포맷을 확인하려면 잠금해제 패턴을 그려야 합니다."</string>
+    <string name="media_format_gesture_explanation" product="nosdcard" msgid="1379736318750958338">"USB 저장소를 지우려면 잠금해제 패턴을 그려야 합니다."</string>
+    <string name="media_format_gesture_explanation" product="default" msgid="1681213416497647321">"SD 카드를 지우려면 잠금해제 패턴을 그려야 합니다."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"통화 설정"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"음성메일, 착신전환, 통화중 대기, 발신자 번호 설정"</string>
     <string name="tether_settings_title_usb" msgid="4315031513434087777">"테더링"</string>
@@ -609,7 +649,7 @@
     <string name="location_networks_disabled" msgid="2708968452901433980">"무선 네트워크를 사용하는 애플리케이션(예: 지도)에서 위치 보기"</string>
     <string name="location_neighborhood_level" msgid="4656658097932515921">"Wi-Fi 및/또는 모바일 네트워크에서 측정된 위치"</string>
     <string name="location_gps" msgid="6296125378829097831">"GPS 위성 사용"</string>
-    <string name="location_street_level" msgid="6460740847018275745">"도로 수준으로 정확하게 탐색(배터리를 절약하려면 선택 취소)"</string>
+    <string name="location_street_level" msgid="7456259025474443314">"도로 수준으로 정확하게 탐색"</string>
     <string name="location_gps_disabled" msgid="6632537158777308128">"도로 수준으로 탐색(항공사진이 더해져 배터리 추가로 필요)"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"GPS 도우미 사용"</string>
     <string name="assisted_gps_enabled" msgid="8751899609589792803">"서버를 사용하여 GPS 보조(네트워크 사용량을 줄이려면 선택 취소)"</string>
@@ -692,22 +732,31 @@
     <string name="application_size_label" msgid="5055196275624686382">"애플리케이션"</string>
     <string name="data_size_label" msgid="8679376373625710107">"데이터"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"제거"</string>
+    <string name="disable_text" msgid="6544054052049395202">"사용 안함"</string>
+    <string name="enable_text" msgid="9217362512327828987">"사용"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"데이터 지우기"</string>
     <string name="app_factory_reset" msgid="6635744722502563022">"업데이트 제거"</string>
     <string name="auto_launch_enable_text" msgid="2630656657744196691">"이 애플리케이션을 해당 작업에 대한 기본 프로그램으로 실행하도록 선택했습니다."</string>
     <string name="auto_launch_disable_text" msgid="7800385822185540166">"기본값이 설정되지 않았습니다."</string>
     <string name="clear_activities" msgid="7408923511535174430">"기본 작업 지우기"</string>
     <string name="unknown" msgid="1592123443519355854">"알 수 없음"</string>
-    <string name="sort_order_alpha" msgid="8622029358896599842">"정렬"</string>
+    <string name="sort_order_alpha" msgid="1410278099123670628">"이름별 정렬"</string>
     <string name="sort_order_size" msgid="7024513286636502362">"크기별 정렬"</string>
+    <string name="show_running_services" msgid="5736278767975544570">"실행 중인 서비스 표시"</string>
+    <string name="show_background_processes" msgid="2009840211972293429">"캐시된 프로세스 표시"</string>
     <string name="manage_space_text" msgid="8852711522447794676">"공간 관리"</string>
     <string name="filter" msgid="2018011724373033887">"필터"</string>
     <string name="filter_dlg_title" msgid="6507663329723966854">"필터 옵션 선택"</string>
     <string name="filter_apps_all" msgid="5142129378749391876">"모두"</string>
     <string name="filter_apps_third_party" msgid="7786348047690140979">"다운로드됨"</string>
     <string name="filter_apps_running" msgid="7767071454371350486">"실행 중"</string>
-    <string name="filter_apps_onsdcard" msgid="1477351142334784771">"SD 카드"</string>
-    <string name="loading" msgid="3200408047793887917">"로드 중..."</string>
+    <string name="filter_apps_onsdcard" product="nosdcard" msgid="4843063154701023349">"USB 저장소"</string>
+    <string name="filter_apps_onsdcard" product="default" msgid="1477351142334784771">"SD 카드"</string>
+    <string name="disabled" msgid="9206776641295849915">"사용 안함"</string>
+    <string name="no_applications" msgid="5190227407135243904">"애플리케이션이 없습니다."</string>
+    <string name="internal_storage" msgid="1584700623164275282">"내부 저장소"</string>
+    <string name="sd_card_storage" product="nosdcard" msgid="2673203150465132465">"USB 저장소"</string>
+    <string name="sd_card_storage" product="default" msgid="7623513618171928235">"SD 카드 저장소"</string>
     <string name="recompute_size" msgid="7722567982831691718">"크기 다시 계산 중..."</string>
     <string name="clear_data_dlg_title" msgid="4470209520936375508">"삭제"</string>
     <string name="clear_data_dlg_text" msgid="8368035073300828451">"애플리케이션의 전체 데이터가 영구적으로 삭제됩니다. 여기에는 모든 파일, 설정, 계정, 데이터베이스 등이 포함됩니다."</string>
@@ -727,37 +776,58 @@
     <string name="version_text" msgid="9189073826278676425">"버전 <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5042838441401731346">"이동"</string>
     <string name="move_app_to_internal" msgid="3895430471913858185">"휴대전화로 이동"</string>
-    <string name="move_app_to_sdcard" msgid="1143379049903056407">"SD 카드로 이동"</string>
+    <string name="move_app_to_sdcard" product="nosdcard" msgid="4350451696315265420">"USB 저장소로 이동"</string>
+    <string name="move_app_to_sdcard" product="default" msgid="1143379049903056407">"SD 카드로 이동"</string>
     <string name="moving" msgid="6431016143218876491">"이동하는 중"</string>
     <string name="insufficient_storage" msgid="8566913062094452962">"남은 저장공간이 부족합니다."</string>
     <string name="does_not_exist" msgid="837163572898468245">"애플리케이션이 없습니다."</string>
     <string name="app_forward_locked" msgid="5747805144210389585">"복제 방지된 애플리케이션입니다."</string>
     <string name="invalid_location" msgid="4934491353200240499">"지정된 설치 위치가 잘못되었습니다."</string>
-    <string name="system_package" msgid="1030561474413022831">"외부 미디어에 시스템 업데이트를 설치할 수 없습니다. "</string>
+    <string name="system_package" msgid="1030561474413022831">"외부 미디어에 시스템 업데이트를 설치할 수 없습니다."</string>
     <string name="force_stop_dlg_title" msgid="4289453224368188476">"강제 종료"</string>
-    <string name="force_stop_dlg_text" msgid="3381302041569982075">"애플리케이션은 바로 다시 시작됩니다. 강제로 종료하시겠습니까?"</string>
+    <string name="force_stop_dlg_text" msgid="5157374701213502922">"강제로 애플리케이션을 종료하면 예기치 않은 오류가 발생할 수 있습니다. 계속하시겠습니까?"</string>
     <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"애플리케이션 이동"</string>
     <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"애플리케이션을 이동하지 못했습니다. <xliff:g id="REASON">%1$s</xliff:g>"</string>
     <string name="app_install_location_title" msgid="2068975150026852168">"기본 설치 위치"</string>
     <string name="app_install_location_summary" msgid="879753854530300436">"새 애플리케이션에 대한 기본 설치 위치를 변경합니다."</string>
+    <string name="storageuse_settings_title" msgid="5657014373502630403">"저장공간 사용량"</string>
+    <string name="storageuse_settings_summary" msgid="2556057379120846792">"애플리케이션에서 사용한 저장소 보기"</string>
     <string name="runningservices_settings_title" msgid="8097287939865165213">"실행 중인 서비스"</string>
     <string name="runningservices_settings_summary" msgid="854608995821032748">"현재 실행 중인 서비스 보기 및 제어"</string>
     <string name="service_restarting" msgid="2242747937372354306">"다시 시작하는 중"</string>
-    <string name="no_running_services" msgid="6981216347270280598">"실행 중인 서비스 없음"</string>
-    <string name="confirm_stop_service" msgid="5700448757318301681">"서비스를 중지할까요?"</string>
-    <string name="confirm_stop_service_msg" msgid="1166661293369421272">"다시 시작할 때까지 서비스가 더 이상 실행되지 않습니다. 이로 인해 <xliff:g id="APPLICATION">%1$s</xliff:g> 애플리케이션에서 원하지 않는 결과가 발생할 수 있습니다."</string>
-    <string name="confirm_stop_stop" msgid="7382363913280993331">"중지"</string>
-    <string name="confirm_stop_cancel" msgid="206495326622692381">"취소"</string>
-    <string name="service_started_by_app" msgid="8432097226392386802">"애플리케이션에서 시작: 중지하려면 터치"</string>
-    <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: 관리하려면 터치"</string>
-    <string name="service_background_processes" msgid="5158600475629177758">"사용: <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g>(<xliff:g id="COUNT">%1$d</xliff:g>개 프로세스)"</string>
-    <string name="service_foreground_processes" msgid="4013890350284680796">"기타: <xliff:g id="MEMORY">%2$s</xliff:g>(<xliff:g id="COUNT">%1$d</xliff:g>개 프로세스)"</string>
-    <string name="service_process_name" msgid="8630408984456958400">"프로세스: <xliff:g id="PROCESS">%1$s</xliff:g>"</string>
+    <string name="cached" msgid="1059590879740175019">"백그라운드 프로세스 캐시됨"</string>
+    <string name="no_running_services" msgid="2059536495597645347">"실행 중인 서비스가 없습니다."</string>
+    <string name="service_started_by_app" msgid="6575184738671598131">"애플리케이션에서 시작했습니다."</string>
+    <!-- no translation found for service_client_name (4037193625611815517) -->
+    <skip />
+    <string name="service_background_processes" msgid="6844156253576174488">"<xliff:g id="MEMORY">%1$s</xliff:g> 무료"</string>
+    <string name="service_foreground_processes" msgid="7583975676795574276">"<xliff:g id="MEMORY">%1$s</xliff:g> 사용됨"</string>
+    <string name="memory" msgid="6609961111091483458">"RAM"</string>
+    <!-- no translation found for service_process_name (4098932168654826656) -->
+    <skip />
+    <string name="running_processes_item_description_s_s" msgid="5790575965282023145">"프로세스 <xliff:g id="NUMPROCESS">%1$d</xliff:g>개 및 서비스 <xliff:g id="NUMSERVICES">%2$d</xliff:g>개"</string>
+    <string name="running_processes_item_description_s_p" msgid="8019860457123222953">"프로세스 <xliff:g id="NUMPROCESS">%1$d</xliff:g>개 및 서비스 <xliff:g id="NUMSERVICES">%2$d</xliff:g>개"</string>
+    <string name="running_processes_item_description_p_s" msgid="744424668287252915">"프로세스 <xliff:g id="NUMPROCESS">%1$d</xliff:g>개 및 서비스 <xliff:g id="NUMSERVICES">%2$d</xliff:g>개"</string>
+    <string name="running_processes_item_description_p_p" msgid="1607384595790852782">"프로세스 <xliff:g id="NUMPROCESS">%1$d</xliff:g>개 및 서비스 <xliff:g id="NUMSERVICES">%2$d</xliff:g>개"</string>
+    <string name="runningservicedetails_settings_title" msgid="6188692418986988288">"실행 중인 애플리케이션"</string>
+    <string name="no_services" msgid="7133900764462288263">"사용중인 서비스 없음"</string>
+    <string name="runningservicedetails_services_title" msgid="391168243725357375">"서비스"</string>
+    <string name="runningservicedetails_processes_title" msgid="928115582044655268">"프로세스"</string>
+    <string name="service_stop" msgid="6369807553277527248">"중지"</string>
+    <string name="service_manage" msgid="1876642087421959194">"설정"</string>
+    <string name="service_stop_description" msgid="3261798282116866961">"이 서비스는 해당 애플리케이션에서 시작했습니다. 중지할 경우 애플리케이션에 장애가 발생할 수 있습니다."</string>
+    <string name="heavy_weight_stop_description" msgid="6855241582643136019">"이 애플리케이션을 안전하게 중지할 수 없습니다. 중지할 경우 현재 작업의 일부가 유실될 수 있습니다."</string>
+    <string name="background_process_stop_description" msgid="1728354083304746737">"향후에 다시 필요할 경우 빠르게 실행하기 위해 저장해두는 백그라운드 프로세스로서 일반적으로 중지할 필요는 없습니다."</string>
+    <string name="service_manage_description" msgid="7050092269951613102">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>이(가) 현재 사용 중입니다. 조정하려면 설정을 터치하세요."</string>
+    <string name="main_running_process_description" msgid="929204645380391397">"사용 중인 기본 프로세스입니다."</string>
+    <string name="process_service_in_use_description" msgid="8993335064403217080">"서비스 <xliff:g id="COMP_NAME">%1$s</xliff:g>이(가) 사용 중입니다."</string>
+    <string name="process_provider_in_use_description" msgid="5586603325677678940">"제공업체(<xliff:g id="COMP_NAME">%1$s</xliff:g>)를 사용 중입니다."</string>
+    <string name="runningservicedetails_stop_dlg_title" msgid="4253292537154337233">"시스템 서비스를 중지하시겠습니까?"</string>
+    <string name="runningservicedetails_stop_dlg_text" msgid="6929716497425738387">"이 시스템 서비스를 중지하시겠습니까? 중지하면 휴대전화의 일부 기능이 올바르게 작동되지 않을 수 있으며 전원을 껐다 켜야 합니다."</string>
     <string name="language_settings" msgid="502219872342167227">"언어 및 키보드"</string>
     <string name="language_keyboard_settings_title" msgid="3455826933385341107">"언어 및 키보드 설정"</string>
-    <string name="language_settings_summary" msgid="595647729475399987">"로케일(언어 및 지역), 텍스트 입력 및 자동 수정 옵션 설정"</string>
-    <string name="language_category" msgid="3391756582724541530">"로케일 설정"</string>
-    <string name="text_category" msgid="6342540511465136739">"텍스트 설정"</string>
+    <string name="language_settings_category" msgid="2288258489940617043">"언어 설정"</string>
+    <string name="keyboard_settings_category" msgid="7060453865544070642">"키보드 설정"</string>
     <string name="phone_language" msgid="1165758957501090679">"언어 선택"</string>
     <string name="phone_language_summary" msgid="3871309445655554211"></string>
     <string name="auto_replace" msgid="6199184757891937822">"자동 바꾸기"</string>
@@ -782,7 +852,6 @@
     <string name="testing" msgid="6584352735303604146">"테스트 중"</string>
     <string name="testing_phone_info" msgid="8656693364332840056">"휴대전화 정보"</string>
     <string name="testing_battery_info" msgid="3497865525976497848">"배터리 정보"</string>
-    <string name="testing_battery_history" msgid="3043329445810695647">"배터리 기록"</string>
     <string name="quick_launch_title" msgid="7904609846945905306">"빠른실행"</string>
     <string name="quick_launch_summary" msgid="3453825712466417452">"애플리케이션을 실행하는 바로가기 설정"</string>
     <string name="quick_launch_assign_application" msgid="4521368464929956350">"애플리케이션 할당"</string>
@@ -798,8 +867,8 @@
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"텍스트 입력 옵션 관리"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"<xliff:g id="IME_NAME">%1$s</xliff:g> 설정"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"화면 키보드 설정"</string>
-    <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"기기 키보드"</string>
-    <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"내장 키보드 설정"</string>
+    <string name="builtin_keyboard_settings_title" msgid="5274990495405941804">"내장 키보드"</string>
+    <string name="builtin_keyboard_settings_summary" msgid="7990296351888096836">"내장 물리적 키보드 설정"</string>
     <string name="development_settings_title" msgid="6719732334835420989">"개발"</string>
     <string name="development_settings_summary" msgid="2151320488701538355">"애플리케이션 개발 옵션 설정"</string>
     <string name="enable_adb" msgid="7982306934419797485">"USB 디버깅"</string>
@@ -812,36 +881,10 @@
     <string name="adb_warning_message" msgid="5352555112049663033">"USB 디버깅은 개발용으로만 설계되었습니다. 이 기능을 사용하면 컴퓨터와 장치 간에 데이터를 복사하고 알림 없이 장치에 애플리케이션을 설치하며 로그 데이터를 읽을 수 있습니다."</string>
     <string name="gadget_picker_title" msgid="98374951396755811">"가젯 선택"</string>
     <string name="widget_picker_title" msgid="9130684134213467557">"위젯 선택"</string>
-    <string name="battery_history_details_for" msgid="5924639922153109669">"UID <xliff:g id="NUMBER">%d</xliff:g>의 세부정보"</string>
-    <string name="battery_history_uid" msgid="1016606150528436298">"UID <xliff:g id="USER_ID">%1$d</xliff:g>"</string>
-    <string name="battery_history_network_usage" msgid="8010852371665217020">"<xliff:g id="APP_NAME">%1$s</xliff:g>의 네트워크 사용 세부정보"</string>
-    <string name="battery_history_bytes_received" msgid="980307569180518302">"받은 바이트 수: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_sent" msgid="2501748768602119159">"보낸 바이트 수: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_total" msgid="4444807574361642753">"총 바이트 수: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_cpu_usage" msgid="2597353713014790877">"<xliff:g id="APP_NAME">%1$s</xliff:g>의 CPU 사용 세부정보"</string>
-    <string name="battery_history_user_time" msgid="6227507614894791359">"사용자 시간:"</string>
-    <string name="battery_history_system_time" msgid="2015862072724507547">"시스템 시간:"</string>
-    <string name="battery_history_total_time" msgid="3618703970098556104">"시간 합계:"</string>
-    <string name="battery_history_starts" msgid="9137453931978571696">"시작: <xliff:g id="STARTS">%1$d</xliff:g>번"</string>
     <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g>일 <xliff:g id="HOURS">%2$d</xliff:g>시간 <xliff:g id="MINUTES">%3$d</xliff:g>분 <xliff:g id="SECONDS">%4$d</xliff:g>초"</string>
     <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g>시간 <xliff:g id="MINUTES">%2$d</xliff:g>분 <xliff:g id="SECONDS">%3$d</xliff:g>초"</string>
     <string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g>분 <xliff:g id="SECONDS">%2$d</xliff:g>초"</string>
     <string name="battery_history_seconds" msgid="4283492130945761685">"<xliff:g id="SECONDS">%1$d</xliff:g>초"</string>
-    <string name="battery_history_packages_sharing_this_uid" msgid="4101596071379250050">"이 UID를 공유하는 패키지"</string>
-    <string name="battery_history_no_data" msgid="1177238743237067617">"배터리 사용 데이터가 없습니다."</string>
-    <string name="battery_history_sensor" msgid="2333488996028993982">"센서:"</string>
-    <string name="battery_history_wakelock" msgid="608683447522396293">"부분적 가동 잠금:"</string>
-    <string name="battery_history_used_by_packages" msgid="3000711380023436470">"패키지가 사용한 센서:"</string>
-    <string name="battery_history_sensor_usage" msgid="3593133338613209024">"<xliff:g id="PACKAGE">%2$s</xliff:g>에서 <xliff:g id="COUNT">%1$d</xliff:g>번 사용"</string>
-    <string name="battery_history_sensor_usage_multi" msgid="4536084375991014508">"다음 중 하나가 <xliff:g id="COUNT">%1$d</xliff:g>번 사용:"</string>
-    <string name="battery_history_awake_label" msgid="8449792868990080882">"실행 중"</string>
-    <string name="battery_history_screen_on_label" msgid="1848936521786339362">"화면 켜짐"</string>
-    <string name="battery_history_phone_on_label" msgid="700191958853142297">"휴대전화 켜짐"</string>
-    <string name="battery_history_awake" msgid="4350886665719031057">"절전 모드로 전환되지 않고 사용한 시간:"</string>
-    <string name="battery_history_screen_on" msgid="1377240025275657277">"화면을 켠 상태에서 소비한 시간:"</string>
-    <string name="battery_history_phone_on" msgid="4891504401623839532">"휴대전화가 켜진 상태로 사용한 시간:"</string>
-    <string name="battery_history_screen_on_battery" msgid="536058210445081888">"배터리 켜짐 시간: "</string>
-    <string name="battery_history_screen_on_plugged" msgid="5019127390021871260">"연결됨:"</string>
     <string name="usage_stats_label" msgid="5890846333487083609">"사용 통계"</string>
     <string name="testing_usage_stats" msgid="7823048598893937339">"사용 통계"</string>
     <string name="display_order_text" msgid="8592776965827565271">"정렬 기준:"</string>
@@ -865,12 +908,19 @@
     <string name="power_usage_summary" msgid="7237084831082848168">"배터리를 사용한 항목"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"플러그를 뽑은 이후 배터리 전원 사용"</string>
     <string name="battery_since_reset" msgid="7464546661121187045">"재설정 이후 배터리 사용"</string>
+    <string name="battery_stats_on_battery" msgid="4970762168505236033">"배터리 사용 시간: <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="battery_stats_duration" msgid="7464501326709469282">"플러그를 뽑은 후 <xliff:g id="TIME">%1$s</xliff:g>"</string>
+    <string name="battery_stats_charging_label" msgid="4223311142875178785">"충전 중"</string>
+    <string name="battery_stats_screen_on_label" msgid="7150221809877509708">"화면 켜짐"</string>
+    <string name="battery_stats_gps_on_label" msgid="1193657533641951256">"GPS 사용"</string>
+    <string name="battery_stats_wifi_running_label" msgid="3093545080361658269">"Wi-Fi"</string>
+    <string name="battery_stats_wake_lock_label" msgid="1908942681902324095">"켜짐"</string>
+    <string name="battery_stats_phone_signal_label" msgid="6822042940376636775">"신호 강도"</string>
     <!-- no translation found for battery_stats_last_duration (1535831453827905957) -->
     <skip />
     <string name="awake" msgid="387122265874485088">"장치 무중단 가동 시간"</string>
-    <string name="wifi_on_time" msgid="4630925382578609056">"WiFi 사용 시간"</string>
-    <string name="bluetooth_on_time" msgid="4478515071957280711">"WiFi 사용 시간"</string>
+    <string name="wifi_on_time" msgid="6310209835617490616">"Wi-Fi 사용 시간"</string>
+    <string name="bluetooth_on_time" msgid="6157799524996162271">"Wi-Fi 사용 시간"</string>
     <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g> -  <xliff:g id="NUMBER">%2$s</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
     <string name="details_title" msgid="7564809986329021063">"배터리 사용 세부정보"</string>
     <string name="details_subtitle" msgid="32593908269911734">"사용 세부정보"</string>
@@ -884,7 +934,9 @@
     <string name="power_idle" msgid="9055659695602194990">"휴대전화 유휴 상태"</string>
     <string name="usage_type_cpu" msgid="715162150698338714">"총 CPU"</string>
     <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"CPU 포그라운드"</string>
+    <string name="usage_type_wake_lock" msgid="5125438890233677880">"켜진 상태로 유지"</string>
     <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string>
+    <string name="usage_type_wifi_running" msgid="8234997940652067049">"Wi-Fi 실행 중"</string>
     <string name="usage_type_phone" msgid="9108247984998041853">"휴대전화"</string>
     <string name="usage_type_data_send" msgid="2857401966985425427">"보낸 데이터"</string>
     <string name="usage_type_data_recv" msgid="7251090882025234185">"수신된 데이터"</string>
@@ -896,7 +948,7 @@
     <string name="battery_action_app_details" msgid="3275013531871113681">"애플리케이션 정보"</string>
     <string name="battery_action_app_settings" msgid="350562653472577250">"애플리케이션 설정"</string>
     <string name="battery_action_display" msgid="5302763261448580102">"디스플레이 설정"</string>
-    <string name="battery_action_wifi" msgid="5452076674659927993">"WiFi 설정"</string>
+    <string name="battery_action_wifi" msgid="2272741639606146903">"Wi-Fi 설정"</string>
     <string name="battery_action_bluetooth" msgid="8374789049507723142">"Bluetooth 설정"</string>
     <string name="battery_desc_voice" msgid="8980322055722959211">"음성 통화에서 배터리 사용"</string>
     <string name="battery_desc_standby" msgid="3009080001948091424">"휴대전화가 유휴 상태일 때 배터리 사용"</string>
@@ -909,9 +961,9 @@
     <string name="battery_desc_bluetooth" msgid="7535520658674621902">"블루투스에서 배터리 사용"</string>
     <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"사용 중이 아닐 때에는 Bluetooth 끄기"</string>
     <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"다른 블루투스 장치로 연결 시도"</string>
-    <string name="battery_desc_apps" msgid="8123202939321333639">"실행 중에 애플리케이션에서 배터리 사용"</string>
+    <string name="battery_desc_apps" msgid="6665712811746233450">"애플리케이션 배터리 사용량"</string>
     <string name="battery_sugg_apps_info" msgid="6065882899391322442">"애플리케이션 중지 또는 제거"</string>
-    <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"사용 중이 아닌 경우 GPS 사용 안함"</string>
+    <string name="battery_sugg_apps_gps" msgid="4545056413090932541">"애플리케이션이 GPS를 사용할 수 없도록 수동으로 제어"</string>
     <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"애플리케이션에서 배터리 사용을 줄일 수 있는 설정을 제공할 수 있습니다."</string>
     <string name="menu_stats_unplugged" msgid="8296577130840261624">"플러그를 뽑은 후 <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"마지막으로 플러그를 뽑은 이후 <xliff:g id="UNPLUGGED">%1$s</xliff:g> 동안"</string>
@@ -961,6 +1013,8 @@
     <string name="pico_not_installed" msgid="6266845418419994311">"설치되지 않음"</string>
     <string name="pico_voice_summary_female" msgid="8047327176247727492">"여성"</string>
     <string name="pico_voice_summary_male" msgid="8331266854058577610">"남성"</string>
+    <string name="tts_notif_engine_install_title" msgid="7000346872482649034">"음성 합성 엔진이 설치됨"</string>
+    <string name="tts_notif_engine_install_message" msgid="5304661142202662693">"사용 전에 새 엔진 사용 설정"</string>
     <string name="gadget_title" msgid="7455548605888590466">"전원 컨트롤"</string>
     <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Wi-Fi 설정 업데이트"</string>
     <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"블루투스 설정 업데이트"</string>
@@ -1047,8 +1101,10 @@
     <string name="credentials_access_summary" msgid="319662078718574168">"애플리케이션이 보안 인증서 및 다른 자격증명에 액세스 허용"</string>
     <string name="credentials_unlock" msgid="1463040326264133844">"비밀번호 입력"</string>
     <string name="credentials_unlock_hint" msgid="594679530407918031">"자격증명 저장소 비밀번호를 입력하세요."</string>
-    <string name="credentials_install_certificates" msgid="177337517568022236">"SD 카드에서 설치"</string>
-    <string name="credentials_install_certificates_summary" msgid="7737001268684193093">"SD 카드에서 암호화된 인증서 설치"</string>
+    <string name="credentials_install_certificates" product="nosdcard" msgid="619171634797689906">"USB 저장소에서 설치"</string>
+    <string name="credentials_install_certificates" product="default" msgid="177337517568022236">"SD 카드에서 설치"</string>
+    <string name="credentials_install_certificates_summary" product="nosdcard" msgid="8920330112631198575">"USB 저장소에서 암호화된 인증서 설치"</string>
+    <string name="credentials_install_certificates_summary" product="default" msgid="7737001268684193093">"SD 카드에서 암호화된 인증서 설치"</string>
     <string name="credentials_set_password" msgid="9104473585811899989">"비밀번호 설정"</string>
     <string name="credentials_set_password_summary" msgid="8287876917562085701">"자격증명 저장소 비밀번호를 설정하거나 변경"</string>
     <string name="credentials_reset" msgid="9170150870552453457">"저장소 삭제"</string>
@@ -1068,6 +1124,16 @@
     <string name="credentials_erased" msgid="7700309135582200849">"자격증명 저장소가 삭제되었습니다."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"자격증명 저장소를 사용합니다."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"자격증명 저장소를 사용 중지했습니다."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"암호화된 파일 시스템"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"비공개 사용자 데이터 암호화"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"기기의 비공개 사용자 데이터에 대해 암호화된 파일 시스템 저장소 사용"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"암호화된 파일 시스템을 사용하려면 기기 데이터를 지워야 합니다."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"암호화된 파일 시스템의 사용을 중지하려면 기기 데이터를 지워야 합니다."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"사용"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"사용 중지"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"취소"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"암호화된 파일 시스템 모드 변경이 취소되었습니다."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"암호화된 파일 시스템 경고"</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"긴급 신호음"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"긴급 통화 중 동작 설정"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"개인정보 보호"</string>
@@ -1075,11 +1141,11 @@
     <string name="backup_section_title" msgid="8856083167469467588">"백업 및 복원"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"개인 데이터"</string>
     <string name="backup_data_title" msgid="1239105919852668016">"내 데이터 백업"</string>
-    <string name="backup_data_summary" msgid="5662190190240860035">"내 설정 및 다른 애플리케이션 데이터를 백업합니다."</string>
+    <string name="backup_data_summary" msgid="6515285107793232815">"애플리케이션 데이터, Wi-Fi 비밀번호 및 기타 설정을 Google 서버에 백업"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"자동 복원"</string>
-    <string name="auto_restore_summary" msgid="6867766474057290177">"애플리케이션을 다시 설치하면 백업한 설정이나 다른 데이터를 복원합니다."</string>
+    <string name="auto_restore_summary" msgid="83177150536734378">"애플리케이션을 다시 설치하면 백업한 설정이나 다른 데이터를 복원합니다"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"백업"</string>
-    <string name="backup_erase_dialog_message" msgid="2948090854996352245">"설정 및 애플리케이션 데이터 백업을 중지하고 Google 서버에 있는 모든 사본을 삭제하시겠습니까?"</string>
+    <string name="backup_erase_dialog_message" msgid="7766283133557587608">"Wi-Fi 비밀번호, 북마크, 기타 설정 및 애플리케이션 데이터 백업을 중지하고 Google 서버에 있는 모든 사본을 지우시겠습니까?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"기기 관리 설정"</string>
     <string name="active_device_admin_msg" msgid="6930903262612422111">"기기 관리자"</string>
     <string name="remove_device_admin" msgid="3596845261596451437">"비활성화"</string>
diff --git a/res/values-nb/arrays.xml b/res/values-nb/arrays.xml
index 9631987..4612b8c 100644
--- a/res/values-nb/arrays.xml
+++ b/res/values-nb/arrays.xml
@@ -115,19 +115,6 @@
     <item msgid="1549288661423279207">"Aldri når tilkoblet"</item>
     <item msgid="1986753720941888596">"Aldri"</item>
   </string-array>
-  <string-array name="battery_history_type_spinner">
-    <item msgid="2193799199027871385">"CPU-bruk"</item>
-    <item msgid="6401018715947316517">"Nettverksbruk"</item>
-    <item msgid="188092590354892392">"GPS-bruk"</item>
-    <item msgid="8414109131222049141">"Sensorbruk"</item>
-    <item msgid="1327904325081257093">"Delvis våken bruk"</item>
-    <item msgid="4832254146664706277">"Annen bruk"</item>
-  </string-array>
-  <string-array name="battery_history_which_spinner">
-    <item msgid="3451981114763440074">"Siden sist uten strøm"</item>
-    <item msgid="166936313535197598">"Totalt siden oppstart"</item>
-    <item msgid="4793941382744963893">"Totalt hele tiden"</item>
-  </string-array>
   <string-array name="usage_stats_display_order_types">
     <item msgid="9077371706468756228">"Brukstid"</item>
     <item msgid="1908750532762193304">"Start telling"</item>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 92e4364..d97e3ec 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -45,13 +45,16 @@
     <string name="radioInfo_display_asu" msgid="1422248392727818082">"asu"</string>
     <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string>
     <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string>
-    <string name="sdcard_unmount" msgid="3364184561355611897">"Avmonter minnekort"</string>
-    <string name="sdcard_format" msgid="362497552060004057">"Formater minnekort"</string>
+    <string name="sdcard_unmount" product="nosdcard" msgid="6325292633327972272">"Koble fra USB-lagring"</string>
+    <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Avmonter minnekort"</string>
+    <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Slett USB-lagring"</string>
+    <string name="sdcard_format" product="default" msgid="6713185532039187532">"Slett SD-kort"</string>
     <string name="small_font" msgid="2295331917424072635">"Liten"</string>
     <string name="medium_font" msgid="2068475425515133701">"Middels"</string>
     <string name="large_font" msgid="599055175160971446">"Stor"</string>
     <string name="font_size_save" msgid="3450855718056759095">"OK"</string>
-    <string name="sdcard_setting" msgid="5922637503871474866">"Minnekort"</string>
+    <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB-lagring"</string>
+    <string name="sdcard_setting" product="default" msgid="5922637503871474866">"Minnekort"</string>
     <string name="battery_info_status_label" msgid="8109155295509700309">"Batteristatus:"</string>
     <string name="battery_info_power_label" msgid="7465140230991349382">"Strømplugg:"</string>
     <string name="battery_info_scale_label" msgid="3649763192389778437">"Batteriskala:"</string>
@@ -178,29 +181,36 @@
     <string name="band_mode_failed" msgid="1495968863884716379">"Mislykket"</string>
     <string name="band_mode_succeeded" msgid="2701016190055887575">"Vellykket"</string>
     <string name="sdcard_changes_instructions" msgid="1364712901180556244">"Endringene vil tre i kraft når USB-kabelen kobles til på nytt"</string>
-    <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"Skru på USB-masselagring"</string>
+    <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"Aktiver USB-masselagring"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"Totalt antall byte:"</string>
-    <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"Minnekort mangler"</string>
+    <string name="sdcard_settings_not_present_status" product="nosdcard" msgid="2902787003418172125">"USB-lagring ikke tilkoblet"</string>
+    <string name="sdcard_settings_not_present_status" product="default" msgid="6666688653496819947">"Minnekort mangler"</string>
     <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"Tilgjengelig antall byte:"</string>
-    <string name="sdcard_settings_mass_storage_status" msgid="4786433969313661655">"Minnekortet blir brukt som en masselagringsenhet"</string>
-    <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"Det er trygt å fjerne minnekortet"</string>
-    <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"Minnekortet ble fjernet mens det fortsatt var i bruk!"</string>
+    <string name="sdcard_settings_mass_storage_status" product="nosdcard" msgid="2736378870889777857">"USB-lagr. brukt til masselagr."</string>
+    <string name="sdcard_settings_mass_storage_status" product="default" msgid="4786433969313661655">"Minnekortet blir brukt som en masselagringsenhet"</string>
+    <string name="sdcard_settings_unmounted_status" product="nosdcard" msgid="7503300818792750913">"USB-lagring kan nå fjernes"</string>
+    <string name="sdcard_settings_unmounted_status" product="default" msgid="3812022095683863087">"Det er trygt å fjerne minnekortet"</string>
+    <string name="sdcard_settings_bad_removal_status" product="nosdcard" msgid="7761390725880773697">"USB-lagr. fjernet under bruk!"</string>
+    <string name="sdcard_settings_bad_removal_status" product="default" msgid="5145797653495907970">"Minnekortet ble fjernet mens det fortsatt var i bruk!"</string>
     <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"Brukt antall byte:"</string>
-    <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Leter etter media på minnekortet…"</string>
-    <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"Minnekortet ble montert skrivebeskyttet"</string>
+    <string name="sdcard_settings_scanning_status" product="nosdcard" msgid="7503429447676219564">"Skanner USB-lagr. for medier"</string>
+    <string name="sdcard_settings_scanning_status" product="default" msgid="2763464949274455656">"Leter etter media på minnekortet…"</string>
+    <string name="sdcard_settings_read_only_status" product="nosdcard" msgid="3771783090621312312">"USB-lagr. har kun lesetilg."</string>
+    <string name="sdcard_settings_read_only_status" product="default" msgid="5706115860484118911">"Minnekortet ble montert skrivebeskyttet"</string>
     <string name="next_label" msgid="4693520878012668114">"Neste"</string>
     <string name="language_picker_title" msgid="4034157617842965844">"Regionsinnstillinger"</string>
     <string name="select_your_language" msgid="1146235168951906084">"Språk"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Velg aktivitet"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Enhetsinformasjon"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Batteriinformasjon"</string>
-    <string name="battery_history_label" msgid="8242244969757414501">"Batterihistorikk"</string>
     <string name="display_label" msgid="7403874003169865762">"Skjerm"</string>
     <string name="phone_info_label" msgid="2127552523124277664">"Telefoninformasjon"</string>
-    <string name="sd_card_settings_label" msgid="5743100901106177102">"Minnekort"</string>
+    <string name="sd_card_settings_label" product="nosdcard" msgid="8101475181301178428">"USB-lagring"</string>
+    <string name="sd_card_settings_label" product="default" msgid="5743100901106177102">"Minnekort"</string>
     <string name="proxy_settings_label" msgid="3271174136184391743">"Mellomtjener-innstillinger"</string>
     <string name="cancel" msgid="6859253417269739139">"Avbryt"</string>
     <string name="settings_label" msgid="1626402585530130914">"Innstillinger"</string>
+    <string name="settings_label_launcher" msgid="8344735489639482340">"Innstillinger"</string>
     <string name="settings_shortcut" msgid="3672145147925639262">"Innstillinger"</string>
     <string name="airplane_mode" msgid="8837269988154128601">"Flymodus"</string>
     <string name="airplane_mode_summary" msgid="3154817401368780988">"Slå av alle trådløse tilkoblinger"</string>
@@ -323,6 +333,11 @@
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Som høyttalertelefon"</string>
     <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"For musikk og medier"</string>
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Husk innstillinger"</string>
+    <string name="nfc_quick_toggle_title" msgid="6769159366307299004">"NFC"</string>
+    <string name="nfc_quick_toggle_summary" msgid="1988408027741447231">"Bruk NFC-teknologi for å lese og utveksle koder"</string>
+    <!-- no translation found for nfc_toggle_error (2233172102497535522) -->
+    <!-- no translation found for nfc_toggle_error (8998642457947607263) -->
+    <skip />
     <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Trådløst nett"</string>
     <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Slå på trådløst nett"</string>
     <string name="wifi_settings" msgid="4746946030627213196">"Trådløsinnstillinger"</string>
@@ -376,6 +391,7 @@
     <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Spesifiser når telefonen skal bytte fra trådløsnett til mobiltelefonidata"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Det oppsto et problem under setting av soveinnstilling."</string>
     <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MAC-adresse"</string>
+    <string name="wifi_advanced_ip_address_title" msgid="6215297094363164846">"IP-adresse"</string>
     <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP-innstillinger"</string>
     <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Lagre"</string>
     <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Avbryt"</string>
@@ -444,7 +460,7 @@
     <string name="dock_audio_summary_unknown" msgid="4465059868974255693">"Innstillinger for festet forankring"</string>
     <string name="dock_not_found_title" msgid="3290961741828952424">"Finner ikke forankringsstasjon"</string>
     <string name="dock_not_found_text" msgid="3035260358985111855">"Telefonen må være plassert i forankringsstasjonen for å konfigurere forankringslyden"</string>
-    <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Lyd ved innsetting i forankringsstasjon"</string>
+    <string name="dock_sounds_enable_title" msgid="3659084028644948905">"Lyd ved innsetting"</string>
     <string name="dock_sounds_enable_summary_on" msgid="8491180514199743771">"Spill av lyd når telefonen settes inn eller tas ut av forankringsstasjonen"</string>
     <string name="dock_sounds_enable_summary_off" msgid="3151046599205265919">"Ikke spill av lyd når telefonen settes inn eller tas ut av forankringsstasjonen"</string>
     <string name="sync_settings" msgid="9186125469300013491">"Kontoer/synkronisering"</string>
@@ -496,9 +512,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Status"</string>
     <string name="device_status" msgid="607405385799807324">"Status"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Telefonnummer, signalstyrke, osv."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"Minnekort og telefonlager"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Minnekort og telefonlager"</string>
-    <string name="storage_settings_summary" msgid="9176693537325988610">"Avmonter minnekort, vis ledig plass"</string>
+    <string name="storage_settings" msgid="4211799979832404953">"Lagring"</string>
+    <string name="storage_settings_title" msgid="8746016738388094064">"Innstillinger for lagring"</string>
+    <string name="storage_settings_summary" product="nosdcard" msgid="3543813623294870759">"Koble fra USB-lagring og vis tilgjengelig lagringsplass"</string>
+    <string name="storage_settings_summary" product="default" msgid="9176693537325988610">"Avmonter minnekort, vis ledig plass"</string>
     <string name="status_number" msgid="5123197324870153205">"Telefonnummer"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
     <string name="status_prl_version" msgid="8499039751817386529">"PRL-versjon"</string>
@@ -514,24 +531,36 @@
     <string name="status_unavailable" msgid="7862009036663793314">"Ikke tilgjengelig"</string>
     <string name="status_up_time" msgid="7294859476816760399">"Oppetid"</string>
     <string name="status_awake_time" msgid="2393949909051183652">"Våken tid"</string>
-    <string name="internal_memory" msgid="1130932766236387454">"Intern lagringsplass"</string>
-    <string name="sd_memory" msgid="151871913888051515">"Minnekort"</string>
+    <string name="internal_memory" msgid="9129595691484260784">"Intern lagring"</string>
+    <string name="sd_memory" product="nosdcard" msgid="2510246194083052841">"USB-lagring"</string>
+    <string name="sd_memory" product="default" msgid="151871913888051515">"Minnekort"</string>
     <string name="memory_available" msgid="418542433817289474">"Tilgjengelig plass"</string>
     <string name="memory_size" msgid="6629067715017232195">"Total plass"</string>
-    <string name="sd_eject" msgid="6915293408836853020">"Avmonter/løs ut minnekort"</string>
-    <string name="sd_eject_summary" msgid="3315557796211542962">"Løs ut minnekortet for trygg fjerning"</string>
-    <string name="sd_insert_summary" msgid="2048640010381803841">"Sett inn et minnekort for å koble til"</string>
-    <string name="sd_mount" msgid="5940523765187704135">"Koble til minnekort"</string>
-    <string name="sd_mount_summary" msgid="4936591681679097699">"Koble til minnekortet"</string>
-    <string name="sd_format" msgid="5448738337382712203">"Formater minnekort"</string>
-    <string name="sd_format_summary" msgid="6616491027883134004">"Formater (fjern alt fra) minnekortet"</string>
+    <string name="sd_eject" product="default" msgid="6915293408836853020">"Avmonter/løs ut minnekort"</string>
+    <string name="sd_eject_summary" product="nosdcard" msgid="5009296896648072891">"Koble fra intern USB-lagring"</string>
+    <string name="sd_eject_summary" product="default" msgid="3300599435073550246">"Koble fra SD-kortet for trygg fjerning"</string>
+    <string name="sd_insert_summary" product="nosdcard" msgid="5264016886409577313">"Sett inn USB-lagring"</string>
+    <string name="sd_insert_summary" product="default" msgid="2048640010381803841">"Sett inn et minnekort for å koble til"</string>
+    <string name="sd_mount" product="nosdcard" msgid="8966695015677343116">"Koble til USB-lagring"</string>
+    <string name="sd_mount" product="default" msgid="5940523765187704135">"Koble til minnekort"</string>
+    <!-- outdated translation 6733254203291665551 -->     <string name="sd_mount_summary" product="nosdcard" msgid="1794150364965145726">"Koble fra intern USB-lagring"</string>
+    <string name="sd_mount_summary" product="default" msgid="4936591681679097699">"Koble til minnekortet"</string>
+    <string name="sd_format" product="nosdcard" msgid="2148179271623099054">"Slett USB-lagring"</string>
+    <string name="sd_format" product="default" msgid="2576054280507119870">"Slett SD-kort"</string>
+    <string name="sd_format_summary" product="nosdcard" msgid="1504606546865152514">"Sletter intern USB-lagring."</string>
+    <string name="sd_format_summary" product="default" msgid="915849621390821841">"Sletter alle data på telefonens SD-kort, som for eksempel musikk og bilder"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"Ikke tilgjengelig"</string>
     <string name="read_only" msgid="6702420168629076340">" (skrivebeskyttet)"</string>
-    <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Koble fra minnekort"</string>
-    <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Hvis du kobler fra minnekortet, vil ikke lenger alle programmene virke, og de kan være utilgjengelige inntil du kobler til minnekortet på nytt."</string>
-    <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Fikk ikke koblet fra minnekort"</string>
-    <string name="dlg_error_unmount_text" msgid="9188972789897713180">"Får ikke koblet fra minnekort. Prøv på nytt senere."</string>
-    <string name="unmount_inform_text" msgid="3213378327712151498">"Minnekortet kobles fra. Kontroller status i varslingsfeltet."</string>
+    <string name="dlg_confirm_unmount_title" product="nosdcard" msgid="2349876662428231297">"Koble fra USB-lagring"</string>
+    <string name="dlg_confirm_unmount_title" product="default" msgid="8612140627310646730">"Koble fra minnekort"</string>
+    <string name="dlg_confirm_unmount_text" product="nosdcard" msgid="3390169455621185223">"Hvis du kobler fra USB-lagring, vil ikke lenger alle programmene virke, og de kan være utilgjengelige inntil du kobler til USB-lagring på nytt."</string>
+    <string name="dlg_confirm_unmount_text" product="default" msgid="5851214273718817727">"Hvis du kobler fra minnekortet, vil ikke lenger alle programmene virke, og de kan være utilgjengelige inntil du kobler til minnekortet på nytt."</string>
+    <string name="dlg_error_unmount_title" product="nosdcard" msgid="7695491947411836733">"Frakobl. av USB-lagr. misl."</string>
+    <string name="dlg_error_unmount_title" product="default" msgid="4004106918266783081">"Fikk ikke koblet fra minnekort"</string>
+    <string name="dlg_error_unmount_text" product="nosdcard" msgid="1450864147013376592">"Kan ikke koble fra USB-lagring. Prøv på nytt senere."</string>
+    <string name="dlg_error_unmount_text" product="default" msgid="9188972789897713180">"Får ikke koblet fra minnekort. Prøv på nytt senere."</string>
+    <string name="unmount_inform_text" product="nosdcard" msgid="7120241136790744265">"USB-lagring kobles fra."</string>
+    <string name="unmount_inform_text" product="default" msgid="1904212716075458402">"SD-kort kobles fra."</string>
     <string name="sd_ejecting_title" msgid="8824572198034365468">"Kobler fra minnekort"</string>
     <string name="sd_ejecting_summary" msgid="2028753069184908491">"Frakobling pågår"</string>
     <string name="battery_status_title" msgid="9159414319574976203">"Batteristatus"</string>
@@ -571,26 +600,37 @@
     <string name="restore_default_apn_completed" msgid="3990449939234957281">"Ferdig med å gjenopprette standardvalg for APN"</string>
     <string name="master_clear_title" msgid="5907939616087039756">"Fabrikkinnstillinger"</string>
     <string name="master_clear_summary" msgid="4986154238001088492">"Fjern alle data fra telefonen"</string>
-    <string name="master_clear_desc" msgid="7823268823499739178">"Dette vil fjerne alle data fra telefonen, herunder:"\n<li>"Google-kontoen din"</li>\n<li>"System- og programdata og -innstillinger"</li>\n<li>"Nedlastede programmer"</li>\n"Det vil ikke slette:"\n<li>"Gjeldende systemprogramvare og medfølgende programmer"</li>\n<li>"Filer på minnekortet, eksempelvis musikk eller bilder"</li></string>
+    <string name="master_clear_desc" product="nosdcard" msgid="2163013814299528247">"Dette sletter alle data fra telefonens "<b>"interne lagring"</b>", herunder:"\n\n<li>"Google-kontoen"</li>\n<li>"System- og programdata og innstillinger"</li>\n<li>"Nedlastede programmer"</li>\n\n"Hvis du vil slette alle data på telefonen, må "<b>"USB-kortet"</b>" slettes."\n\n</string>
+    <string name="master_clear_desc" product="default" msgid="1741944496458365969">"Dette sletter alle data fra telefonens "<b>"interne lagring"</b>", herunder:"\n\n<li>"Google-kontoen"</li>\n<li>"System- og programdata og innstillinger"</li>\n<li>"Nedlastede programmer"</li>\n\n"Hvis du også vil slette musikk, bilder og andre brukerdata, må "<b>"SD-kortet"</b>" slettes."\n\n</string>
+    <string name="erase_external_storage" product="nosdcard" msgid="969364037450286809">"Slett USB-lagring"</string>
+    <string name="erase_external_storage" product="default" msgid="1397239046334307625">"Slett SD-kort"</string>
+    <string name="erase_external_storage_description" product="nosdcard" msgid="1657838142707381027">"Slett all intern USB-lagring."</string>
+    <string name="erase_external_storage_description" product="default" msgid="8100175974635894073">"Slett alle data på SD-kort."</string>
     <string name="master_clear_button_text" msgid="7550632653343157971">"Tilbakestill telefonen"</string>
     <string name="master_clear_final_desc" msgid="6917971132484622696">"Fjern all personlig informasjon og nedlastede applikasjoner? Dette kan ikke gjøres om!"</string>
     <string name="master_clear_final_button_text" msgid="5390908019019242910">"Fjern alt"</string>
     <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Tegn opplåsingsmønsteret"</string>
     <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"Du må tegne opplåsingsmønsteret for å bekrefte tilbakestilling av telefonen."</string>
     <string name="master_clear_failed" msgid="8655202125010189406">"Telefonen ble ikke tilbakestilt fordi tilbakestillingstjenesten ikke er tilgjengelig."</string>
-    <string name="media_format_title" msgid="4671276096695789895">"Formater minnekort"</string>
-    <string name="media_format_summary" msgid="3805714639375830120">"Sletter alle data fra minnekortet"</string>
-    <string name="media_format_desc" msgid="1142563222357820834">"Dette valget vil slette alle data fra minnekortet i telefonen. Du vil miste ALLE data på kortet!"</string>
-    <string name="media_format_button_text" msgid="370856400090190151">"Formater minnekort"</string>
-    <string name="media_format_final_desc" msgid="1776666694910717198">"Formater minnekortet? Dette vil fjerne alle data, og kan ikke gjøres om!"</string>
+    <string name="media_format_title" product="nosdcard" msgid="3999653431422767156">"Slett USB-lagring"</string>
+    <string name="media_format_title" product="default" msgid="4427528440306787972">"Slett SD-kort"</string>
+    <string name="media_format_summary" product="nosdcard" msgid="776603298628082065">"Sletter alle data i USB-lagr."</string>
+    <string name="media_format_summary" product="default" msgid="3805714639375830120">"Sletter alle data fra minnekortet"</string>
+    <string name="media_format_desc" product="nosdcard" msgid="4553860683952763905">"Handlingen sletter USB-lagring. "<b>"Alle"</b>" data i USB-lagring vil gå tapt!"</string>
+    <string name="media_format_desc" product="default" msgid="1598627584181935513">"Handlingen sletter SD-kortet. "<b>"Alle"</b>" data på kortet vil gå tapt!"</string>
+    <string name="media_format_button_text" product="nosdcard" msgid="6293669371185352810">"Slett USB-lagring"</string>
+    <string name="media_format_button_text" product="default" msgid="6721544380069373626">"Slett SD-kort"</string>
+    <string name="media_format_final_desc" product="nosdcard" msgid="8094635533378487255">"Vil du formatere USB-lagring og slette alle lagrede filer? Handlingen kan ikke angres!"</string>
+    <string name="media_format_final_desc" product="default" msgid="9015504991522581434">"Vil du formatere SD-kortet og slette alle lagrede filer? Handlingen kan ikke angres!"</string>
     <string name="media_format_final_button_text" msgid="4881713344315923175">"Slett alt"</string>
     <string name="media_format_gesture_prompt" msgid="3109349468816856670">"Tegn opplåsingsmønsteret"</string>
-    <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Du må tegne opplåsingsmønsteret for å bekrefte formatering av minnekortet."</string>
+    <string name="media_format_gesture_explanation" product="nosdcard" msgid="1379736318750958338">"Du må tegne opplåsingsmønsteret for å bekrefte formateringen av USB-lagring."</string>
+    <string name="media_format_gesture_explanation" product="default" msgid="1681213416497647321">"Du må tegne opplåsingsmønsteret for å bekrefte slettingen av SD-kortet."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Samtaleinnstillinger"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Telefonsvarer, viderekobling, samtale venter, nummervisning"</string>
     <string name="tether_settings_title_usb" msgid="4315031513434087777">"Tilknytning"</string>
     <string name="tether_settings_title_wifi" msgid="3277144155960302049">"Flyttbar trådløs sone"</string>
-    <string name="tether_settings_title_both" msgid="2734066355556891504">"Tilknytning og flyttbar trådløs sone"</string>
+    <string name="tether_settings_title_both" msgid="2734066355556891504">"Tilknytning og trådløs sone"</string>
     <string name="tether_settings_summary_usb" msgid="3562431455625637370">"Del mobilens datatilkobling via USB-tilknytning"</string>
     <string name="tether_settings_summary_wifi" msgid="4690912027002467246">"Del telefonens datatilkobling via en flyttbar trådløs sone"</string>
     <string name="tether_settings_summary_both" msgid="7460063951190682635">"Del telefonens datatilkobling via USB eller en flyttbar trådløs sone"</string>
@@ -609,7 +649,7 @@
     <string name="location_networks_disabled" msgid="2708968452901433980">"Se plassering i applikasjoner (som kart) ved hjelp av trådløse nettverk"</string>
     <string name="location_neighborhood_level" msgid="4656658097932515921">"Plassering bestemmes ved hjelp av trådløse og/eller mobile nettverk"</string>
     <string name="location_gps" msgid="6296125378829097831">"Bruk GPS-satellitter"</string>
-    <string name="location_street_level" msgid="6460740847018275745">"Nøyaktig til gatenivå (slå av for å spare batteri)"</string>
+    <string name="location_street_level" msgid="7456259025474443314">"Nøyaktig til gatenivå"</string>
     <string name="location_gps_disabled" msgid="6632537158777308128">"Finn plassering på gatenivå (bruker mer batteri, og trenger fri sikt til himmelen)"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"Aktiver GPS med hjelp"</string>
     <string name="assisted_gps_enabled" msgid="8751899609589792803">"Bruk tjener til å hjelpe GPS (opphev for å redusere nettverksbruken)"</string>
@@ -692,22 +732,31 @@
     <string name="application_size_label" msgid="5055196275624686382">"Applikasjon"</string>
     <string name="data_size_label" msgid="8679376373625710107">"Data"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Avinstaller"</string>
+    <string name="disable_text" msgid="6544054052049395202">"Deaktiver"</string>
+    <string name="enable_text" msgid="9217362512327828987">"Aktiver"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Fjern data"</string>
     <string name="app_factory_reset" msgid="6635744722502563022">"Avinstaller oppdateringer"</string>
     <string name="auto_launch_enable_text" msgid="2630656657744196691">"Du har valgt å starte denne applikasjonen som standard for noen handlinger."</string>
     <string name="auto_launch_disable_text" msgid="7800385822185540166">"Ingen standardvalg satt."</string>
     <string name="clear_activities" msgid="7408923511535174430">"Fjern standardvalg"</string>
     <string name="unknown" msgid="1592123443519355854">"Ukjent"</string>
-    <string name="sort_order_alpha" msgid="8622029358896599842">"Sorter"</string>
+    <string name="sort_order_alpha" msgid="1410278099123670628">"Sorter etter navn"</string>
     <string name="sort_order_size" msgid="7024513286636502362">"Sorter etter størrelse"</string>
+    <string name="show_running_services" msgid="5736278767975544570">"Vis kjørende tjenester"</string>
+    <string name="show_background_processes" msgid="2009840211972293429">"Vis bufrede prosesser"</string>
     <string name="manage_space_text" msgid="8852711522447794676">"Styr plass"</string>
     <string name="filter" msgid="2018011724373033887">"Filter"</string>
     <string name="filter_dlg_title" msgid="6507663329723966854">"Velg filtreringsinnstillinger"</string>
     <string name="filter_apps_all" msgid="5142129378749391876">"Alle"</string>
     <string name="filter_apps_third_party" msgid="7786348047690140979">"Tredjeparts"</string>
     <string name="filter_apps_running" msgid="7767071454371350486">"Kjører"</string>
-    <string name="filter_apps_onsdcard" msgid="1477351142334784771">"På minnekort"</string>
-    <string name="loading" msgid="3200408047793887917">"Laster…"</string>
+    <string name="filter_apps_onsdcard" product="nosdcard" msgid="4843063154701023349">"USB-lagring"</string>
+    <string name="filter_apps_onsdcard" product="default" msgid="1477351142334784771">"På minnekort"</string>
+    <string name="disabled" msgid="9206776641295849915">"Deaktivert"</string>
+    <string name="no_applications" msgid="5190227407135243904">"Ingen programmer."</string>
+    <string name="internal_storage" msgid="1584700623164275282">"Intern lagring"</string>
+    <string name="sd_card_storage" product="nosdcard" msgid="2673203150465132465">"USB-lagring"</string>
+    <string name="sd_card_storage" product="default" msgid="7623513618171928235">"SD-kortlagring"</string>
     <string name="recompute_size" msgid="7722567982831691718">"Beregner størrelse på nytt…"</string>
     <string name="clear_data_dlg_title" msgid="4470209520936375508">"Slett"</string>
     <string name="clear_data_dlg_text" msgid="8368035073300828451">"All informasjon du har lagret i denne applikasjonen vil bli fjernet permanent."</string>
@@ -727,7 +776,8 @@
     <string name="version_text" msgid="9189073826278676425">"versjon <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5042838441401731346">"Flytt"</string>
     <string name="move_app_to_internal" msgid="3895430471913858185">"Flytt til telefonen"</string>
-    <string name="move_app_to_sdcard" msgid="1143379049903056407">"Flytt til minnekort"</string>
+    <string name="move_app_to_sdcard" product="nosdcard" msgid="4350451696315265420">"Flytt til USB-lagring"</string>
+    <string name="move_app_to_sdcard" product="default" msgid="1143379049903056407">"Flytt til minnekort"</string>
     <string name="moving" msgid="6431016143218876491">"Flytter"</string>
     <string name="insufficient_storage" msgid="8566913062094452962">"Det er ikke nok lagringsminne."</string>
     <string name="does_not_exist" msgid="837163572898468245">"Programmet fins ikke."</string>
@@ -735,29 +785,49 @@
     <string name="invalid_location" msgid="4934491353200240499">"Den angitte installasjonsplasseringen er ikke gyldig."</string>
     <string name="system_package" msgid="1030561474413022831">"Systemoppdateringer kan ikke installeres på eksterne medier."</string>
     <string name="force_stop_dlg_title" msgid="4289453224368188476">"Tving avslutning"</string>
-    <string name="force_stop_dlg_text" msgid="3381302041569982075">"Programmet startes på nytt med en gang. Er du sikker på at du vil avslutte?"</string>
+    <string name="force_stop_dlg_text" msgid="5157374701213502922">"Hvis du slår av et program ved tvang, kan det slutte å fungere. Er du sikker på at du vil fortsette?"</string>
     <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Flytt program"</string>
     <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Fikk ikke flyttet programmet. <xliff:g id="REASON">%1$s</xliff:g>"</string>
     <string name="app_install_location_title" msgid="2068975150026852168">"Foretrukket installeringssted"</string>
     <string name="app_install_location_summary" msgid="879753854530300436">"Endre foretrukket plassering for installasjon av nye programmer."</string>
+    <string name="storageuse_settings_title" msgid="5657014373502630403">"Bruk av lagringsplass"</string>
+    <string name="storageuse_settings_summary" msgid="2556057379120846792">"Vis lagringsplass for programmer"</string>
     <string name="runningservices_settings_title" msgid="8097287939865165213">"Kjørende tjenester"</string>
     <string name="runningservices_settings_summary" msgid="854608995821032748">"Vis og kontroller tjenester som kjører for øyeblikket"</string>
     <string name="service_restarting" msgid="2242747937372354306">"Starter på nytt"</string>
-    <string name="no_running_services" msgid="6981216347270280598">"Ingen kjørende tjenester"</string>
-    <string name="confirm_stop_service" msgid="5700448757318301681">"Stoppe tjenesten?"</string>
-    <string name="confirm_stop_service_msg" msgid="1166661293369421272">"Tjenesten kjører ikke før den startes på nytt. Dette kan føre til uønskede konsekvenser for <xliff:g id="APPLICATION">%1$s</xliff:g>."</string>
-    <string name="confirm_stop_stop" msgid="7382363913280993331">"Stopp"</string>
-    <string name="confirm_stop_cancel" msgid="206495326622692381">"Avbryt"</string>
-    <string name="service_started_by_app" msgid="8432097226392386802">"Startet av applikasjon: trykk for å stoppe"</string>
-    <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: trykk for å endre"</string>
-    <string name="service_background_processes" msgid="5158600475629177758">"Tilgj.:<xliff:g id="FREE">%2$s</xliff:g> + <xliff:g id="MEMORY">%3$s</xliff:g> i <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_foreground_processes" msgid="4013890350284680796">"Andre: <xliff:g id="MEMORY">%2$s</xliff:g> (<xliff:g id="COUNT">%1$d</xliff:g> pros.)"</string>
-    <string name="service_process_name" msgid="8630408984456958400">"Prosess: <xliff:g id="PROCESS">%1$s</xliff:g>"</string>
+    <string name="cached" msgid="1059590879740175019">"Bufret bakgrunnsprosess"</string>
+    <string name="no_running_services" msgid="2059536495597645347">"Ingenting kjører."</string>
+    <string name="service_started_by_app" msgid="6575184738671598131">"Startet av program."</string>
+    <!-- no translation found for service_client_name (4037193625611815517) -->
+    <skip />
+    <string name="service_background_processes" msgid="6844156253576174488">"<xliff:g id="MEMORY">%1$s</xliff:g> grts."</string>
+    <string name="service_foreground_processes" msgid="7583975676795574276">"<xliff:g id="MEMORY">%1$s</xliff:g> brukt"</string>
+    <string name="memory" msgid="6609961111091483458">"RAM"</string>
+    <!-- no translation found for service_process_name (4098932168654826656) -->
+    <skip />
+    <string name="running_processes_item_description_s_s" msgid="5790575965282023145">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> prosess og <xliff:g id="NUMSERVICES">%2$d</xliff:g> tjeneste"</string>
+    <string name="running_processes_item_description_s_p" msgid="8019860457123222953">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> prosesser og <xliff:g id="NUMSERVICES">%2$d</xliff:g> tjenester"</string>
+    <string name="running_processes_item_description_p_s" msgid="744424668287252915">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> prosesser og <xliff:g id="NUMSERVICES">%2$d</xliff:g> tjeneste"</string>
+    <string name="running_processes_item_description_p_p" msgid="1607384595790852782">"<xliff:g id="NUMPROCESS">%1$d</xliff:g><xliff:g id="NUMSERVICES">%2$d</xliff:g> prosesser og tjenester"</string>
+    <string name="runningservicedetails_settings_title" msgid="6188692418986988288">"Programmet som kjører"</string>
+    <string name="no_services" msgid="7133900764462288263">"Ikke aktiv"</string>
+    <string name="runningservicedetails_services_title" msgid="391168243725357375">"Tjenester"</string>
+    <string name="runningservicedetails_processes_title" msgid="928115582044655268">"Prosesser"</string>
+    <string name="service_stop" msgid="6369807553277527248">"Stopp"</string>
+    <string name="service_manage" msgid="1876642087421959194">"Innstillinger"</string>
+    <string name="service_stop_description" msgid="3261798282116866961">"Denne tjenesten ble startet av det tilhørende programmet. Hvis du stopper tjenesten, er det ikke sikkert programmet fungerer slik det skal."</string>
+    <string name="heavy_weight_stop_description" msgid="6855241582643136019">"Dette programmet kan ikke stoppes på en trygg måte. Noe av arbeidet ditt kan gå tapt."</string>
+    <string name="background_process_stop_description" msgid="1728354083304746737">"Denne er en gammel programprosess som beholdes for økt hastighet ved behov. Du trenger ikke stoppe den."</string>
+    <string name="service_manage_description" msgid="7050092269951613102">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: for øyeblikket i bruk. Berør Innstillinger for å endre."</string>
+    <string name="main_running_process_description" msgid="929204645380391397">"Hovedprosess som er i bruk."</string>
+    <string name="process_service_in_use_description" msgid="8993335064403217080">"Tjenesten <xliff:g id="COMP_NAME">%1$s</xliff:g> er i bruk."</string>
+    <string name="process_provider_in_use_description" msgid="5586603325677678940">"Leverandøren <xliff:g id="COMP_NAME">%1$s</xliff:g> er i bruk."</string>
+    <string name="runningservicedetails_stop_dlg_title" msgid="4253292537154337233">"Vil du stoppe systemtjenesten?"</string>
+    <string name="runningservicedetails_stop_dlg_text" msgid="6929716497425738387">"Er du sikker på at du vil stoppe denne systemtjenesten? I så fall kan det hende at enkelte funksjoner på telefonen kan slutte å fungere slik de skal, inntil du slår telefonen av og på igjen."</string>
     <string name="language_settings" msgid="502219872342167227">"Språk og tastatur"</string>
     <string name="language_keyboard_settings_title" msgid="3455826933385341107">"Språk og tastatur"</string>
-    <string name="language_settings_summary" msgid="595647729475399987">"Innstillinger for språk, region, skriving av tekst og feilretting"</string>
-    <string name="language_category" msgid="3391756582724541530">"Innstillinger for språk"</string>
-    <string name="text_category" msgid="6342540511465136739">"Tekstinnstillinger"</string>
+    <string name="language_settings_category" msgid="2288258489940617043">"Språkinnstillinger"</string>
+    <string name="keyboard_settings_category" msgid="7060453865544070642">"Tastaturinnstillinger"</string>
     <string name="phone_language" msgid="1165758957501090679">"Velg språk"</string>
     <string name="phone_language_summary" msgid="3871309445655554211"></string>
     <string name="auto_replace" msgid="6199184757891937822">"Automatisk erstatting"</string>
@@ -782,7 +852,6 @@
     <string name="testing" msgid="6584352735303604146">"Testing"</string>
     <string name="testing_phone_info" msgid="8656693364332840056">"Telefoninformasjon"</string>
     <string name="testing_battery_info" msgid="3497865525976497848">"Batteriinformasjon"</string>
-    <string name="testing_battery_history" msgid="3043329445810695647">"Batterihistorikk"</string>
     <string name="quick_launch_title" msgid="7904609846945905306">"Hurtigtaster"</string>
     <string name="quick_launch_summary" msgid="3453825712466417452">"Tastatursnarveier for å starte applikasjoner"</string>
     <string name="quick_launch_assign_application" msgid="4521368464929956350">"Tilordne applikasjon"</string>
@@ -798,8 +867,8 @@
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Innstillinger for skriving av tekst"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Innstillinger for <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Innstillinger for skjermtastatur"</string>
-    <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"Fysisk tastatur"</string>
-    <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"Innstillinger for innebygget tastatur"</string>
+    <string name="builtin_keyboard_settings_title" msgid="5274990495405941804">"Innebygd tastatur"</string>
+    <string name="builtin_keyboard_settings_summary" msgid="7990296351888096836">"Innstillinger for innebygd tastatur"</string>
     <string name="development_settings_title" msgid="6719732334835420989">"Utvikling"</string>
     <string name="development_settings_summary" msgid="2151320488701538355">"Innstillinger for applikasjonsutvikling"</string>
     <string name="enable_adb" msgid="7982306934419797485">"USB-debugging"</string>
@@ -812,36 +881,10 @@
     <string name="adb_warning_message" msgid="5352555112049663033">"USB-debugging er kun ment for utviklere. Det kan brukes for å kopiere data mellom datamaskinen og telefonen, installere applikasjoner på telefonen i det stille, og lese loggdata."</string>
     <string name="gadget_picker_title" msgid="98374951396755811">"Velg gadget"</string>
     <string name="widget_picker_title" msgid="9130684134213467557">"Velg skrivebordselement"</string>
-    <string name="battery_history_details_for" msgid="5924639922153109669">"Detaljer for UID <xliff:g id="NUMBER">%d</xliff:g>"</string>
-    <string name="battery_history_uid" msgid="1016606150528436298">"UID <xliff:g id="USER_ID">%1$d</xliff:g>"</string>
-    <string name="battery_history_network_usage" msgid="8010852371665217020">"Nettbruk av <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_bytes_received" msgid="980307569180518302">"Byte mottatt: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_sent" msgid="2501748768602119159">"Byte sendt: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_total" msgid="4444807574361642753">"Totalt antall byte: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_cpu_usage" msgid="2597353713014790877">"CPU-bruk av <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_user_time" msgid="6227507614894791359">"Brukertid:"</string>
-    <string name="battery_history_system_time" msgid="2015862072724507547">"Systemtid:"</string>
-    <string name="battery_history_total_time" msgid="3618703970098556104">"Total tid:"</string>
-    <string name="battery_history_starts" msgid="9137453931978571696">"Oppstarter: <xliff:g id="STARTS">%1$d</xliff:g>"</string>
     <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g>d <xliff:g id="HOURS">%2$d</xliff:g>t <xliff:g id="MINUTES">%3$d</xliff:g>m <xliff:g id="SECONDS">%4$d</xliff:g>s"</string>
     <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g>t <xliff:g id="MINUTES">%2$d</xliff:g>m <xliff:g id="SECONDS">%3$d</xliff:g>s"</string>
     <string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g>m <xliff:g id="SECONDS">%2$d</xliff:g>s"</string>
     <string name="battery_history_seconds" msgid="4283492130945761685">"<xliff:g id="SECONDS">%1$d</xliff:g>s"</string>
-    <string name="battery_history_packages_sharing_this_uid" msgid="4101596071379250050">"Pakker som deler denne UID-en:"</string>
-    <string name="battery_history_no_data" msgid="1177238743237067617">"Ingen batterihistorikk tilgjengelig"</string>
-    <string name="battery_history_sensor" msgid="2333488996028993982">"Sensor:"</string>
-    <string name="battery_history_wakelock" msgid="608683447522396293">"Delvis våkelås:"</string>
-    <string name="battery_history_used_by_packages" msgid="3000711380023436470">"Sensor brukt av pakker:"</string>
-    <string name="battery_history_sensor_usage" msgid="3593133338613209024">"Brukt <xliff:g id="COUNT">%1$d</xliff:g> ganger av <xliff:g id="PACKAGE">%2$s</xliff:g>"</string>
-    <string name="battery_history_sensor_usage_multi" msgid="4536084375991014508">"Brukt <xliff:g id="COUNT">%1$d</xliff:g> ganger av en av:"</string>
-    <string name="battery_history_awake_label" msgid="8449792868990080882">"Kjørende"</string>
-    <string name="battery_history_screen_on_label" msgid="1848936521786339362">"Skjerm på"</string>
-    <string name="battery_history_phone_on_label" msgid="700191958853142297">"Telefon på"</string>
-    <string name="battery_history_awake" msgid="4350886665719031057">"Tid brukt uten å sove:"</string>
-    <string name="battery_history_screen_on" msgid="1377240025275657277">"Tid brukt med skjermen på:"</string>
-    <string name="battery_history_phone_on" msgid="4891504401623839532">"Tid brukt med telefonen på:"</string>
-    <string name="battery_history_screen_on_battery" msgid="536058210445081888">"På batteri:"</string>
-    <string name="battery_history_screen_on_plugged" msgid="5019127390021871260">"På nettstrøm:"</string>
     <string name="usage_stats_label" msgid="5890846333487083609">"Bruksstatistikk"</string>
     <string name="testing_usage_stats" msgid="7823048598893937339">"Bruksstatistikk"</string>
     <string name="display_order_text" msgid="8592776965827565271">"Sorter etter:"</string>
@@ -859,18 +902,25 @@
     <string name="accessibility_service_no_apps_title" msgid="898893674114288531">"Finner ingen tilgjengelighetsprogrammer"</string>
     <string name="accessibility_service_no_apps_message" msgid="2450056749545404807">"Du har ikke installert et tilgjengelighetsprogram."\n\n"Du kan laste ned en skjermleser for enheten på Android-markedet."\n\n"Klikk på OK for å installere skjermleseren."</string>
     <string name="accessibility_power_button_category" msgid="8545885236482339928">"På/av-knapp"</string>
-    <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Avslutt samtale med på/av-knappen"</string>
+    <string name="accessibility_power_button_ends_call" msgid="7698764194501089533">"Legg på med på/av"</string>
     <string name="accessibility_power_button_ends_call_summary" msgid="8878097632186291462">"Ved å trykke på av-knappen under en samtale, avsluttes samtalen i stedet for at skjermen slås av"</string>
     <string name="power_usage_summary_title" msgid="5180282911164282324">"Batteribruk"</string>
     <string name="power_usage_summary" msgid="7237084831082848168">"Hva som har brukt batteri"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Batteribruk siden strømmen ble trukket ut"</string>
     <string name="battery_since_reset" msgid="7464546661121187045">"Batteribruk siden omstart"</string>
+    <string name="battery_stats_on_battery" msgid="4970762168505236033">"<xliff:g id="TIME">%1$s</xliff:g> på batteri"</string>
     <string name="battery_stats_duration" msgid="7464501326709469282">"<xliff:g id="TIME">%1$s</xliff:g> siden strømmen ble frakoblet"</string>
+    <string name="battery_stats_charging_label" msgid="4223311142875178785">"Lader"</string>
+    <string name="battery_stats_screen_on_label" msgid="7150221809877509708">"Skjerm på"</string>
+    <string name="battery_stats_gps_on_label" msgid="1193657533641951256">"GPS på"</string>
+    <string name="battery_stats_wifi_running_label" msgid="3093545080361658269">"Wi-Fi"</string>
+    <string name="battery_stats_wake_lock_label" msgid="1908942681902324095">"Aktiv"</string>
+    <string name="battery_stats_phone_signal_label" msgid="6822042940376636775">"Telefonsignal"</string>
     <!-- no translation found for battery_stats_last_duration (1535831453827905957) -->
     <skip />
     <string name="awake" msgid="387122265874485088">"Tid enheten har vært våken"</string>
-    <string name="wifi_on_time" msgid="4630925382578609056">"Tid trådløsnettet har vært aktivt"</string>
-    <string name="bluetooth_on_time" msgid="4478515071957280711">"Tid Bluetooth har vært aktivt"</string>
+    <string name="wifi_on_time" msgid="6310209835617490616">"Wi-Fi on time"</string>
+    <string name="bluetooth_on_time" msgid="6157799524996162271">"Wi-Fi on time"</string>
     <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g> – <xliff:g id="NUMBER">%2$s</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
     <string name="details_title" msgid="7564809986329021063">"Detaljert batteribrukinformasjon"</string>
     <string name="details_subtitle" msgid="32593908269911734">"Bruksdetaljer"</string>
@@ -884,7 +934,9 @@
     <string name="power_idle" msgid="9055659695602194990">"Telefonen ikke i bruk"</string>
     <string name="usage_type_cpu" msgid="715162150698338714">"Prosessor totalt"</string>
     <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"Prosessor i forgrunnen"</string>
+    <string name="usage_type_wake_lock" msgid="5125438890233677880">"Behold aktiv"</string>
     <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string>
+    <string name="usage_type_wifi_running" msgid="8234997940652067049">"WiFi kjører"</string>
     <string name="usage_type_phone" msgid="9108247984998041853">"Telefon"</string>
     <string name="usage_type_data_send" msgid="2857401966985425427">"Data sendt"</string>
     <string name="usage_type_data_recv" msgid="7251090882025234185">"Data mottatt"</string>
@@ -896,7 +948,7 @@
     <string name="battery_action_app_details" msgid="3275013531871113681">"Info om applikasjon"</string>
     <string name="battery_action_app_settings" msgid="350562653472577250">"Innstillinger for applikasjon"</string>
     <string name="battery_action_display" msgid="5302763261448580102">"Innstillinger for skjerm"</string>
-    <string name="battery_action_wifi" msgid="5452076674659927993">"Innstillinger for trådløsnett"</string>
+    <string name="battery_action_wifi" msgid="2272741639606146903">"Innstillinger for Wi-Fi"</string>
     <string name="battery_action_bluetooth" msgid="8374789049507723142">"Innstillinger for Bluetooth"</string>
     <string name="battery_desc_voice" msgid="8980322055722959211">"Batteri brukt av telefonsamtaler"</string>
     <string name="battery_desc_standby" msgid="3009080001948091424">"Batteri brukt når telefonen ikke er i bruk"</string>
@@ -909,9 +961,9 @@
     <string name="battery_desc_bluetooth" msgid="7535520658674621902">"Batteri brukt av Bluetooth"</string>
     <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"Slå av Bluetooth når det ikke er i bruk"</string>
     <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"Prøv å koble til en annen Bluetooth-enhet"</string>
-    <string name="battery_desc_apps" msgid="8123202939321333639">"Batteri brukt av applikasjoner som ikke kjøres"</string>
+    <string name="battery_desc_apps" msgid="6665712811746233450">"Batteri brukt av program"</string>
     <string name="battery_sugg_apps_info" msgid="6065882899391322442">"Stopp eller avinstaller applikasjonen"</string>
-    <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"Skru av GPS når den ikke er i bruk"</string>
+    <string name="battery_sugg_apps_gps" msgid="4545056413090932541">"Kontroller GPS manuelt, for å forhindre at programmer bruker funksjonen"</string>
     <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"Applikasjonen har muligens innstillinger som kan redusere batteribruken"</string>
     <string name="menu_stats_unplugged" msgid="8296577130840261624">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> siden strømmen ble frakoblet"</string>
     <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"Siste gang uten strøm i <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
@@ -919,7 +971,7 @@
     <string name="menu_stats_refresh" msgid="1676215433344981075">"Oppdater"</string>
     <string name="process_kernel_label" msgid="3916858646836739323">"Android-operativsystem"</string>
     <string name="process_mediaserver_label" msgid="6500382062945689285">"Medietjener"</string>
-    <string name="voice_input_output_settings" msgid="1336135218350444783">"Talekommando og -styring"</string>
+    <string name="voice_input_output_settings" msgid="1336135218350444783">"Tale (inn/ut)"</string>
     <string name="voice_input_output_settings_title" msgid="2442850635048676991">"Innstillinger for talekommando og -styring"</string>
     <string name="voice_search_settings_title" msgid="2775469246913196536">"Talesøk"</string>
     <string name="keyboard_settings_title" msgid="5080115226780201234">"Android-tastatur"</string>
@@ -961,6 +1013,8 @@
     <string name="pico_not_installed" msgid="6266845418419994311">"Ikke installert"</string>
     <string name="pico_voice_summary_female" msgid="8047327176247727492">"Kvinne"</string>
     <string name="pico_voice_summary_male" msgid="8331266854058577610">"Mann"</string>
+    <string name="tts_notif_engine_install_title" msgid="7000346872482649034">"Talesyntesemotor installert"</string>
+    <string name="tts_notif_engine_install_message" msgid="5304661142202662693">"Aktiver ny motor før bruk"</string>
     <string name="gadget_title" msgid="7455548605888590466">"Strømkontroll"</string>
     <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Oppdaterer innstilling for Wi-Fi"</string>
     <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Oppdatere Bluetooth-innstilling"</string>
@@ -1047,8 +1101,10 @@
     <string name="credentials_access_summary" msgid="319662078718574168">"Gir applikasjoner tilgang til sikre sertifikater og andre akkreditiver"</string>
     <string name="credentials_unlock" msgid="1463040326264133844">"Velg passord"</string>
     <string name="credentials_unlock_hint" msgid="594679530407918031">"Skriv inn passordet for akkreditivlageret"</string>
-    <string name="credentials_install_certificates" msgid="177337517568022236">"Installer fra minnekort"</string>
-    <string name="credentials_install_certificates_summary" msgid="7737001268684193093">"Installer krypterte sertifikater fra minnekort"</string>
+    <string name="credentials_install_certificates" product="nosdcard" msgid="619171634797689906">"Installer fra USB-lagr."</string>
+    <string name="credentials_install_certificates" product="default" msgid="177337517568022236">"Installer fra minnekort"</string>
+    <string name="credentials_install_certificates_summary" product="nosdcard" msgid="8920330112631198575">"Inst. sert. fra USB-lagr."</string>
+    <string name="credentials_install_certificates_summary" product="default" msgid="7737001268684193093">"Installer krypterte sertifikater fra minnekort"</string>
     <string name="credentials_set_password" msgid="9104473585811899989">"Velg passord"</string>
     <string name="credentials_set_password_summary" msgid="8287876917562085701">"Velg eller endre passord for akkreditivlageret"</string>
     <string name="credentials_reset" msgid="9170150870552453457">"Tøm lager"</string>
@@ -1068,18 +1124,28 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Akkreditivlageret ble tømt."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Akkreditivlageret er aktivert."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Akkreditivlageret er deaktivert."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Kryptert filsystem"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Krypter private brukerdata"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Aktiver lagring av krypterte filer for private brukerdata på denne enheten"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Aktivering av krypterte filsystemer krever en fullstendig datarensing."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Deaktivering av krypterte filsystemer krever en fullstendig datarensing."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Aktiver"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Deaktiver"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Avbryt"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Endring av modus for kryptert filsystem er avbrutt."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Advarsel om kryptert filsystem."</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Nødtone"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Velg oppførsel når en nødsamtale opprettes"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Personvern"</string>
     <string name="privacy_settings_title" msgid="1987089301293213705">"Personverninnstillinger"</string>
     <string name="backup_section_title" msgid="8856083167469467588">"Sikkerhetskopiering og gjenoppretting"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Personlige data"</string>
-    <string name="backup_data_title" msgid="1239105919852668016">"Sikkerhetskopier dataene"</string>
-    <string name="backup_data_summary" msgid="5662190190240860035">"Sikkerhetskopier innstillingene og andre programdata."</string>
+    <string name="backup_data_title" msgid="1239105919852668016">"Sikkerhetskopier data"</string>
+    <string name="backup_data_summary" msgid="6515285107793232815">"Sikkerhetskopier programdata, Wi-Fi-passord og andre innstillinger til Googles tjenere"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Auto-gjenoppretting"</string>
-    <string name="auto_restore_summary" msgid="6867766474057290177">"Gjenopprett sikkerhetskopierte innstillinger og andre data hvis jeg installerer et program på nytt."</string>
+    <string name="auto_restore_summary" msgid="83177150536734378">"Gjenopprett sikkerhetskopierte innstillinger og andre data hvis jeg installerer et program på nytt"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Sikkerhetskopi"</string>
-    <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Er du sikker på at du ønsker å slutte med backup av innstillinger og programdata og fjerne alle kopier på Googles tjenere?"</string>
+    <string name="backup_erase_dialog_message" msgid="7766283133557587608">"Er du sikker på at du ønsker å avslutte sikkerhetskopiering av Wi-Fi-passord, bokmerker og andre innstillinger og programdata og slette alle kopier på Googles tjenere?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Innstillinger for enhetsadministrasjon"</string>
     <string name="active_device_admin_msg" msgid="6930903262612422111">"Enhetsadministrator"</string>
     <string name="remove_device_admin" msgid="3596845261596451437">"Deaktiver"</string>
diff --git a/res/values-nl/arrays.xml b/res/values-nl/arrays.xml
index de010e5..95050d5 100644
--- a/res/values-nl/arrays.xml
+++ b/res/values-nl/arrays.xml
@@ -115,19 +115,6 @@
     <item msgid="1549288661423279207">"Nooit indien aangesloten"</item>
     <item msgid="1986753720941888596">"Nooit"</item>
   </string-array>
-  <string-array name="battery_history_type_spinner">
-    <item msgid="2193799199027871385">"CPU-gebruik"</item>
-    <item msgid="6401018715947316517">"Netwerkgebruik"</item>
-    <item msgid="188092590354892392">"GPS-gebruik"</item>
-    <item msgid="8414109131222049141">"Sensorgebruik"</item>
-    <item msgid="1327904325081257093">"Gedeeltelijk wake-gebruik"</item>
-    <item msgid="4832254146664706277">"Ander gebruik"</item>
-  </string-array>
-  <string-array name="battery_history_which_spinner">
-    <item msgid="3451981114763440074">"Sinds laatste keer losgekoppeld"</item>
-    <item msgid="166936313535197598">"Totaal sinds opstarten"</item>
-    <item msgid="4793941382744963893">"Totaal voor altijd"</item>
-  </string-array>
   <string-array name="usage_stats_display_order_types">
     <item msgid="9077371706468756228">"Gebruikstijd"</item>
     <item msgid="1908750532762193304">"Aantal keer gestart"</item>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index c8f7d65..a4c7ec1 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -45,13 +45,16 @@
     <string name="radioInfo_display_asu" msgid="1422248392727818082">"asu"</string>
     <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string>
     <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string>
-    <string name="sdcard_unmount" msgid="3364184561355611897">"SD-kaart ontkoppelen"</string>
-    <string name="sdcard_format" msgid="362497552060004057">"SD-kaart formatteren"</string>
+    <string name="sdcard_unmount" product="nosdcard" msgid="6325292633327972272">"USB-opslag ontkoppelen"</string>
+    <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD-kaart ontkoppelen"</string>
+    <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB-opslag wissen"</string>
+    <string name="sdcard_format" product="default" msgid="6713185532039187532">"SD-kaart wissen"</string>
     <string name="small_font" msgid="2295331917424072635">"Klein"</string>
     <string name="medium_font" msgid="2068475425515133701">"Gemiddeld"</string>
     <string name="large_font" msgid="599055175160971446">"Groot"</string>
     <string name="font_size_save" msgid="3450855718056759095">"OK"</string>
-    <string name="sdcard_setting" msgid="5922637503871474866">"SD-kaart"</string>
+    <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB-opslag"</string>
+    <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD-kaart"</string>
     <string name="battery_info_status_label" msgid="8109155295509700309">"Accustatus:"</string>
     <string name="battery_info_power_label" msgid="7465140230991349382">"Voedingsstekker:"</string>
     <string name="battery_info_scale_label" msgid="3649763192389778437">"Accuschaal:"</string>
@@ -180,27 +183,34 @@
     <string name="sdcard_changes_instructions" msgid="1364712901180556244">"Wijzigingen worden van kracht als de USB-kabel opnieuw wordt aangesloten"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"USB-massaopslag inschakelen"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"Totaal aantal bytes:"</string>
-    <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"Geen SD-kaart"</string>
+    <string name="sdcard_settings_not_present_status" product="nosdcard" msgid="2902787003418172125">"USB-opslag niet gekoppeld"</string>
+    <string name="sdcard_settings_not_present_status" product="default" msgid="6666688653496819947">"Geen SD-kaart"</string>
     <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"Beschikbare bytes:"</string>
-    <string name="sdcard_settings_mass_storage_status" msgid="4786433969313661655">"SD-kaart wordt gebruikt als apparaat voor massaopslag"</string>
-    <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"U kunt de SD-kaart nu veilig verwijderen"</string>
-    <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"De SD-kaart is verwijderd terwijl deze nog werd gebruikt!"</string>
+    <string name="sdcard_settings_mass_storage_status" product="nosdcard" msgid="2736378870889777857">"USB-opslag wordt gebruikt als apparaat voor massaopslag"</string>
+    <string name="sdcard_settings_mass_storage_status" product="default" msgid="4786433969313661655">"SD-kaart wordt gebruikt als apparaat voor massaopslag"</string>
+    <string name="sdcard_settings_unmounted_status" product="nosdcard" msgid="7503300818792750913">"U kunt de USB-opslag nu veilig verwijderen"</string>
+    <string name="sdcard_settings_unmounted_status" product="default" msgid="3812022095683863087">"U kunt de SD-kaart nu veilig verwijderen"</string>
+    <string name="sdcard_settings_bad_removal_status" product="nosdcard" msgid="7761390725880773697">"USB-opslag verwijderd tijdens gebruik!"</string>
+    <string name="sdcard_settings_bad_removal_status" product="default" msgid="5145797653495907970">"De SD-kaart is verwijderd terwijl deze nog werd gebruikt!"</string>
     <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"Gebruikte bytes:"</string>
-    <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"SD-kaart scannen op media..."</string>
-    <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"Gekoppelde SD-kaart alleen-lezen"</string>
+    <string name="sdcard_settings_scanning_status" product="nosdcard" msgid="7503429447676219564">"USB-opslag scannen op media..."</string>
+    <string name="sdcard_settings_scanning_status" product="default" msgid="2763464949274455656">"SD-kaart scannen op media..."</string>
+    <string name="sdcard_settings_read_only_status" product="nosdcard" msgid="3771783090621312312">"Gekopp. USB-opslag alleen-lezen"</string>
+    <string name="sdcard_settings_read_only_status" product="default" msgid="5706115860484118911">"Gekoppelde SD-kaart alleen-lezen"</string>
     <string name="next_label" msgid="4693520878012668114">"Volgende"</string>
     <string name="language_picker_title" msgid="4034157617842965844">"Landinstelling"</string>
     <string name="select_your_language" msgid="1146235168951906084">"Uw taal selecteren"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Activiteit selecteren"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Apparaatinfo"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Accu-info"</string>
-    <string name="battery_history_label" msgid="8242244969757414501">"Accugeschiedenis"</string>
     <string name="display_label" msgid="7403874003169865762">"Weergave"</string>
     <string name="phone_info_label" msgid="2127552523124277664">"Telefooninfo"</string>
-    <string name="sd_card_settings_label" msgid="5743100901106177102">"SD-kaart"</string>
+    <string name="sd_card_settings_label" product="nosdcard" msgid="8101475181301178428">"USB-opslag"</string>
+    <string name="sd_card_settings_label" product="default" msgid="5743100901106177102">"SD-kaart"</string>
     <string name="proxy_settings_label" msgid="3271174136184391743">"Proxy-instellingen"</string>
     <string name="cancel" msgid="6859253417269739139">"Annuleren"</string>
     <string name="settings_label" msgid="1626402585530130914">"Instellingen"</string>
+    <string name="settings_label_launcher" msgid="8344735489639482340">"Instellingen"</string>
     <string name="settings_shortcut" msgid="3672145147925639262">"Instellingen"</string>
     <string name="airplane_mode" msgid="8837269988154128601">"Vliegmodus"</string>
     <string name="airplane_mode_summary" msgid="3154817401368780988">"Alle draadloze verbindingen uitschakelen"</string>
@@ -323,6 +333,11 @@
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Als luidsprekertelefoon"</string>
     <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Voor muziek en media"</string>
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Instellingen onthouden"</string>
+    <string name="nfc_quick_toggle_title" msgid="6769159366307299004">"NFC"</string>
+    <string name="nfc_quick_toggle_summary" msgid="1988408027741447231">"Near Field Communication gebruiken om tags te lezen en uit te wisselen"</string>
+    <!-- no translation found for nfc_toggle_error (2233172102497535522) -->
+    <!-- no translation found for nfc_toggle_error (8998642457947607263) -->
+    <skip />
     <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Wi-Fi inschakelen"</string>
     <string name="wifi_settings" msgid="4746946030627213196">"Wi-Fi-instellingen"</string>
@@ -376,6 +391,7 @@
     <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Overschakelen opgeven van Wi-Fi naar mobiele gegevens"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Er is een probleem opgetreden bij het instellen van het slaapbeleid."</string>
     <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MAC-adres"</string>
+    <string name="wifi_advanced_ip_address_title" msgid="6215297094363164846">"IP-adres"</string>
     <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP-instellingen"</string>
     <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Opslaan"</string>
     <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Annuleren"</string>
@@ -496,9 +512,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Status"</string>
     <string name="device_status" msgid="607405385799807324">"Status"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Telefoonnummer, signaal, enzovoort"</string>
-    <string name="storage_settings" msgid="6681164315506788024">"SD-kaart en geheugen"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Instellingen SD-kaart en telefoongeheugen"</string>
-    <string name="storage_settings_summary" msgid="9176693537325988610">"SD-kaart ontkoppelen, beschikbare opslagruimte weergeven"</string>
+    <string name="storage_settings" msgid="4211799979832404953">"Opslagruimte"</string>
+    <string name="storage_settings_title" msgid="8746016738388094064">"Instellingen voor opslag"</string>
+    <string name="storage_settings_summary" product="nosdcard" msgid="3543813623294870759">"USB-opslag ontkoppelen, beschikbare opslag weergeven"</string>
+    <string name="storage_settings_summary" product="default" msgid="9176693537325988610">"SD-kaart ontkoppelen, beschikbare opslagruimte weergeven"</string>
     <string name="status_number" msgid="5123197324870153205">"Mijn telefoonnummer"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
     <string name="status_prl_version" msgid="8499039751817386529">"PRL-versie"</string>
@@ -514,24 +531,36 @@
     <string name="status_unavailable" msgid="7862009036663793314">"Niet beschikbaar"</string>
     <string name="status_up_time" msgid="7294859476816760399">"Bedrijfstijd"</string>
     <string name="status_awake_time" msgid="2393949909051183652">"Stand-bytijd"</string>
-    <string name="internal_memory" msgid="1130932766236387454">"Intern telefoongeheugen"</string>
-    <string name="sd_memory" msgid="151871913888051515">"SD-kaart"</string>
+    <string name="internal_memory" msgid="9129595691484260784">"Interne opslag"</string>
+    <string name="sd_memory" product="nosdcard" msgid="2510246194083052841">"USB-opslag"</string>
+    <string name="sd_memory" product="default" msgid="151871913888051515">"SD-kaart"</string>
     <string name="memory_available" msgid="418542433817289474">"Beschikbare ruimte"</string>
     <string name="memory_size" msgid="6629067715017232195">"Totale ruimte"</string>
-    <string name="sd_eject" msgid="6915293408836853020">"SD-kaart ontkoppelen"</string>
-    <string name="sd_eject_summary" msgid="3315557796211542962">"De SD-kaart ontkoppelen zodat u deze veilig kunt verwijderen"</string>
-    <string name="sd_insert_summary" msgid="2048640010381803841">"Plaats een SD-kaart om deze te koppelen"</string>
-    <string name="sd_mount" msgid="5940523765187704135">"SD-kaart koppelen"</string>
-    <string name="sd_mount_summary" msgid="4936591681679097699">"De SD-kaart koppelen"</string>
-    <string name="sd_format" msgid="5448738337382712203">"SD-kaart formatteren"</string>
-    <string name="sd_format_summary" msgid="6616491027883134004">"De SD-kaart formatteren (wissen)"</string>
+    <string name="sd_eject" product="default" msgid="6915293408836853020">"SD-kaart ontkoppelen"</string>
+    <string name="sd_eject_summary" product="nosdcard" msgid="5009296896648072891">"Interne USB-opslag ontkoppelen"</string>
+    <string name="sd_eject_summary" product="default" msgid="3300599435073550246">"Ontkoppel de SD-kaart zodat u deze veilig kunt verwijderen"</string>
+    <string name="sd_insert_summary" product="nosdcard" msgid="5264016886409577313">"USB-opslag plaatsen voor koppelen"</string>
+    <string name="sd_insert_summary" product="default" msgid="2048640010381803841">"Plaats een SD-kaart om deze te koppelen"</string>
+    <string name="sd_mount" product="nosdcard" msgid="8966695015677343116">"USB-opslag koppelen"</string>
+    <string name="sd_mount" product="default" msgid="5940523765187704135">"SD-kaart koppelen"</string>
+    <!-- outdated translation 6733254203291665551 -->     <string name="sd_mount_summary" product="nosdcard" msgid="1794150364965145726">"Interne USB-opslag koppelen"</string>
+    <string name="sd_mount_summary" product="default" msgid="4936591681679097699">"De SD-kaart koppelen"</string>
+    <string name="sd_format" product="nosdcard" msgid="2148179271623099054">"USB-opslag wissen"</string>
+    <string name="sd_format" product="default" msgid="2576054280507119870">"SD-kaart wissen"</string>
+    <string name="sd_format_summary" product="nosdcard" msgid="1504606546865152514">"Hiermee worden alle gegevens in de interne USB-opslag van de telefoon gewist, zoals muziek en foto\'s"</string>
+    <string name="sd_format_summary" product="default" msgid="915849621390821841">"Hiermee worden alle gegevens op de SD-kaart van de telefoon gewist, zoals muziek en foto\'s"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"Niet beschikbaar"</string>
     <string name="read_only" msgid="6702420168629076340">" (Alleen-lezen)"</string>
-    <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"SD-kaart ontkoppelen"</string>
-    <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Als u de SD-kaart ontkoppelt, worden bepaalde toepassingen die u gebruikt, gestopt en worden deze mogelijk pas weer beschikbaar wanneer u de SD-kaart opnieuw koppelt."</string>
-    <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Ontkoppelen van SD-kaart is mislukt"</string>
-    <string name="dlg_error_unmount_text" msgid="9188972789897713180">"Kan SD-kaart niet ontkoppelen. Probeer het later opnieuw."</string>
-    <string name="unmount_inform_text" msgid="3213378327712151498">"SD-kaart wordt ontkoppeld. Controleer het gedeelte met meldingen voor de status."</string>
+    <string name="dlg_confirm_unmount_title" product="nosdcard" msgid="2349876662428231297">"USB-opslag ontkoppelen"</string>
+    <string name="dlg_confirm_unmount_title" product="default" msgid="8612140627310646730">"SD-kaart ontkoppelen"</string>
+    <string name="dlg_confirm_unmount_text" product="nosdcard" msgid="3390169455621185223">"Als u de USB-opslag ontkoppelt, worden bepaalde toepassingen die u gebruikt, gestopt en worden deze mogelijk pas weer beschikbaar wanneer u de USB-opslag opnieuw koppelt."</string>
+    <string name="dlg_confirm_unmount_text" product="default" msgid="5851214273718817727">"Als u de SD-kaart ontkoppelt, worden bepaalde toepassingen die u gebruikt, gestopt en worden deze mogelijk pas weer beschikbaar wanneer u de SD-kaart opnieuw koppelt."</string>
+    <string name="dlg_error_unmount_title" product="nosdcard" msgid="7695491947411836733">"Ontkoppelen USB-opslag mislukt"</string>
+    <string name="dlg_error_unmount_title" product="default" msgid="4004106918266783081">"Ontkoppelen van SD-kaart is mislukt"</string>
+    <string name="dlg_error_unmount_text" product="nosdcard" msgid="1450864147013376592">"Kan USB-opslag niet koppelen. Probeer het later opnieuw."</string>
+    <string name="dlg_error_unmount_text" product="default" msgid="9188972789897713180">"Kan SD-kaart niet ontkoppelen. Probeer het later opnieuw."</string>
+    <string name="unmount_inform_text" product="nosdcard" msgid="7120241136790744265">"USB-opslag wordt ontkoppeld."</string>
+    <string name="unmount_inform_text" product="default" msgid="1904212716075458402">"SD-kaart wordt ontkoppeld."</string>
     <string name="sd_ejecting_title" msgid="8824572198034365468">"Ontkoppelen"</string>
     <string name="sd_ejecting_summary" msgid="2028753069184908491">"Ontkoppelen wordt uitgevoerd"</string>
     <string name="battery_status_title" msgid="9159414319574976203">"Accustatus"</string>
@@ -571,21 +600,32 @@
     <string name="restore_default_apn_completed" msgid="3990449939234957281">"Herstellen van standaard-APN-instellingen voltooid"</string>
     <string name="master_clear_title" msgid="5907939616087039756">"Fabrieksinstellingen terug"</string>
     <string name="master_clear_summary" msgid="4986154238001088492">"Alle gegevens op de telefoon wissen"</string>
-    <string name="master_clear_desc" msgid="7823268823499739178">"Deze functie wist alle gegevens van uw telefoon, waaronder:"\n<li>"Uw Google-account"</li>\n<li>"Systeem- en toepassingsgegevens en -instellingen"</li>\n<li>"Gedownloade toepassingen"</li>"De volgende gegevens worden niet gewist:"\n\n<li>"Huidige systeemsoftware en gebundelde toepassingen"</li>\n<li>"Bestanden op de SD-kaart, zoals muziek en foto\'s"</li></string>
+    <string name="master_clear_desc" product="nosdcard" msgid="2163013814299528247">"Hiermee worden alle gegevens in de "<b>"interne opslag"</b>" van uw telefoon gewist, waaronder:"\n\n<li>"Uw Google-account"</li>\n<li>"Gegevens en instellingen van het systeem en de toepassingen"</li>\n<li>"Gedownloade toepassingen"</li>\n\n"Als u alle gegevens op deze telefoon wilt wissen, moet de "<b>"USB-opslag"</b>" worden gewist."\n\n</string>
+    <string name="master_clear_desc" product="default" msgid="1741944496458365969">"Hiermee worden alle gegevens in de "<b>"interne opslag"</b>" van uw telefoon gewist, waaronder:"\n\n<li>"Uw Google-account"</li>\n<li>"Gegevens en instellingen van het systeem en de toepassingen"</li>\n<li>"Gedownloade toepassingen"</li>\n\n"Als u ook muziek, foto\'s en andere gegevens wilt wissen, moet de "<b>"SD-kaart"</b>" worden gewist."\n\n</string>
+    <string name="erase_external_storage" product="nosdcard" msgid="969364037450286809">"USB-opslag wissen"</string>
+    <string name="erase_external_storage" product="default" msgid="1397239046334307625">"SD-kaart wissen"</string>
+    <string name="erase_external_storage_description" product="nosdcard" msgid="1657838142707381027">"Alle gegevens in de interne USB-opslag van de telefoon wissen, zoals muziek en foto\'s."</string>
+    <string name="erase_external_storage_description" product="default" msgid="8100175974635894073">"Alle gegevens op de SD-kaart van de telefoon wissen, zoals muziek en foto\'s."</string>
     <string name="master_clear_button_text" msgid="7550632653343157971">"Telefoon opnieuw instellen"</string>
     <string name="master_clear_final_desc" msgid="6917971132484622696">"Alle persoonlijke gegevens en gedownloade toepassingen wissen? U kunt deze actie niet ongedaan maken."</string>
     <string name="master_clear_final_button_text" msgid="5390908019019242910">"Alles wissen"</string>
     <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Teken uw ontgrendelingspatroon"</string>
     <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"U moet uw ontgrendelingspatroon tekenen om het opnieuw instellen van de telefoon te bevestigen."</string>
     <string name="master_clear_failed" msgid="8655202125010189406">"Niet opnieuw ingesteld, omdat de service \'Systeem wissen\' niet beschikbaar is."</string>
-    <string name="media_format_title" msgid="4671276096695789895">"SD-kaart formatteren."</string>
-    <string name="media_format_summary" msgid="3805714639375830120">"Alle gegevens op de SD-kaart wissen"</string>
-    <string name="media_format_desc" msgid="1142563222357820834">"Deze actie wist de gegevens van de SD-kaart die in de telefoon is geplaatst. ALLE gegevens op de kaart gaan dan verloren."</string>
-    <string name="media_format_button_text" msgid="370856400090190151">"SD-kaart formatteren"</string>
-    <string name="media_format_final_desc" msgid="1776666694910717198">"Wilt u de SD-kaart formatteren en al uw mediabestanden wissen? Deze actie kan niet ongedaan worden gemaakt."</string>
+    <string name="media_format_title" product="nosdcard" msgid="3999653431422767156">"USB-opslag wissen"</string>
+    <string name="media_format_title" product="default" msgid="4427528440306787972">"SD-kaart wissen"</string>
+    <string name="media_format_summary" product="nosdcard" msgid="776603298628082065">"Alle gegevens in USB-opslag wissen"</string>
+    <string name="media_format_summary" product="default" msgid="3805714639375830120">"Alle gegevens op de SD-kaart wissen"</string>
+    <string name="media_format_desc" product="nosdcard" msgid="4553860683952763905">"Met deze actie wordt de USB-opslag gewist. "<b>"Alle"</b>" opgeslagen gegevens gaan verloren!"</string>
+    <string name="media_format_desc" product="default" msgid="1598627584181935513">"Met deze actie wordt de SD-kaart gewist. "<b>"Alle"</b>" gegevens op de kaart gaan verloren!"</string>
+    <string name="media_format_button_text" product="nosdcard" msgid="6293669371185352810">"USB-opslag wissen"</string>
+    <string name="media_format_button_text" product="default" msgid="6721544380069373626">"SD-kaart wissen"</string>
+    <string name="media_format_final_desc" product="nosdcard" msgid="8094635533378487255">"USB-opslag formatteren en alle opgeslagen bestanden wissen? Actie kan niet ongedaan worden gemaakt."</string>
+    <string name="media_format_final_desc" product="default" msgid="9015504991522581434">"SD-kaart wissen en alle opgeslagen bestanden verwijderen? Actie kan niet ongedaan worden gemaakt."</string>
     <string name="media_format_final_button_text" msgid="4881713344315923175">"Alles wissen"</string>
     <string name="media_format_gesture_prompt" msgid="3109349468816856670">"Teken uw ontgrendelingspatroon"</string>
-    <string name="media_format_gesture_explanation" msgid="4239529439389660159">"U moet uw ontgrendelingspatroon tekenen om het formatteren van een SD-kaart te bevestigen."</string>
+    <string name="media_format_gesture_explanation" product="nosdcard" msgid="1379736318750958338">"U moet het ontgrendelingspatroon tekenen om te bevestigen dat u de USB-opslag wilt formatteren."</string>
+    <string name="media_format_gesture_explanation" product="default" msgid="1681213416497647321">"U moet het ontgrendelingspatroon tekenen om te bevestigen dat u de SD-kaart wilt wissen."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Oproepinstellingen"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Voicemail, oproepen doorschakelen, wisselgesprek, beller-id instellen"</string>
     <string name="tether_settings_title_usb" msgid="4315031513434087777">"Tethering"</string>
@@ -609,7 +649,7 @@
     <string name="location_networks_disabled" msgid="2708968452901433980">"Locatie in toepassingen (zoals Maps) bekijken via draadloze netwerken"</string>
     <string name="location_neighborhood_level" msgid="4656658097932515921">"Locatie bepaald door Wi-Fi en/of mobiele netwerken"</string>
     <string name="location_gps" msgid="6296125378829097831">"GPS-satellieten"</string>
-    <string name="location_street_level" msgid="6460740847018275745">"Locatie tot op straatniveau (uitschakelen om acculading te sparen)"</string>
+    <string name="location_street_level" msgid="7456259025474443314">"Bij lokaliseren nauwkeurig tot straatniveau"</string>
     <string name="location_gps_disabled" msgid="6632537158777308128">"Locatie bepalen tot op straatniveau (meer stroom nodig en luchtweergave)"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"Ondersteunde GPS gebruiken"</string>
     <string name="assisted_gps_enabled" msgid="8751899609589792803">"Server gebruiken ter ondersteuning van GPS (uitschakelen om het netwerkgebruik te beperken)"</string>
@@ -692,22 +732,31 @@
     <string name="application_size_label" msgid="5055196275624686382">"Toepassing"</string>
     <string name="data_size_label" msgid="8679376373625710107">"Gegevens"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Verwijderen"</string>
+    <string name="disable_text" msgid="6544054052049395202">"Uitschakelen"</string>
+    <string name="enable_text" msgid="9217362512327828987">"Inschakelen"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Gegevens wissen"</string>
     <string name="app_factory_reset" msgid="6635744722502563022">"Updates verwijderen"</string>
     <string name="auto_launch_enable_text" msgid="2630656657744196691">"U heeft ervoor gekozen om deze toepassing standaard te starten voor bepaalde acties."</string>
     <string name="auto_launch_disable_text" msgid="7800385822185540166">"Geen standaardwaarden ingesteld."</string>
     <string name="clear_activities" msgid="7408923511535174430">"Standaardwaarden wissen"</string>
     <string name="unknown" msgid="1592123443519355854">"Onbekend"</string>
-    <string name="sort_order_alpha" msgid="8622029358896599842">"Sorteren"</string>
+    <string name="sort_order_alpha" msgid="1410278099123670628">"Sorteren op naam"</string>
     <string name="sort_order_size" msgid="7024513286636502362">"Sorteren op grootte"</string>
+    <string name="show_running_services" msgid="5736278767975544570">"Actieve services weergeven"</string>
+    <string name="show_background_processes" msgid="2009840211972293429">"Gecachte processen weerg."</string>
     <string name="manage_space_text" msgid="8852711522447794676">"Ruimte beheren"</string>
     <string name="filter" msgid="2018011724373033887">"Filter"</string>
     <string name="filter_dlg_title" msgid="6507663329723966854">"Filteropties selecteren"</string>
     <string name="filter_apps_all" msgid="5142129378749391876">"Alles"</string>
     <string name="filter_apps_third_party" msgid="7786348047690140979">"Gedownload"</string>
     <string name="filter_apps_running" msgid="7767071454371350486">"Wordt uitgevoerd"</string>
-    <string name="filter_apps_onsdcard" msgid="1477351142334784771">"Op SD-kaart"</string>
-    <string name="loading" msgid="3200408047793887917">"Laden..."</string>
+    <string name="filter_apps_onsdcard" product="nosdcard" msgid="4843063154701023349">"USB-opslag"</string>
+    <string name="filter_apps_onsdcard" product="default" msgid="1477351142334784771">"Op SD-kaart"</string>
+    <string name="disabled" msgid="9206776641295849915">"Uitgeschakeld"</string>
+    <string name="no_applications" msgid="5190227407135243904">"Geen toepassingen."</string>
+    <string name="internal_storage" msgid="1584700623164275282">"Interne opslag"</string>
+    <string name="sd_card_storage" product="nosdcard" msgid="2673203150465132465">"USB-opslag"</string>
+    <string name="sd_card_storage" product="default" msgid="7623513618171928235">"SD-kaartopslag"</string>
     <string name="recompute_size" msgid="7722567982831691718">"Grootte opnieuw berekenen..."</string>
     <string name="clear_data_dlg_title" msgid="4470209520936375508">"Verwijderen"</string>
     <string name="clear_data_dlg_text" msgid="8368035073300828451">"Alle gegevens van deze toepassing worden permanent verwijderd. Dit omvat alle bestanden, instellingen, accounts, databases, enzovoort."</string>
@@ -727,7 +776,8 @@
     <string name="version_text" msgid="9189073826278676425">"versie <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5042838441401731346">"Verplaatsen"</string>
     <string name="move_app_to_internal" msgid="3895430471913858185">"Verplaatsen naar telefoon"</string>
-    <string name="move_app_to_sdcard" msgid="1143379049903056407">"Verplaatsen naar SD-kaart"</string>
+    <string name="move_app_to_sdcard" product="nosdcard" msgid="4350451696315265420">"Verpl. naar USB-opslag"</string>
+    <string name="move_app_to_sdcard" product="default" msgid="1143379049903056407">"Verplaatsen naar SD-kaart"</string>
     <string name="moving" msgid="6431016143218876491">"Verplaatsen"</string>
     <string name="insufficient_storage" msgid="8566913062094452962">"Er is niet voldoende opslag beschikbaar."</string>
     <string name="does_not_exist" msgid="837163572898468245">"De toepassing bestaat niet."</string>
@@ -735,29 +785,49 @@
     <string name="invalid_location" msgid="4934491353200240499">"De opgegeven installatielocatie is niet geldig."</string>
     <string name="system_package" msgid="1030561474413022831">"Systeemupdates kunnen niet worden geïnstalleerd op externe media."</string>
     <string name="force_stop_dlg_title" msgid="4289453224368188476">"Gedwongen stoppen"</string>
-    <string name="force_stop_dlg_text" msgid="3381302041569982075">"Deze toepassing wordt onmiddellijk opnieuw gestart. Weet u zeker dat u gedwongen wilt stoppen?"</string>
+    <string name="force_stop_dlg_text" msgid="5157374701213502922">"Als u een toepassing geforceerd stopt, kan de toepassing zich onverwacht gedragen. Weet u het zeker?"</string>
     <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Toepassing verplaatsen"</string>
     <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Verplaatsen van toepassing is mislukt. <xliff:g id="REASON">%1$s</xliff:g>"</string>
     <string name="app_install_location_title" msgid="2068975150026852168">"Voorkeursinstallatielocatie"</string>
     <string name="app_install_location_summary" msgid="879753854530300436">"De voorkeursinstallatielocatie voor nieuwe toepassingen wijzigen."</string>
+    <string name="storageuse_settings_title" msgid="5657014373502630403">"Opslaggebruik"</string>
+    <string name="storageuse_settings_summary" msgid="2556057379120846792">"Gebruikte opslagruimte voor toepassingen weergeven"</string>
     <string name="runningservices_settings_title" msgid="8097287939865165213">"Actieve services"</string>
     <string name="runningservices_settings_summary" msgid="854608995821032748">"Services die momenteel actief zijn, weergeven en beheren"</string>
     <string name="service_restarting" msgid="2242747937372354306">"Opnieuw starten"</string>
-    <string name="no_running_services" msgid="6981216347270280598">"Er zijn geen actieve services"</string>
-    <string name="confirm_stop_service" msgid="5700448757318301681">"Service stopzetten?"</string>
-    <string name="confirm_stop_service_msg" msgid="1166661293369421272">"De service wordt niet langer uitgevoerd totdat deze opnieuw wordt gestart. Dit heeft mogelijk nadelige gevolgen voor de toepassing <xliff:g id="APPLICATION">%1$s</xliff:g>."</string>
-    <string name="confirm_stop_stop" msgid="7382363913280993331">"Stoppen"</string>
-    <string name="confirm_stop_cancel" msgid="206495326622692381">"Annuleren"</string>
-    <string name="service_started_by_app" msgid="8432097226392386802">"Gestart door toepassing: aanraken om te stoppen"</string>
-    <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: aanraken om te beheren"</string>
-    <string name="service_background_processes" msgid="5158600475629177758">"Beschikbaar: <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g> in <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_foreground_processes" msgid="4013890350284680796">"Overig: <xliff:g id="MEMORY">%2$s</xliff:g> in <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_process_name" msgid="8630408984456958400">"Proces: <xliff:g id="PROCESS">%1$s</xliff:g>"</string>
+    <string name="cached" msgid="1059590879740175019">"Gecacht achtergrondproces"</string>
+    <string name="no_running_services" msgid="2059536495597645347">"Niets wordt uitgevoerd."</string>
+    <string name="service_started_by_app" msgid="6575184738671598131">"Gestart door toepassing."</string>
+    <!-- no translation found for service_client_name (4037193625611815517) -->
+    <skip />
+    <string name="service_background_processes" msgid="6844156253576174488">"<xliff:g id="MEMORY">%1$s</xliff:g> vrij"</string>
+    <string name="service_foreground_processes" msgid="7583975676795574276">"<xliff:g id="MEMORY">%1$s</xliff:g> gebr."</string>
+    <string name="memory" msgid="6609961111091483458">"RAM"</string>
+    <!-- no translation found for service_process_name (4098932168654826656) -->
+    <skip />
+    <string name="running_processes_item_description_s_s" msgid="5790575965282023145">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> proces en <xliff:g id="NUMSERVICES">%2$d</xliff:g> service"</string>
+    <string name="running_processes_item_description_s_p" msgid="8019860457123222953">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> proces en <xliff:g id="NUMSERVICES">%2$d</xliff:g> services"</string>
+    <string name="running_processes_item_description_p_s" msgid="744424668287252915">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processen en <xliff:g id="NUMSERVICES">%2$d</xliff:g> service"</string>
+    <string name="running_processes_item_description_p_p" msgid="1607384595790852782">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processen en <xliff:g id="NUMSERVICES">%2$d</xliff:g> services"</string>
+    <string name="runningservicedetails_settings_title" msgid="6188692418986988288">"Uitgevoerde toepassing"</string>
+    <string name="no_services" msgid="7133900764462288263">"Niet actief"</string>
+    <string name="runningservicedetails_services_title" msgid="391168243725357375">"Services"</string>
+    <string name="runningservicedetails_processes_title" msgid="928115582044655268">"Processen"</string>
+    <string name="service_stop" msgid="6369807553277527248">"Stoppen"</string>
+    <string name="service_manage" msgid="1876642087421959194">"Instellingen"</string>
+    <string name="service_stop_description" msgid="3261798282116866961">"Deze service is gestart door de toepassing. Als de service wordt gestopt, kan de toepassing vastlopen."</string>
+    <string name="heavy_weight_stop_description" msgid="6855241582643136019">"Deze toepassing kan niet veilig worden gestopt. Als de toepassing wordt gestopt, kunt u een deel van uw huidige werk kwijtraken."</string>
+    <string name="background_process_stop_description" msgid="1728354083304746737">"Dit is een oud toepassingsproces dat is behouden voor hogere snelheid in geval het weer nodig is. Er is meestal geen reden om dit te stoppen."</string>
+    <string name="service_manage_description" msgid="7050092269951613102">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: momenteel in gebruik. Raak \'Instellingen\' aan om dit te bedienen."</string>
+    <string name="main_running_process_description" msgid="929204645380391397">"Hoofdproces dat in gebruik is."</string>
+    <string name="process_service_in_use_description" msgid="8993335064403217080">"Service <xliff:g id="COMP_NAME">%1$s</xliff:g> in gebruik."</string>
+    <string name="process_provider_in_use_description" msgid="5586603325677678940">"Provider <xliff:g id="COMP_NAME">%1$s</xliff:g> in gebruik."</string>
+    <string name="runningservicedetails_stop_dlg_title" msgid="4253292537154337233">"Systeemservice stoppen?"</string>
+    <string name="runningservicedetails_stop_dlg_text" msgid="6929716497425738387">"Weet u zeker dat u deze systeemservice wilt stoppen? Als u dit doet, werken bepaalde functies van uw telefoon mogelijk pas weer correct nadat u de telefoon heeft uitgeschakeld en weer ingeschakeld."</string>
     <string name="language_settings" msgid="502219872342167227">"Taal en toetsenbord"</string>
     <string name="language_keyboard_settings_title" msgid="3455826933385341107">"Taal- en toetsenbordinstellingen"</string>
-    <string name="language_settings_summary" msgid="595647729475399987">"Instellingen voor taal en regio, tekstinvoer en autocorrectieopties opgeven"</string>
-    <string name="language_category" msgid="3391756582724541530">"Landinstelling"</string>
-    <string name="text_category" msgid="6342540511465136739">"Tekstinstellingen"</string>
+    <string name="language_settings_category" msgid="2288258489940617043">"Taalinstellingen"</string>
+    <string name="keyboard_settings_category" msgid="7060453865544070642">"Toetsenbordinstellingen"</string>
     <string name="phone_language" msgid="1165758957501090679">"Taal selecteren"</string>
     <string name="phone_language_summary" msgid="3871309445655554211"></string>
     <string name="auto_replace" msgid="6199184757891937822">"Automatisch vervangen"</string>
@@ -782,7 +852,6 @@
     <string name="testing" msgid="6584352735303604146">"Testen"</string>
     <string name="testing_phone_info" msgid="8656693364332840056">"Telefooninformatie"</string>
     <string name="testing_battery_info" msgid="3497865525976497848">"Accu-informatie"</string>
-    <string name="testing_battery_history" msgid="3043329445810695647">"Accugeschiedenis"</string>
     <string name="quick_launch_title" msgid="7904609846945905306">"Snelstarten"</string>
     <string name="quick_launch_summary" msgid="3453825712466417452">"Sneltoetsen instellen voor starten toepassingen"</string>
     <string name="quick_launch_assign_application" msgid="4521368464929956350">"Toepassing toewijzen"</string>
@@ -798,8 +867,8 @@
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Opties voor tekstinvoer beheren"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Instellingen voor <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Instellingen voor schermtoetsenbord"</string>
-    <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"Apparaattoetsenbord"</string>
-    <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"Instellingen voor ingebouwd toetsenbord"</string>
+    <string name="builtin_keyboard_settings_title" msgid="5274990495405941804">"Geïntegreerd toetsenbord"</string>
+    <string name="builtin_keyboard_settings_summary" msgid="7990296351888096836">"Geïntegreerde, fysieke toetsenbordinstellingen"</string>
     <string name="development_settings_title" msgid="6719732334835420989">"Ontwikkeling"</string>
     <string name="development_settings_summary" msgid="2151320488701538355">"Opties instellen voor toepassingsontwikkeling"</string>
     <string name="enable_adb" msgid="7982306934419797485">"USB-foutopsporing"</string>
@@ -812,36 +881,10 @@
     <string name="adb_warning_message" msgid="5352555112049663033">"USB-foutopsporing is alleen bedoeld voor ontwikkelingsdoeleinden. Het kan worden gebruikt om gegevens te kopiëren tussen uw computer en uw apparaat, om toepassingen zonder melding op uw apparaat te installeren en om loggegevens te lezen."</string>
     <string name="gadget_picker_title" msgid="98374951396755811">"Gadget kiezen"</string>
     <string name="widget_picker_title" msgid="9130684134213467557">"Widget kiezen"</string>
-    <string name="battery_history_details_for" msgid="5924639922153109669">"Details voor UID <xliff:g id="NUMBER">%d</xliff:g>"</string>
-    <string name="battery_history_uid" msgid="1016606150528436298">"UID <xliff:g id="USER_ID">%1$d</xliff:g>"</string>
-    <string name="battery_history_network_usage" msgid="8010852371665217020">"Netwerkgebruiksdetails voor <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_bytes_received" msgid="980307569180518302">"Bytes ontvangen: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_sent" msgid="2501748768602119159">"Bytes verzonden: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_total" msgid="4444807574361642753">"Totaal aantal bytes: <xliff:g id="BYTES">%1$d</xliff:g>\n"</string>
-    <string name="battery_history_cpu_usage" msgid="2597353713014790877">"CPU-gebruiksdetails voor <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_user_time" msgid="6227507614894791359">"Gebruikerstijd:"</string>
-    <string name="battery_history_system_time" msgid="2015862072724507547">"Systeemtijd:"</string>
-    <string name="battery_history_total_time" msgid="3618703970098556104">"Totale tijdsduur:"</string>
-    <string name="battery_history_starts" msgid="9137453931978571696">"Aantal keren gestart: <xliff:g id="STARTS">%1$d</xliff:g>"</string>
     <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g>d <xliff:g id="HOURS">%2$d</xliff:g>u <xliff:g id="MINUTES">%3$d</xliff:g>m <xliff:g id="SECONDS">%4$d</xliff:g>s"</string>
     <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g>u <xliff:g id="MINUTES">%2$d</xliff:g>m <xliff:g id="SECONDS">%3$d</xliff:g>s"</string>
     <string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g>m <xliff:g id="SECONDS">%2$d</xliff:g>s"</string>
     <string name="battery_history_seconds" msgid="4283492130945761685">"<xliff:g id="SECONDS">%1$d</xliff:g>s"</string>
-    <string name="battery_history_packages_sharing_this_uid" msgid="4101596071379250050">"Pakketten die deze UID delen:"</string>
-    <string name="battery_history_no_data" msgid="1177238743237067617">"Er zijn geen beschikbare gebruiksgegevens van de accu"</string>
-    <string name="battery_history_sensor" msgid="2333488996028993982">"Sensor:"</string>
-    <string name="battery_history_wakelock" msgid="608683447522396293">"Gedeeltelijke wakelock:"</string>
-    <string name="battery_history_used_by_packages" msgid="3000711380023436470">"De sensor wordt gebruikt door de volgende pakketten:"</string>
-    <string name="battery_history_sensor_usage" msgid="3593133338613209024">"<xliff:g id="COUNT">%1$d</xliff:g> keer gebruikt door <xliff:g id="PACKAGE">%2$s</xliff:g>"</string>
-    <string name="battery_history_sensor_usage_multi" msgid="4536084375991014508">"<xliff:g id="COUNT">%1$d</xliff:g> keer gebruikt door een van de volgende:"</string>
-    <string name="battery_history_awake_label" msgid="8449792868990080882">"Wordt uitgevoerd"</string>
-    <string name="battery_history_screen_on_label" msgid="1848936521786339362">"Scherm aan"</string>
-    <string name="battery_history_phone_on_label" msgid="700191958853142297">"Telefoon aan"</string>
-    <string name="battery_history_awake" msgid="4350886665719031057">"Tijd verstreken zonder slaapstand:"</string>
-    <string name="battery_history_screen_on" msgid="1377240025275657277">"Tijd verstreken met scherm aan:"</string>
-    <string name="battery_history_phone_on" msgid="4891504401623839532">"Tijd verstreken met telefoon aan:"</string>
-    <string name="battery_history_screen_on_battery" msgid="536058210445081888">"Op accu:"</string>
-    <string name="battery_history_screen_on_plugged" msgid="5019127390021871260">"Opladen:"</string>
     <string name="usage_stats_label" msgid="5890846333487083609">"Gebruiksstatistieken"</string>
     <string name="testing_usage_stats" msgid="7823048598893937339">"Gebruiksstatistieken"</string>
     <string name="display_order_text" msgid="8592776965827565271">"Sorteren op:"</string>
@@ -865,12 +908,19 @@
     <string name="power_usage_summary" msgid="7237084831082848168">"Waarvoor de accu is gebruikt"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Accugebruik sinds losgekoppeld"</string>
     <string name="battery_since_reset" msgid="7464546661121187045">"Accugebruik sinds herstel"</string>
+    <string name="battery_stats_on_battery" msgid="4970762168505236033">"<xliff:g id="TIME">%1$s</xliff:g> op accu"</string>
     <string name="battery_stats_duration" msgid="7464501326709469282">"<xliff:g id="TIME">%1$s</xliff:g> sinds losgekoppeld"</string>
+    <string name="battery_stats_charging_label" msgid="4223311142875178785">"Opladen"</string>
+    <string name="battery_stats_screen_on_label" msgid="7150221809877509708">"Scherm aan"</string>
+    <string name="battery_stats_gps_on_label" msgid="1193657533641951256">"GPS ingeschakeld"</string>
+    <string name="battery_stats_wifi_running_label" msgid="3093545080361658269">"Wi-Fi"</string>
+    <string name="battery_stats_wake_lock_label" msgid="1908942681902324095">"Ingeschakeld"</string>
+    <string name="battery_stats_phone_signal_label" msgid="6822042940376636775">"Telefoonsignaal"</string>
     <!-- no translation found for battery_stats_last_duration (1535831453827905957) -->
     <skip />
     <string name="awake" msgid="387122265874485088">"Stand-bytijd apparaat"</string>
-    <string name="wifi_on_time" msgid="4630925382578609056">"Tijd Wi-Fi aan"</string>
-    <string name="bluetooth_on_time" msgid="4478515071957280711">"Tijd Wi-Fi aan"</string>
+    <string name="wifi_on_time" msgid="6310209835617490616">"Wi-Fi op tijd"</string>
+    <string name="bluetooth_on_time" msgid="6157799524996162271">"Wi-Fi op tijd"</string>
     <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g> - <xliff:g id="NUMBER">%2$s</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
     <string name="details_title" msgid="7564809986329021063">"Details over accugebruik"</string>
     <string name="details_subtitle" msgid="32593908269911734">"Gebruiksdetails"</string>
@@ -884,7 +934,9 @@
     <string name="power_idle" msgid="9055659695602194990">"Telefoon inactief"</string>
     <string name="usage_type_cpu" msgid="715162150698338714">"CPU-totaal"</string>
     <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"CPU op voorgrond"</string>
+    <string name="usage_type_wake_lock" msgid="5125438890233677880">"Ingeschakeld houden"</string>
     <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string>
+    <string name="usage_type_wifi_running" msgid="8234997940652067049">"Wi-Fi actief"</string>
     <string name="usage_type_phone" msgid="9108247984998041853">"Telefoon"</string>
     <string name="usage_type_data_send" msgid="2857401966985425427">"Gegevens verzonden"</string>
     <string name="usage_type_data_recv" msgid="7251090882025234185">"Gegevens ontvangen"</string>
@@ -896,7 +948,7 @@
     <string name="battery_action_app_details" msgid="3275013531871113681">"Toepassingsinfo"</string>
     <string name="battery_action_app_settings" msgid="350562653472577250">"Toepassingsinstellingen"</string>
     <string name="battery_action_display" msgid="5302763261448580102">"Instellingen weergeven"</string>
-    <string name="battery_action_wifi" msgid="5452076674659927993">"Wi-Fi-instellingen"</string>
+    <string name="battery_action_wifi" msgid="2272741639606146903">"Wi-Fi-instellingen"</string>
     <string name="battery_action_bluetooth" msgid="8374789049507723142">"Bluetooth-instellingen"</string>
     <string name="battery_desc_voice" msgid="8980322055722959211">"Accu gebruikt door spraakoproepen"</string>
     <string name="battery_desc_standby" msgid="3009080001948091424">"Accu gebruikt wanneer telefoon inactief is"</string>
@@ -909,9 +961,9 @@
     <string name="battery_desc_bluetooth" msgid="7535520658674621902">"Accu gebruikt door Bluetooth"</string>
     <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"Schakel Bluetooth uit wanneer u deze functie niet gebruikt"</string>
     <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"Probeer verbinding te maken met een ander Bluetooth-apparaat"</string>
-    <string name="battery_desc_apps" msgid="8123202939321333639">"Accu gebruikt door actieve toepassingen"</string>
+    <string name="battery_desc_apps" msgid="6665712811746233450">"Accu gebruikt door toepassing"</string>
     <string name="battery_sugg_apps_info" msgid="6065882899391322442">"De toepassing stoppen of verwijderen"</string>
-    <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"Schakel GPS uit wanneer u dit niet gebruikt"</string>
+    <string name="battery_sugg_apps_gps" msgid="4545056413090932541">"GPS handmatig beheren om te voorkomen dat de toepassing hiervan gebruikmaakt"</string>
     <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"De toepassing kan instellingen aanbieden om het accugebruik te beperken"</string>
     <string name="menu_stats_unplugged" msgid="8296577130840261624">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> sinds losgekoppeld"</string>
     <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"Sinds laatst losgekoppeld voor <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
@@ -961,6 +1013,8 @@
     <string name="pico_not_installed" msgid="6266845418419994311">"Niet geïnstalleerd"</string>
     <string name="pico_voice_summary_female" msgid="8047327176247727492">"Vrouw"</string>
     <string name="pico_voice_summary_male" msgid="8331266854058577610">"Man"</string>
+    <string name="tts_notif_engine_install_title" msgid="7000346872482649034">"Spraaksynthese-engine is geïnstalleerd"</string>
+    <string name="tts_notif_engine_install_message" msgid="5304661142202662693">"Nieuwe engine inschakelen vóór gebruik"</string>
     <string name="gadget_title" msgid="7455548605888590466">"Energiebeheer"</string>
     <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Wi-Fi-instelling bijwerken"</string>
     <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Bluetooth-instelling bijwerken"</string>
@@ -1047,8 +1101,10 @@
     <string name="credentials_access_summary" msgid="319662078718574168">"Toepassingen mogen veilige certificaten en andere referenties openen"</string>
     <string name="credentials_unlock" msgid="1463040326264133844">"Voer het wachtwoord in"</string>
     <string name="credentials_unlock_hint" msgid="594679530407918031">"Geef het wachtwoord voor de opslag van referenties op."</string>
-    <string name="credentials_install_certificates" msgid="177337517568022236">"Installeren van SD-kaart"</string>
-    <string name="credentials_install_certificates_summary" msgid="7737001268684193093">"Gecodeerde certificaten installeren vanaf SD-kaart"</string>
+    <string name="credentials_install_certificates" product="nosdcard" msgid="619171634797689906">"Installeren uit USB-opslag"</string>
+    <string name="credentials_install_certificates" product="default" msgid="177337517568022236">"Installeren van SD-kaart"</string>
+    <string name="credentials_install_certificates_summary" product="nosdcard" msgid="8920330112631198575">"Gecodeerde certificaten van USB-opslag installeren"</string>
+    <string name="credentials_install_certificates_summary" product="default" msgid="7737001268684193093">"Gecodeerde certificaten installeren vanaf SD-kaart"</string>
     <string name="credentials_set_password" msgid="9104473585811899989">"Wachtwoord instellen"</string>
     <string name="credentials_set_password_summary" msgid="8287876917562085701">"Het wachtwoord voor de opslag van referenties instellen"</string>
     <string name="credentials_reset" msgid="9170150870552453457">"Opslag wissen"</string>
@@ -1068,6 +1124,16 @@
     <string name="credentials_erased" msgid="7700309135582200849">"De opslag van referenties is gewist."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"De opslag van referenties is ingeschakeld."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"De opslag van referenties is uitgeschakeld."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Gecodeerde bestandssysteem"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Persoonlijke gebruikersgegevens coderen"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Gecodeerde bestandssysteemopslag voor persoonlijke gebruikersgegevens inschakelen op dit apparaat"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Voor het inschakelen van gecodeerde bestandssystemen is het wissen van apparaatgegevens vereist."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Voor het uitschakelen van gecodeerde bestandssystemen is het wissen van apparaatgegevens vereist."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Inschakelen"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Uitschakelen"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Annuleren"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Het wijzigen van de gecodeerde bestandssysteemmodus is geannuleerd."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Waarschuwing voor gecodeerde bestandssystemen."</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Toon voor noodoproep"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Gedrag bij noodoproepen instellen"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Privacy"</string>
@@ -1075,11 +1141,11 @@
     <string name="backup_section_title" msgid="8856083167469467588">"Back-up maken en terugzetten"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Persoonlijke gegevens"</string>
     <string name="backup_data_title" msgid="1239105919852668016">"Back-up maken van mijn gegevens"</string>
-    <string name="backup_data_summary" msgid="5662190190240860035">"Back-up maken van mijn instellingen en andere toepassingsgegevens."</string>
+    <string name="backup_data_summary" msgid="6515285107793232815">"Een back-up van toepassingsgegevens, Wi-Fi-wachtwoorden en andere instellingen maken op de Google-servers"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Automatisch terugzetten"</string>
-    <string name="auto_restore_summary" msgid="6867766474057290177">"In een back-up opgeslagen instellingen of andere gegevens herstellen als ik een toepassing opnieuw installeer."</string>
+    <string name="auto_restore_summary" msgid="83177150536734378">"In een back-up opgeslagen instellingen of andere gegevens herstellen als ik een toepassing opnieuw installeer"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Back-up"</string>
-    <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Weet u zeker dat het maken van back-ups van uw instellingen en toepassingsgegevens wilt stoppen en alle kopieën op Google-servers wilt wissen?"</string>
+    <string name="backup_erase_dialog_message" msgid="7766283133557587608">"Weet u zeker dat u het maken van back-ups van uw Wi-Fi-wachtwoorden, bladwijzers en andere instellingen en toepassingsgegevens wilt stoppen en alle kopieën op Google-servers wilt wissen?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Instellingen voor apparaatbeheer"</string>
     <string name="active_device_admin_msg" msgid="6930903262612422111">"Apparaatbeheerder"</string>
     <string name="remove_device_admin" msgid="3596845261596451437">"Deactiveren"</string>
diff --git a/res/values-pl/arrays.xml b/res/values-pl/arrays.xml
index 2fb3c7e..5419716 100644
--- a/res/values-pl/arrays.xml
+++ b/res/values-pl/arrays.xml
@@ -115,19 +115,6 @@
     <item msgid="1549288661423279207">"Nigdy, gdy podłączony"</item>
     <item msgid="1986753720941888596">"Nigdy"</item>
   </string-array>
-  <string-array name="battery_history_type_spinner">
-    <item msgid="2193799199027871385">"Wykorzystanie procesora"</item>
-    <item msgid="6401018715947316517">"Wykorzystanie sieci"</item>
-    <item msgid="188092590354892392">"Wykorzystanie modułu GPS"</item>
-    <item msgid="8414109131222049141">"Wykorzystanie czujnika"</item>
-    <item msgid="1327904325081257093">"Wykorzystanie przy częściowym wybudzeniu"</item>
-    <item msgid="4832254146664706277">"Inne wykorzystanie"</item>
-  </string-array>
-  <string-array name="battery_history_which_spinner">
-    <item msgid="3451981114763440074">"Od ostatniego odłączenia"</item>
-    <item msgid="166936313535197598">"Łącznie od uruchomienia"</item>
-    <item msgid="4793941382744963893">"Łącznie przez cały czas"</item>
-  </string-array>
   <string-array name="usage_stats_display_order_types">
     <item msgid="9077371706468756228">"Czas użycia"</item>
     <item msgid="1908750532762193304">"Licznik uruchomień"</item>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index f9c6af4..f28a6ba 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -45,13 +45,16 @@
     <string name="radioInfo_display_asu" msgid="1422248392727818082">"asu"</string>
     <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string>
     <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string>
-    <string name="sdcard_unmount" msgid="3364184561355611897">"Odłącz kartę SD"</string>
-    <string name="sdcard_format" msgid="362497552060004057">"Formatuj kartę SD"</string>
+    <string name="sdcard_unmount" product="nosdcard" msgid="6325292633327972272">"Odłącz nośnik USB"</string>
+    <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Odłącz kartę SD"</string>
+    <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Wyczyść nośnik USB"</string>
+    <string name="sdcard_format" product="default" msgid="6713185532039187532">"Wyczyść kartę SD"</string>
     <string name="small_font" msgid="2295331917424072635">"Mały"</string>
     <string name="medium_font" msgid="2068475425515133701">"Średni"</string>
     <string name="large_font" msgid="599055175160971446">"Duży"</string>
     <string name="font_size_save" msgid="3450855718056759095">"OK"</string>
-    <string name="sdcard_setting" msgid="5922637503871474866">"Karta SD"</string>
+    <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"Nośnik USB"</string>
+    <string name="sdcard_setting" product="default" msgid="5922637503871474866">"Karta SD"</string>
     <string name="battery_info_status_label" msgid="8109155295509700309">"Stan baterii:"</string>
     <string name="battery_info_power_label" msgid="7465140230991349382">"Podłączone zasilanie:"</string>
     <string name="battery_info_scale_label" msgid="3649763192389778437">"Poziom baterii:"</string>
@@ -180,27 +183,34 @@
     <string name="sdcard_changes_instructions" msgid="1364712901180556244">"Zmiany zostaną wprowadzone po ponownym podłączeniu przewodu USB"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"Włącz pamięć masową USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"Łącznie bajtów:"</string>
-    <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"Brak karty SD"</string>
+    <string name="sdcard_settings_not_present_status" product="nosdcard" msgid="2902787003418172125">"Nośnik USB nie jest podłączony"</string>
+    <string name="sdcard_settings_not_present_status" product="default" msgid="6666688653496819947">"Brak karty SD"</string>
     <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"Dostępnych bajtów:"</string>
-    <string name="sdcard_settings_mass_storage_status" msgid="4786433969313661655">"Karta SD wykorzystywana jest jako pamięć masowa"</string>
-    <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"Można teraz bezpiecznie usunąć kartę SD"</string>
-    <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"Karta SD została usunięta, gdy była używana!"</string>
+    <string name="sdcard_settings_mass_storage_status" product="nosdcard" msgid="2736378870889777857">"Nośnik USB jako pamięć masowa"</string>
+    <string name="sdcard_settings_mass_storage_status" product="default" msgid="4786433969313661655">"Karta SD wykorzystywana jest jako pamięć masowa"</string>
+    <string name="sdcard_settings_unmounted_status" product="nosdcard" msgid="7503300818792750913">"Można teraz wyjąć nośnik USB"</string>
+    <string name="sdcard_settings_unmounted_status" product="default" msgid="3812022095683863087">"Można teraz bezpiecznie usunąć kartę SD"</string>
+    <string name="sdcard_settings_bad_removal_status" product="nosdcard" msgid="7761390725880773697">"Wyjęto USB podczas używania."</string>
+    <string name="sdcard_settings_bad_removal_status" product="default" msgid="5145797653495907970">"Karta SD została usunięta, gdy była używana!"</string>
     <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"Wykorzystanych bajtów:"</string>
-    <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Przeszukiwanie karty SD w poszukiwaniu multimediów..."</string>
-    <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"Karta SD jest podłączona tylko do odczytu"</string>
+    <string name="sdcard_settings_scanning_status" product="nosdcard" msgid="7503429447676219564">"Trwa skanowanie nośnika USB…"</string>
+    <string name="sdcard_settings_scanning_status" product="default" msgid="2763464949274455656">"Przeszukiwanie karty SD w poszukiwaniu multimediów..."</string>
+    <string name="sdcard_settings_read_only_status" product="nosdcard" msgid="3771783090621312312">"Nośnik USB podłącz. do odczytu"</string>
+    <string name="sdcard_settings_read_only_status" product="default" msgid="5706115860484118911">"Karta SD jest podłączona tylko do odczytu"</string>
     <string name="next_label" msgid="4693520878012668114">"Dalej"</string>
     <string name="language_picker_title" msgid="4034157617842965844">"Ustawienia regionalne"</string>
     <string name="select_your_language" msgid="1146235168951906084">"Wybierz język"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Wybierz czynność"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Informacje o urządzeniu"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Informacje o baterii"</string>
-    <string name="battery_history_label" msgid="8242244969757414501">"Historia baterii"</string>
     <string name="display_label" msgid="7403874003169865762">"Wyświetlacz"</string>
     <string name="phone_info_label" msgid="2127552523124277664">"Informacje o telefonie"</string>
-    <string name="sd_card_settings_label" msgid="5743100901106177102">"Karta SD"</string>
+    <string name="sd_card_settings_label" product="nosdcard" msgid="8101475181301178428">"Nośnik USB"</string>
+    <string name="sd_card_settings_label" product="default" msgid="5743100901106177102">"Karta SD"</string>
     <string name="proxy_settings_label" msgid="3271174136184391743">"Ustawienia proxy"</string>
     <string name="cancel" msgid="6859253417269739139">"Anuluj"</string>
     <string name="settings_label" msgid="1626402585530130914">"Ustawienia"</string>
+    <string name="settings_label_launcher" msgid="8344735489639482340">"Ustawienia"</string>
     <string name="settings_shortcut" msgid="3672145147925639262">"Ustawienia"</string>
     <string name="airplane_mode" msgid="8837269988154128601">"Tryb samolotowy"</string>
     <string name="airplane_mode_summary" msgid="3154817401368780988">"Wyłącz wszystkie połączenia bezprzewodowe"</string>
@@ -323,6 +333,11 @@
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Jako telefon w trybie głośnika"</string>
     <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Dla muzyki i multimediów"</string>
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Zapamiętaj ustawienia"</string>
+    <string name="nfc_quick_toggle_title" msgid="6769159366307299004">"Komunikacja NFC"</string>
+    <string name="nfc_quick_toggle_summary" msgid="1988408027741447231">"Używaj komunikacji Near Field Communication do odczytywania i wymiany tagów"</string>
+    <!-- no translation found for nfc_toggle_error (2233172102497535522) -->
+    <!-- no translation found for nfc_toggle_error (8998642457947607263) -->
+    <skip />
     <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Włącz Wi-Fi"</string>
     <string name="wifi_settings" msgid="4746946030627213196">"Ustawienia Wi-Fi"</string>
@@ -376,6 +391,7 @@
     <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Określ, kiedy przełączyć Wi-Fi na komórkowe połączenie danych"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Wystąpił problem podczas ustawiania zasad usypiania."</string>
     <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Adres MAC"</string>
+    <string name="wifi_advanced_ip_address_title" msgid="6215297094363164846">"Adres IP"</string>
     <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Ustawienia IP"</string>
     <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Zapisz"</string>
     <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Anuluj"</string>
@@ -496,9 +512,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Informacje o telefonie"</string>
     <string name="device_status" msgid="607405385799807324">"Informacje o telefonie"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Numer telefonu, sygnał itd."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"Karta SD i pamięć telefonu"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Ustawienia karty SD i pamięci telefonu"</string>
-    <string name="storage_settings_summary" msgid="9176693537325988610">"Odłącz kartę SD, pokaż ilość dostępnej pamięci w telefonie"</string>
+    <string name="storage_settings" msgid="4211799979832404953">"Pamięć"</string>
+    <string name="storage_settings_title" msgid="8746016738388094064">"Ustawienia pamięci"</string>
+    <string name="storage_settings_summary" product="nosdcard" msgid="3543813623294870759">"Odłącz nośnik USB i wyświetl ilość dostępnej pamięci"</string>
+    <string name="storage_settings_summary" product="default" msgid="9176693537325988610">"Odłącz kartę SD, pokaż ilość dostępnej pamięci w telefonie"</string>
     <string name="status_number" msgid="5123197324870153205">"Mój numer telefonu"</string>
     <string name="status_min_number" msgid="3519504522179420597">"Numer MIN"</string>
     <string name="status_prl_version" msgid="8499039751817386529">"Wersja listy PRL"</string>
@@ -514,24 +531,36 @@
     <string name="status_unavailable" msgid="7862009036663793314">"Niedostępny"</string>
     <string name="status_up_time" msgid="7294859476816760399">"Czas działania"</string>
     <string name="status_awake_time" msgid="2393949909051183652">"Czas działania (włączony)"</string>
-    <string name="internal_memory" msgid="1130932766236387454">"Pamięć wewnętrzna telefonu"</string>
-    <string name="sd_memory" msgid="151871913888051515">"Karta SD"</string>
+    <string name="internal_memory" msgid="9129595691484260784">"Pamięć wewnętrzna"</string>
+    <string name="sd_memory" product="nosdcard" msgid="2510246194083052841">"Nośnik USB"</string>
+    <string name="sd_memory" product="default" msgid="151871913888051515">"Karta SD"</string>
     <string name="memory_available" msgid="418542433817289474">"Dostępne miejsce"</string>
     <string name="memory_size" msgid="6629067715017232195">"Całkowita pojemność"</string>
-    <string name="sd_eject" msgid="6915293408836853020">"Odłącz kartę SD"</string>
-    <string name="sd_eject_summary" msgid="3315557796211542962">"Odłącz kartę SD, aby bezpiecznie ją usunąć"</string>
-    <string name="sd_insert_summary" msgid="2048640010381803841">"Włóż kartę SD w celu zainstalowania"</string>
-    <string name="sd_mount" msgid="5940523765187704135">"Zainstaluj kartę SD"</string>
-    <string name="sd_mount_summary" msgid="4936591681679097699">"Zainstaluj kartę SD"</string>
-    <string name="sd_format" msgid="5448738337382712203">"Formatuj kartę SD"</string>
-    <string name="sd_format_summary" msgid="6616491027883134004">"Formatuj (wymaż) kartę SD"</string>
+    <string name="sd_eject" product="default" msgid="6915293408836853020">"Odłącz kartę SD"</string>
+    <string name="sd_eject_summary" product="nosdcard" msgid="5009296896648072891">"Odłącz wewnętrzny nośnik USB"</string>
+    <string name="sd_eject_summary" product="default" msgid="3300599435073550246">"Odłącz kartę SD, aby bezpiecznie ją wyjąć"</string>
+    <string name="sd_insert_summary" product="nosdcard" msgid="5264016886409577313">"Włóż USB do podłączenia"</string>
+    <string name="sd_insert_summary" product="default" msgid="2048640010381803841">"Włóż kartę SD w celu zainstalowania"</string>
+    <string name="sd_mount" product="nosdcard" msgid="8966695015677343116">"Podłącz nośnik USB"</string>
+    <string name="sd_mount" product="default" msgid="5940523765187704135">"Zainstaluj kartę SD"</string>
+    <!-- outdated translation 6733254203291665551 -->     <string name="sd_mount_summary" product="nosdcard" msgid="1794150364965145726">"Podłącz wewnętrzny nośnik USB"</string>
+    <string name="sd_mount_summary" product="default" msgid="4936591681679097699">"Zainstaluj kartę SD"</string>
+    <string name="sd_format" product="nosdcard" msgid="2148179271623099054">"Wyczyść nośnik USB"</string>
+    <string name="sd_format" product="default" msgid="2576054280507119870">"Wyczyść kartę SD"</string>
+    <string name="sd_format_summary" product="nosdcard" msgid="1504606546865152514">"Wymazuje wszystko z wewn. USB"</string>
+    <string name="sd_format_summary" product="default" msgid="915849621390821841">"Wymazuje wszystkie dane z karty SD telefonu, takie jak muzyka czy zdjęcia"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"Niedostępna"</string>
     <string name="read_only" msgid="6702420168629076340">" (Tylko do odczytu)"</string>
-    <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Odinstaluj kartę SD"</string>
-    <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Jeśli odinstalujesz kartę SD, niektóre używane aplikacje zostaną zatrzymane i mogą być niedostępne do chwili jej ponownego zainstalowania."</string>
-    <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Odinstalowanie karty SD nie powiodło się"</string>
-    <string name="dlg_error_unmount_text" msgid="9188972789897713180">"Nie można odinstalować karty SD. Spróbuj ponownie później."</string>
-    <string name="unmount_inform_text" msgid="3213378327712151498">"Karta SD zostanie odinstalowana. Sprawdź stan w obszarze powiadomień."</string>
+    <string name="dlg_confirm_unmount_title" product="nosdcard" msgid="2349876662428231297">"Odłącz nośnik USB"</string>
+    <string name="dlg_confirm_unmount_title" product="default" msgid="8612140627310646730">"Odinstaluj kartę SD"</string>
+    <string name="dlg_confirm_unmount_text" product="nosdcard" msgid="3390169455621185223">"Jeśli odłączysz nośnik USB, niektóre używane aplikacje zostaną zatrzymane i mogą być niedostępne do momentu ponownego podłączenia tego nośnika USB."</string>
+    <string name="dlg_confirm_unmount_text" product="default" msgid="5851214273718817727">"Jeśli odinstalujesz kartę SD, niektóre używane aplikacje zostaną zatrzymane i mogą być niedostępne do chwili jej ponownego zainstalowania."</string>
+    <string name="dlg_error_unmount_title" product="nosdcard" msgid="7695491947411836733">"Niepowodzenie odłączania USB"</string>
+    <string name="dlg_error_unmount_title" product="default" msgid="4004106918266783081">"Odinstalowanie karty SD nie powiodło się"</string>
+    <string name="dlg_error_unmount_text" product="nosdcard" msgid="1450864147013376592">"Nie można odłączyć nośnika USB. Spróbuj ponownie później."</string>
+    <string name="dlg_error_unmount_text" product="default" msgid="9188972789897713180">"Nie można odinstalować karty SD. Spróbuj ponownie później."</string>
+    <string name="unmount_inform_text" product="nosdcard" msgid="7120241136790744265">"Nośnik USB zostanie odłączony."</string>
+    <string name="unmount_inform_text" product="default" msgid="1904212716075458402">"Karta SD zostanie odłączona."</string>
     <string name="sd_ejecting_title" msgid="8824572198034365468">"Odinstalowywanie"</string>
     <string name="sd_ejecting_summary" msgid="2028753069184908491">"Odinstalowywanie w toku"</string>
     <string name="battery_status_title" msgid="9159414319574976203">"Stan baterii"</string>
@@ -571,21 +600,32 @@
     <string name="restore_default_apn_completed" msgid="3990449939234957281">"Zakończono resetowanie domyślnych ustawień APN"</string>
     <string name="master_clear_title" msgid="5907939616087039756">"Ustawienia fabryczne"</string>
     <string name="master_clear_summary" msgid="4986154238001088492">"Wymazuje wszystkie dane w telefonie"</string>
-    <string name="master_clear_desc" msgid="7823268823499739178">"Spowoduje to wymazanie wszystkich danych w telefonie, w tym:"\n<li>"danych konta Google;"</li>\n<li>"danych i ustawień systemu oraz aplikacji;"</li>\n<li>"pobranych aplikacji."</li>\n"Nie zostaną wymazane:"\n<li>"bieżące oprogramowanie systemowe i dołączone aplikacje;"</li>\n<li>"pliki na kartach SD, takie jak utwory muzyczne i zdjęcia."</li></string>
+    <string name="master_clear_desc" product="nosdcard" msgid="2163013814299528247">"Spowoduje to wymazanie wszystkich danych z "<b>"wewnętrznej pamięci"</b>" telefonu, w tym:"\n\n<li>"danych konta Google,"</li>\n<li>"danych i ustawień systemu oraz aplikacji,"</li>\n<li>"pobranych aplikacji."</li>\n\n"Aby usunąć wszystkie dane z tego telefonu, należy wyczyścić "<b>"nośnik USB"</b>"."\n\n</string>
+    <string name="master_clear_desc" product="default" msgid="1741944496458365969">"Spowoduje to wymazanie wszystkich danych z "<b>"wewnętrznej pamięci"</b>" telefonu, w tym:"\n\n<li>"danych konta Google,"</li>\n<li>"danych i ustawień systemu oraz aplikacji,"</li>\n<li>"pobranych aplikacji."</li>\n\n"Aby usunąć również muzykę, zdjęcia i inne dane użytkownika, należy wyczyścić "<b>"kartę SD"</b>"."\n\n</string>
+    <string name="erase_external_storage" product="nosdcard" msgid="969364037450286809">"Wyczyść nośnik USB"</string>
+    <string name="erase_external_storage" product="default" msgid="1397239046334307625">"Wyczyść kartę SD"</string>
+    <string name="erase_external_storage_description" product="nosdcard" msgid="1657838142707381027">"Wymaż wszystko z wewn. USB."</string>
+    <string name="erase_external_storage_description" product="default" msgid="8100175974635894073">"Wymaż wszystko z karty SD."</string>
     <string name="master_clear_button_text" msgid="7550632653343157971">"Resetuj telefon"</string>
     <string name="master_clear_final_desc" msgid="6917971132484622696">"Czy usunąć wszystkie informacje osobiste i wszystkie pobrane aplikacje? Tej operacji nie można cofnąć!"</string>
     <string name="master_clear_final_button_text" msgid="5390908019019242910">"Wymaż wszystko"</string>
     <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Narysuj wzór odblokowania"</string>
     <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"Aby potwierdzić resetowanie telefonu, musisz narysować swój wzór odblokowania."</string>
     <string name="master_clear_failed" msgid="8655202125010189406">"Nie wykonano resetowania, ponieważ usługa czyszczenia systemu nie jest dostępna."</string>
-    <string name="media_format_title" msgid="4671276096695789895">"Formatuj kartę SD."</string>
-    <string name="media_format_summary" msgid="3805714639375830120">"Wymazuje wszystkie dane z karty SD"</string>
-    <string name="media_format_desc" msgid="1142563222357820834">"Ta akcja spowoduje wymazanie danych z karty SD w telefonie. WSZYSTKIE dane na karcie zostaną utracone."</string>
-    <string name="media_format_button_text" msgid="370856400090190151">"Formatuj kartę SD"</string>
-    <string name="media_format_final_desc" msgid="1776666694910717198">"Czy sformatować kartę SD i wymazać wszystkie multimedia? Nie można cofnąć tej akcji!"</string>
+    <string name="media_format_title" product="nosdcard" msgid="3999653431422767156">"Wyczyść nośnik USB"</string>
+    <string name="media_format_title" product="default" msgid="4427528440306787972">"Wyczyść kartę SD"</string>
+    <string name="media_format_summary" product="nosdcard" msgid="776603298628082065">"Wymazuje wszystko z nośnika USB"</string>
+    <string name="media_format_summary" product="default" msgid="3805714639375830120">"Wymazuje wszystkie dane z karty SD"</string>
+    <string name="media_format_desc" product="nosdcard" msgid="4553860683952763905">"Ta czynność spowoduje wymazanie nośnika USB. "<b>"Wszystkie"</b>" zapisane na nim dane zostaną utracone!"</string>
+    <string name="media_format_desc" product="default" msgid="1598627584181935513">"Ta czynność spowoduje wymazanie karty SD. "<b>"Wszystkie"</b>" zapisane na niej dane zostaną utracone!"</string>
+    <string name="media_format_button_text" product="nosdcard" msgid="6293669371185352810">"Wyczyść nośnik USB"</string>
+    <string name="media_format_button_text" product="default" msgid="6721544380069373626">"Wyczyść kartę SD"</string>
+    <string name="media_format_final_desc" product="nosdcard" msgid="8094635533378487255">"Czy wyczyścić nośnik USB, usuwając wszystkie zapisane na nim pliki? Tej czynności nie można cofnąć."</string>
+    <string name="media_format_final_desc" product="default" msgid="9015504991522581434">"Czy wyczyścić kartę SD, usuwając wszystkie zapisane na niej pliki? Tej czynności nie można cofnąć."</string>
     <string name="media_format_final_button_text" msgid="4881713344315923175">"Wymaż wszystko"</string>
     <string name="media_format_gesture_prompt" msgid="3109349468816856670">"Narysuj wzór odblokowania"</string>
-    <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Aby potwierdzić formatowanie karty SD, należy narysować swój wzór odblokowania."</string>
+    <string name="media_format_gesture_explanation" product="nosdcard" msgid="1379736318750958338">"Aby potwierdzić zamiar wyczyszczenia nośnika USB, musisz narysować wzór odblokowania."</string>
+    <string name="media_format_gesture_explanation" product="default" msgid="1681213416497647321">"Aby potwierdzić zamiar wyczyszczenia karty SD, musisz narysować wzór odblokowania."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Ustawienia połączeń"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Poczta głosowa, przekierowania połączeń, poł. oczekujące, ID rozmówcy"</string>
     <string name="tether_settings_title_usb" msgid="4315031513434087777">"Powiązanie"</string>
@@ -609,7 +649,7 @@
     <string name="location_networks_disabled" msgid="2708968452901433980">"Określ moją lokalizację w aplikacjach (takich jak Mapy), korzystając z sieci bezprzewodowych"</string>
     <string name="location_neighborhood_level" msgid="4656658097932515921">"Lokalizacja określana jest za pomocą Wi-Fi i/lub sieci komórkowych"</string>
     <string name="location_gps" msgid="6296125378829097831">"Użyj satelitów GPS"</string>
-    <string name="location_street_level" msgid="6460740847018275745">"Określa lokalizację z dokładnością do ulicy (wyłącz, aby oszczędzać baterię)"</string>
+    <string name="location_street_level" msgid="7456259025474443314">"Określaj lokalizację z dokładnością do ulicy"</string>
     <string name="location_gps_disabled" msgid="6632537158777308128">"Podaje dokładne położenie (zużywa więcej baterii, działa na zewnątrz)"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"Użyj wspomaganego systemu GPS"</string>
     <string name="assisted_gps_enabled" msgid="8751899609589792803">"Użyj serwera do wspomagania systemu GPS (usuń zaznaczenie, aby zmniejszyć ruch sieciowy)"</string>
@@ -692,22 +732,31 @@
     <string name="application_size_label" msgid="5055196275624686382">"Aplikacja"</string>
     <string name="data_size_label" msgid="8679376373625710107">"Dane"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Odinstaluj"</string>
+    <string name="disable_text" msgid="6544054052049395202">"Wyłącz"</string>
+    <string name="enable_text" msgid="9217362512327828987">"Włącz"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Wyczyść dane"</string>
     <string name="app_factory_reset" msgid="6635744722502563022">"Odinstaluj aktualizacje"</string>
     <string name="auto_launch_enable_text" msgid="2630656657744196691">"Wybrano domyślne uruchamianie tej aplikacji dla niektórych czynności."</string>
     <string name="auto_launch_disable_text" msgid="7800385822185540166">"Brak ustawień domyślnych."</string>
     <string name="clear_activities" msgid="7408923511535174430">"Wyczyść domyślne"</string>
     <string name="unknown" msgid="1592123443519355854">"Nieznana"</string>
-    <string name="sort_order_alpha" msgid="8622029358896599842">"Sortuj"</string>
+    <string name="sort_order_alpha" msgid="1410278099123670628">"Sortuj według nazwy"</string>
     <string name="sort_order_size" msgid="7024513286636502362">"Sortuj według rozmiaru"</string>
+    <string name="show_running_services" msgid="5736278767975544570">"Pokaż działające usługi"</string>
+    <string name="show_background_processes" msgid="2009840211972293429">"Pokaż procesy z pam. pod."</string>
     <string name="manage_space_text" msgid="8852711522447794676">"Zarządzaj rozmiarem"</string>
     <string name="filter" msgid="2018011724373033887">"Filtr"</string>
     <string name="filter_dlg_title" msgid="6507663329723966854">"Wybierz opcje filtru"</string>
     <string name="filter_apps_all" msgid="5142129378749391876">"Wszystkie"</string>
     <string name="filter_apps_third_party" msgid="7786348047690140979">"Pobrane"</string>
     <string name="filter_apps_running" msgid="7767071454371350486">"Uruchomione"</string>
-    <string name="filter_apps_onsdcard" msgid="1477351142334784771">"Na karcie SD"</string>
-    <string name="loading" msgid="3200408047793887917">"Ładowanie..."</string>
+    <string name="filter_apps_onsdcard" product="nosdcard" msgid="4843063154701023349">"Nośnik USB"</string>
+    <string name="filter_apps_onsdcard" product="default" msgid="1477351142334784771">"Na karcie SD"</string>
+    <string name="disabled" msgid="9206776641295849915">"Wyłączone"</string>
+    <string name="no_applications" msgid="5190227407135243904">"Brak aplikacji."</string>
+    <string name="internal_storage" msgid="1584700623164275282">"Pamięć wewn."</string>
+    <string name="sd_card_storage" product="nosdcard" msgid="2673203150465132465">"Nośnik USB"</string>
+    <string name="sd_card_storage" product="default" msgid="7623513618171928235">"Pamięć karty SD"</string>
     <string name="recompute_size" msgid="7722567982831691718">"Przeliczanie rozmiaru..."</string>
     <string name="clear_data_dlg_title" msgid="4470209520936375508">"Usuń"</string>
     <string name="clear_data_dlg_text" msgid="8368035073300828451">"Wszystkie dane tej aplikacji zostaną trwale usunięte. Dotyczy to wszystkich plików, ustawień, kont, baz danych itd."</string>
@@ -727,7 +776,8 @@
     <string name="version_text" msgid="9189073826278676425">"wersja <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5042838441401731346">"Przenieś"</string>
     <string name="move_app_to_internal" msgid="3895430471913858185">"Przenieś do telefonu"</string>
-    <string name="move_app_to_sdcard" msgid="1143379049903056407">"Przenieś na kartę SD"</string>
+    <string name="move_app_to_sdcard" product="nosdcard" msgid="4350451696315265420">"Przenieś na nośnik USB"</string>
+    <string name="move_app_to_sdcard" product="default" msgid="1143379049903056407">"Przenieś na kartę SD"</string>
     <string name="moving" msgid="6431016143218876491">"Przenoszenie"</string>
     <string name="insufficient_storage" msgid="8566913062094452962">"Brak wystarczającej ilości wolnego miejsca."</string>
     <string name="does_not_exist" msgid="837163572898468245">"Aplikacja nie istnieje."</string>
@@ -735,29 +785,49 @@
     <string name="invalid_location" msgid="4934491353200240499">"Podane położenie instalacji jest nieprawidłowe."</string>
     <string name="system_package" msgid="1030561474413022831">"Aktualizacje systemowe nie mogą być instalowane na nośniku zewnętrznym."</string>
     <string name="force_stop_dlg_title" msgid="4289453224368188476">"Wymuś zatrzymanie"</string>
-    <string name="force_stop_dlg_text" msgid="3381302041569982075">"Ta aplikacja zostanie natychmiast uruchomiona ponownie. Czy na pewno chcesz wymusić zatrzymanie?"</string>
+    <string name="force_stop_dlg_text" msgid="5157374701213502922">"Wymuszenie zatrzymania aplikacji może spowodować jej nieprawidłowe działanie. Czy na pewno chcesz to zrobić?"</string>
     <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Przenieś aplikację"</string>
     <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Przeniesienie aplikacji nie powiodło się. <xliff:g id="REASON">%1$s</xliff:g>"</string>
     <string name="app_install_location_title" msgid="2068975150026852168">"Preferowana lokalizacja instalacji"</string>
     <string name="app_install_location_summary" msgid="879753854530300436">"Zmień preferowaną lokalizację instalacji dla nowych aplikacji."</string>
+    <string name="storageuse_settings_title" msgid="5657014373502630403">"Użycie pamięci"</string>
+    <string name="storageuse_settings_summary" msgid="2556057379120846792">"Wyświetl pamięć używaną przez aplikacje"</string>
     <string name="runningservices_settings_title" msgid="8097287939865165213">"Uruchomione usługi"</string>
     <string name="runningservices_settings_summary" msgid="854608995821032748">"Wyświetl i kontroluj obecnie uruchomione usługi"</string>
     <string name="service_restarting" msgid="2242747937372354306">"Ponowne uruchamianie"</string>
-    <string name="no_running_services" msgid="6981216347270280598">"Brak uruchomionych usług"</string>
-    <string name="confirm_stop_service" msgid="5700448757318301681">"Zatrzymać usługę?"</string>
-    <string name="confirm_stop_service_msg" msgid="1166661293369421272">"Usługa nie będzie działać, dopóki nie zostanie ponownie uruchomiona. Może to mieć niepożądany wpływ na aplikację <xliff:g id="APPLICATION">%1$s</xliff:g>."</string>
-    <string name="confirm_stop_stop" msgid="7382363913280993331">"Zatrzymaj"</string>
-    <string name="confirm_stop_cancel" msgid="206495326622692381">"Anuluj"</string>
-    <string name="service_started_by_app" msgid="8432097226392386802">"Uruchomiona przez aplikację: dotknij, aby zatrzymać"</string>
-    <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: dotknij, aby zarządzać"</string>
-    <string name="service_background_processes" msgid="5158600475629177758">"Dostępne: <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g> w <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_foreground_processes" msgid="4013890350284680796">"Inne: <xliff:g id="MEMORY">%2$s</xliff:g> w <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_process_name" msgid="8630408984456958400">"Proces: <xliff:g id="PROCESS">%1$s</xliff:g>"</string>
+    <string name="cached" msgid="1059590879740175019">"Proces w tle z pamięci podręcznej"</string>
+    <string name="no_running_services" msgid="2059536495597645347">"Brak uruchomionych usług."</string>
+    <string name="service_started_by_app" msgid="6575184738671598131">"Uruchomiona przez aplikację."</string>
+    <!-- no translation found for service_client_name (4037193625611815517) -->
+    <skip />
+    <string name="service_background_processes" msgid="6844156253576174488">"Wolne: <xliff:g id="MEMORY">%1$s</xliff:g>"</string>
+    <string name="service_foreground_processes" msgid="7583975676795574276">"Używane: <xliff:g id="MEMORY">%1$s</xliff:g>"</string>
+    <string name="memory" msgid="6609961111091483458">"Pamięć RAM"</string>
+    <!-- no translation found for service_process_name (4098932168654826656) -->
+    <skip />
+    <string name="running_processes_item_description_s_s" msgid="5790575965282023145">"Procesów: <xliff:g id="NUMPROCESS">%1$d</xliff:g>, usług: <xliff:g id="NUMSERVICES">%2$d</xliff:g>"</string>
+    <string name="running_processes_item_description_s_p" msgid="8019860457123222953">"Procesów: <xliff:g id="NUMPROCESS">%1$d</xliff:g>, usług: <xliff:g id="NUMSERVICES">%2$d</xliff:g>"</string>
+    <string name="running_processes_item_description_p_s" msgid="744424668287252915">"Procesów: <xliff:g id="NUMPROCESS">%1$d</xliff:g>, usług: <xliff:g id="NUMSERVICES">%2$d</xliff:g>"</string>
+    <string name="running_processes_item_description_p_p" msgid="1607384595790852782">"Procesów: <xliff:g id="NUMPROCESS">%1$d</xliff:g>, usług: <xliff:g id="NUMSERVICES">%2$d</xliff:g>"</string>
+    <string name="runningservicedetails_settings_title" msgid="6188692418986988288">"Działająca aplikacja"</string>
+    <string name="no_services" msgid="7133900764462288263">"Nieaktywne"</string>
+    <string name="runningservicedetails_services_title" msgid="391168243725357375">"Usługi"</string>
+    <string name="runningservicedetails_processes_title" msgid="928115582044655268">"Procesy"</string>
+    <string name="service_stop" msgid="6369807553277527248">"Zatrzymaj"</string>
+    <string name="service_manage" msgid="1876642087421959194">"Ustawienia"</string>
+    <string name="service_stop_description" msgid="3261798282116866961">"Ta usługa została uruchomiona przez jej aplikację. Jej zatrzymanie może spowodować zakończenie działania aplikacji niepowodzeniem."</string>
+    <string name="heavy_weight_stop_description" msgid="6855241582643136019">"Nie można bezpiecznie zatrzymać tej aplikacji. Może to spowodować utratę części Twojej bieżącej pracy."</string>
+    <string name="background_process_stop_description" msgid="1728354083304746737">"To jest stary proces aplikacji zachowany dla zapewnienia lepszej szybkości w przypadku, gdyby był jeszcze potrzebny. Zwykle nie ma powodu, aby go zatrzymywać."</string>
+    <string name="service_manage_description" msgid="7050092269951613102">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: aktualnie w użyciu. Dotknij opcji Ustawienia, aby nią sterować."</string>
+    <string name="main_running_process_description" msgid="929204645380391397">"Główny proces będący w użyciu."</string>
+    <string name="process_service_in_use_description" msgid="8993335064403217080">"Usługa <xliff:g id="COMP_NAME">%1$s</xliff:g> jest w użyciu."</string>
+    <string name="process_provider_in_use_description" msgid="5586603325677678940">"Dostawca <xliff:g id="COMP_NAME">%1$s</xliff:g> jest w użyciu."</string>
+    <string name="runningservicedetails_stop_dlg_title" msgid="4253292537154337233">"Czy zatrzymać usługę systemową?"</string>
+    <string name="runningservicedetails_stop_dlg_text" msgid="6929716497425738387">"Czy na pewno chcesz zatrzymać tę usługę systemową? Jeśli tak, niektóre funkcje telefonu mogą przestać poprawnie działać do chwili jego wyłączenia i ponownego włączenia."</string>
     <string name="language_settings" msgid="502219872342167227">"Język i klawiatura"</string>
     <string name="language_keyboard_settings_title" msgid="3455826933385341107">"Ustawienia języka i klawiatury"</string>
-    <string name="language_settings_summary" msgid="595647729475399987">"Określ ustawienia regionalne (język i region) oraz opcje wprowadzania tekstu i autokorekty"</string>
-    <string name="language_category" msgid="3391756582724541530">"Ustawienia regionalne"</string>
-    <string name="text_category" msgid="6342540511465136739">"Ustawienia tekstu"</string>
+    <string name="language_settings_category" msgid="2288258489940617043">"Ustawienia języka"</string>
+    <string name="keyboard_settings_category" msgid="7060453865544070642">"Ustawienia klawiatury"</string>
     <string name="phone_language" msgid="1165758957501090679">"Wybierz język"</string>
     <string name="phone_language_summary" msgid="3871309445655554211"></string>
     <string name="auto_replace" msgid="6199184757891937822">"Autokorekta"</string>
@@ -782,7 +852,6 @@
     <string name="testing" msgid="6584352735303604146">"Testowanie"</string>
     <string name="testing_phone_info" msgid="8656693364332840056">"Informacje o telefonie"</string>
     <string name="testing_battery_info" msgid="3497865525976497848">"Informacje o baterii"</string>
-    <string name="testing_battery_history" msgid="3043329445810695647">"Historia baterii"</string>
     <string name="quick_launch_title" msgid="7904609846945905306">"Szybkie uruchamianie"</string>
     <string name="quick_launch_summary" msgid="3453825712466417452">"Ustaw skróty klawiaturowe, aby uruchamiać aplikacje"</string>
     <string name="quick_launch_assign_application" msgid="4521368464929956350">"Przypisz aplikację"</string>
@@ -798,8 +867,8 @@
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Zarządzaj opcjami wprowadzania tekstu"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Ustawienia <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Ustawienia klawiatury ekranowej"</string>
-    <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"Klawiatura urządzenia"</string>
-    <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"Ustawienia klawiatury wbudowanej"</string>
+    <string name="builtin_keyboard_settings_title" msgid="5274990495405941804">"Klawiatura wbudowana"</string>
+    <string name="builtin_keyboard_settings_summary" msgid="7990296351888096836">"Ustawienia wbudowanej klawiatury fizycznej"</string>
     <string name="development_settings_title" msgid="6719732334835420989">"Dla programistów"</string>
     <string name="development_settings_summary" msgid="2151320488701538355">"Ustaw opcje związane z programowaniem aplikacji"</string>
     <string name="enable_adb" msgid="7982306934419797485">"Debugowanie USB"</string>
@@ -812,36 +881,10 @@
     <string name="adb_warning_message" msgid="5352555112049663033">"Debugowanie USB jest przeznaczone wyłącznie do celów programistycznych. Może posłużyć do kopiowania danych między komputerem a urządzeniem, instalowania aplikacji w urządzeniu bez powiadamiania, a także odczytywania danych dziennika."</string>
     <string name="gadget_picker_title" msgid="98374951396755811">"Wybierz gadżet"</string>
     <string name="widget_picker_title" msgid="9130684134213467557">"Wybierz widżet"</string>
-    <string name="battery_history_details_for" msgid="5924639922153109669">"Szczegóły dotyczące identyfikatora UID <xliff:g id="NUMBER">%d</xliff:g>"</string>
-    <string name="battery_history_uid" msgid="1016606150528436298">"Identyfikator UID <xliff:g id="USER_ID">%1$d</xliff:g>"</string>
-    <string name="battery_history_network_usage" msgid="8010852371665217020">"Szczegóły wykorzystania sieci dla <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_bytes_received" msgid="980307569180518302">"Odebranych bajtów: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_sent" msgid="2501748768602119159">"Wysłanych bajtów: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_total" msgid="4444807574361642753">"Łącznie bajtów: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_cpu_usage" msgid="2597353713014790877">"Szczegóły wykorzystania procesora dla <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_user_time" msgid="6227507614894791359">"Czas użytkownika:"</string>
-    <string name="battery_history_system_time" msgid="2015862072724507547">"Czas systemu:"</string>
-    <string name="battery_history_total_time" msgid="3618703970098556104">"Łączny czas:"</string>
-    <string name="battery_history_starts" msgid="9137453931978571696">"Uruchomień: <xliff:g id="STARTS">%1$d</xliff:g>"</string>
     <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g> dni, <xliff:g id="HOURS">%2$d</xliff:g> godz., <xliff:g id="MINUTES">%3$d</xliff:g> min, <xliff:g id="SECONDS">%4$d</xliff:g> s"</string>
     <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g> godz., <xliff:g id="MINUTES">%2$d</xliff:g> min, <xliff:g id="SECONDS">%3$d</xliff:g> s"</string>
     <string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g> min, <xliff:g id="SECONDS">%2$d</xliff:g> s"</string>
     <string name="battery_history_seconds" msgid="4283492130945761685">"<xliff:g id="SECONDS">%1$d</xliff:g> s"</string>
-    <string name="battery_history_packages_sharing_this_uid" msgid="4101596071379250050">"Pakiety współdzielące ten identyfikator UID:"</string>
-    <string name="battery_history_no_data" msgid="1177238743237067617">"Brak danych o użyciu baterii"</string>
-    <string name="battery_history_sensor" msgid="2333488996028993982">"Czujnik:"</string>
-    <string name="battery_history_wakelock" msgid="608683447522396293">"Częściowa blokada wybudzenia:"</string>
-    <string name="battery_history_used_by_packages" msgid="3000711380023436470">"Czujnik używany przez pakiety:"</string>
-    <string name="battery_history_sensor_usage" msgid="3593133338613209024">"Używane <xliff:g id="COUNT">%1$d</xliff:g> raz(y) przez <xliff:g id="PACKAGE">%2$s</xliff:g>"</string>
-    <string name="battery_history_sensor_usage_multi" msgid="4536084375991014508">"Używane <xliff:g id="COUNT">%1$d</xliff:g> raz(y) przez:"</string>
-    <string name="battery_history_awake_label" msgid="8449792868990080882">"Działa"</string>
-    <string name="battery_history_screen_on_label" msgid="1848936521786339362">"Ekran włączony"</string>
-    <string name="battery_history_phone_on_label" msgid="700191958853142297">"Telefon włączony"</string>
-    <string name="battery_history_awake" msgid="4350886665719031057">"Czas bez uśpienia:"</string>
-    <string name="battery_history_screen_on" msgid="1377240025275657277">"Czas pracy z włączonym ekranem:"</string>
-    <string name="battery_history_phone_on" msgid="4891504401623839532">"Czas pracy przy włączonym telefonie:"</string>
-    <string name="battery_history_screen_on_battery" msgid="536058210445081888">"Praca na baterii:"</string>
-    <string name="battery_history_screen_on_plugged" msgid="5019127390021871260">"Podłączone:"</string>
     <string name="usage_stats_label" msgid="5890846333487083609">"Statystyki użycia"</string>
     <string name="testing_usage_stats" msgid="7823048598893937339">"Statystyki użycia"</string>
     <string name="display_order_text" msgid="8592776965827565271">"Sortuj wg:"</string>
@@ -865,12 +908,19 @@
     <string name="power_usage_summary" msgid="7237084831082848168">"Gdzie wykorzystywana jest bateria"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Użycie baterii od odłączenia"</string>
     <string name="battery_since_reset" msgid="7464546661121187045">"Użycie baterii od zresetowania"</string>
+    <string name="battery_stats_on_battery" msgid="4970762168505236033">"<xliff:g id="TIME">%1$s</xliff:g> pracy na baterii"</string>
     <string name="battery_stats_duration" msgid="7464501326709469282">"<xliff:g id="TIME">%1$s</xliff:g> od odłączenia"</string>
+    <string name="battery_stats_charging_label" msgid="4223311142875178785">"Ładowanie"</string>
+    <string name="battery_stats_screen_on_label" msgid="7150221809877509708">"Ekran włączony"</string>
+    <string name="battery_stats_gps_on_label" msgid="1193657533641951256">"GPS włączony"</string>
+    <string name="battery_stats_wifi_running_label" msgid="3093545080361658269">"Wi-Fi"</string>
+    <string name="battery_stats_wake_lock_label" msgid="1908942681902324095">"Aktywność"</string>
+    <string name="battery_stats_phone_signal_label" msgid="6822042940376636775">"Sygnał telefonu"</string>
     <!-- no translation found for battery_stats_last_duration (1535831453827905957) -->
     <skip />
     <string name="awake" msgid="387122265874485088">"Czas aktywności urządzenia"</string>
-    <string name="wifi_on_time" msgid="4630925382578609056">"WiFi na czas"</string>
-    <string name="bluetooth_on_time" msgid="4478515071957280711">"WiFi na czas"</string>
+    <string name="wifi_on_time" msgid="6310209835617490616">"Wi-Fi na czas"</string>
+    <string name="bluetooth_on_time" msgid="6157799524996162271">"Wi-Fi na czas"</string>
     <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g> – <xliff:g id="NUMBER">%2$s</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
     <string name="details_title" msgid="7564809986329021063">"Szczegóły użycia baterii"</string>
     <string name="details_subtitle" msgid="32593908269911734">"Szczegóły użycia"</string>
@@ -884,7 +934,9 @@
     <string name="power_idle" msgid="9055659695602194990">"Telefon nieaktywny"</string>
     <string name="usage_type_cpu" msgid="715162150698338714">"Łącznie dla procesora"</string>
     <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"Procesor w działaniach pierwszoplanowych"</string>
+    <string name="usage_type_wake_lock" msgid="5125438890233677880">"Utrzymuj aktywność"</string>
     <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string>
+    <string name="usage_type_wifi_running" msgid="8234997940652067049">"Działanie Wi-Fi"</string>
     <string name="usage_type_phone" msgid="9108247984998041853">"Telefon"</string>
     <string name="usage_type_data_send" msgid="2857401966985425427">"Dane wysłane"</string>
     <string name="usage_type_data_recv" msgid="7251090882025234185">"Dane odebrane"</string>
@@ -896,7 +948,7 @@
     <string name="battery_action_app_details" msgid="3275013531871113681">"Informacje o aplikacji"</string>
     <string name="battery_action_app_settings" msgid="350562653472577250">"Ustawienia aplikacji"</string>
     <string name="battery_action_display" msgid="5302763261448580102">"Ustawienia wyświetlacza"</string>
-    <string name="battery_action_wifi" msgid="5452076674659927993">"Ustawienia WiFi"</string>
+    <string name="battery_action_wifi" msgid="2272741639606146903">"Ustawienia Wi-Fi"</string>
     <string name="battery_action_bluetooth" msgid="8374789049507723142">"Ustawienia Bluetooth"</string>
     <string name="battery_desc_voice" msgid="8980322055722959211">"Użycie baterii przez połączenia głosowe"</string>
     <string name="battery_desc_standby" msgid="3009080001948091424">"Użycie baterii przy nieaktywnym telefonie"</string>
@@ -909,9 +961,9 @@
     <string name="battery_desc_bluetooth" msgid="7535520658674621902">"Użycie baterii przez bluetooth"</string>
     <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"Wyłącz moduł Bluetooth, gdy nie jest używany"</string>
     <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"Spróbuj połączyć się z innym urządzeniem bluetooth"</string>
-    <string name="battery_desc_apps" msgid="8123202939321333639">"Użycie baterii przez działające aplikacje"</string>
+    <string name="battery_desc_apps" msgid="6665712811746233450">"Użycie baterii przez aplikację"</string>
     <string name="battery_sugg_apps_info" msgid="6065882899391322442">"Zatrzymaj lub odinstaluj aplikację"</string>
-    <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"Wyłącz odbiornik GPS, gdy nie jest używany"</string>
+    <string name="battery_sugg_apps_gps" msgid="4545056413090932541">"Włączaj i wyłączaj GPS ręcznie, aby kontrolować jego użycie w aplikacjach"</string>
     <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"Aplikacja może oferować ustawienia pozwalające zredukować użycie baterii"</string>
     <string name="menu_stats_unplugged" msgid="8296577130840261624">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> od odłączenia"</string>
     <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"Ostatnio odłączony na <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
@@ -961,6 +1013,8 @@
     <string name="pico_not_installed" msgid="6266845418419994311">"Nie zainstalowano"</string>
     <string name="pico_voice_summary_female" msgid="8047327176247727492">"Kobieta"</string>
     <string name="pico_voice_summary_male" msgid="8331266854058577610">"Mężczyzna"</string>
+    <string name="tts_notif_engine_install_title" msgid="7000346872482649034">"Zainstalowano mechanizm syntezy mowy"</string>
+    <string name="tts_notif_engine_install_message" msgid="5304661142202662693">"Najpierw włącz nowy mechanizm"</string>
     <string name="gadget_title" msgid="7455548605888590466">"Zarządzanie energią"</string>
     <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Aktualizowanie ustawień Wi-Fi"</string>
     <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Aktualizowanie ustawień Bluetooth"</string>
@@ -1047,8 +1101,10 @@
     <string name="credentials_access_summary" msgid="319662078718574168">"Zezwalaj aplikacjom na dostęp do bezpiecznych certyfikatów i innych danych logowania"</string>
     <string name="credentials_unlock" msgid="1463040326264133844">"Wprowadź hasło"</string>
     <string name="credentials_unlock_hint" msgid="594679530407918031">"Wprowadź hasło magazynu danych logowania."</string>
-    <string name="credentials_install_certificates" msgid="177337517568022236">"Zainstaluj z karty SD"</string>
-    <string name="credentials_install_certificates_summary" msgid="7737001268684193093">"Zainstaluj zaszyfrowane certyfikaty z karty SD"</string>
+    <string name="credentials_install_certificates" product="nosdcard" msgid="619171634797689906">"Zainstaluj z nośnika USB"</string>
+    <string name="credentials_install_certificates" product="default" msgid="177337517568022236">"Zainstaluj z karty SD"</string>
+    <string name="credentials_install_certificates_summary" product="nosdcard" msgid="8920330112631198575">"Instaluj szyf. cer. z USB"</string>
+    <string name="credentials_install_certificates_summary" product="default" msgid="7737001268684193093">"Zainstaluj zaszyfrowane certyfikaty z karty SD"</string>
     <string name="credentials_set_password" msgid="9104473585811899989">"Ustaw hasło"</string>
     <string name="credentials_set_password_summary" msgid="8287876917562085701">"Ustaw lub zmień hasło magazynu danych logowania"</string>
     <string name="credentials_reset" msgid="9170150870552453457">"Wyczyść magazyn"</string>
@@ -1068,6 +1124,16 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Magazyn danych uwierzytelniania został wyczyszczony."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Magazyn danych logowania jest włączony."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Magazyn danych logowania jest wyłączony."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"System szyfrowania plików"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Zaszyfruj prywatne dane użytkownika"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Włącz magazyn zaszyfrowanego systemu plików na potrzeby prywatnych danych użytkownika na tym urządzeniu"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Włączenie systemów szyfrowania plików wymaga wymazania danych urządzenia."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Wyłączenie systemów szyfrowania plików wymaga wymazania danych urządzenia."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Włącz"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Wyłącz"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Anuluj"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Zmiana trybu systemów szyfrowania plików została anulowana."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Ostrzeżenie dotyczące systemów szyfrowania plików"</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Sygnał alarmowy"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Skonfiguruj sposób działania w przypadku połączenia alarmowego"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Prywatność"</string>
@@ -1075,11 +1141,11 @@
     <string name="backup_section_title" msgid="8856083167469467588">"Tworzenie i przywracanie kopii zapasowej"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Dane osobiste"</string>
     <string name="backup_data_title" msgid="1239105919852668016">"Utwórz kopię zapasową moich danych"</string>
-    <string name="backup_data_summary" msgid="5662190190240860035">"Utwórz kopię zapasową ustawień i innych danych aplikacji."</string>
+    <string name="backup_data_summary" msgid="6515285107793232815">"Utwórz na serwerach Google kopię zapasową danych aplikacji, haseł Wi-Fi oraz innych ustawień"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Autoprzywracanie"</string>
-    <string name="auto_restore_summary" msgid="6867766474057290177">"W przypadku ponownej instalacji aplikacji przywróć kopię zapasową ustawień lub innych danych."</string>
+    <string name="auto_restore_summary" msgid="83177150536734378">"W przypadku ponownej instalacji aplikacji przywróć kopię zapasową ustawień lub innych danych"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Kopia zapasowa"</string>
-    <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Czy na pewno chcesz zakończyć tworzenie kopii zapasowych ustawień i danych aplikacji oraz usunąć wszystkie kopie z serwerów Google?"</string>
+    <string name="backup_erase_dialog_message" msgid="7766283133557587608">"Czy na pewno chcesz zakończyć tworzenie kopii zapasowych haseł Wi-Fi, zakładek oraz innych ustawień i danych aplikacji, a także usunąć wszystkie kopie z serwerów Google?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Ustawienia administracji"</string>
     <string name="active_device_admin_msg" msgid="6930903262612422111">"Administrator urządzenia"</string>
     <string name="remove_device_admin" msgid="3596845261596451437">"Dezaktywuj"</string>
diff --git a/res/values-pt-rPT/arrays.xml b/res/values-pt-rPT/arrays.xml
index e4436ec..b553fb3 100644
--- a/res/values-pt-rPT/arrays.xml
+++ b/res/values-pt-rPT/arrays.xml
@@ -115,19 +115,6 @@
     <item msgid="1549288661423279207">"Nunca quando ligado"</item>
     <item msgid="1986753720941888596">"Nunca"</item>
   </string-array>
-  <string-array name="battery_history_type_spinner">
-    <item msgid="2193799199027871385">"Utilização da CPU"</item>
-    <item msgid="6401018715947316517">"Utilização da rede"</item>
-    <item msgid="188092590354892392">"Utilização do GPS"</item>
-    <item msgid="8414109131222049141">"Utilização do sensor"</item>
-    <item msgid="1327904325081257093">"Utilização para reactivação parcial"</item>
-    <item msgid="4832254146664706277">"Outra utilização"</item>
-  </string-array>
-  <string-array name="battery_history_which_spinner">
-    <item msgid="3451981114763440074">"Desde a última vez que foi desligado"</item>
-    <item msgid="166936313535197598">"Total desde o arranque"</item>
-    <item msgid="4793941382744963893">"Total em todo o tempo"</item>
-  </string-array>
   <string-array name="usage_stats_display_order_types">
     <item msgid="9077371706468756228">"Tempo de utilização"</item>
     <item msgid="1908750532762193304">"Total de inícios"</item>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 56b0b97..93efcda 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -45,13 +45,16 @@
     <string name="radioInfo_display_asu" msgid="1422248392727818082">"asu"</string>
     <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string>
     <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string>
-    <string name="sdcard_unmount" msgid="3364184561355611897">"Desmontar cartão SD"</string>
-    <string name="sdcard_format" msgid="362497552060004057">"Formatar cartão SD"</string>
+    <string name="sdcard_unmount" product="nosdcard" msgid="6325292633327972272">"Desmontar armaz. USB"</string>
+    <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Desmontar cartão SD"</string>
+    <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Apagar armazenamento USB"</string>
+    <string name="sdcard_format" product="default" msgid="6713185532039187532">"Apagar cartão SD"</string>
     <string name="small_font" msgid="2295331917424072635">"Pequeno"</string>
     <string name="medium_font" msgid="2068475425515133701">"Médio"</string>
     <string name="large_font" msgid="599055175160971446">"Grande"</string>
     <string name="font_size_save" msgid="3450855718056759095">"OK"</string>
-    <string name="sdcard_setting" msgid="5922637503871474866">"Cartão SD"</string>
+    <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"Armazenamento USB"</string>
+    <string name="sdcard_setting" product="default" msgid="5922637503871474866">"Cartão SD"</string>
     <string name="battery_info_status_label" msgid="8109155295509700309">"Estado da bateria:"</string>
     <string name="battery_info_power_label" msgid="7465140230991349382">"Ficha de alimentação:"</string>
     <string name="battery_info_scale_label" msgid="3649763192389778437">"Escala da bateria:"</string>
@@ -180,27 +183,34 @@
     <string name="sdcard_changes_instructions" msgid="1364712901180556244">"As alterações terão efeito ao ligar novamente o cabo USB"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"Activar armazenamento em massa USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"Total de bytes:"</string>
-    <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"Nenhum cartão SD"</string>
+    <string name="sdcard_settings_not_present_status" product="nosdcard" msgid="2902787003418172125">"Armazenamento USB não montado"</string>
+    <string name="sdcard_settings_not_present_status" product="default" msgid="6666688653496819947">"Nenhum cartão SD"</string>
     <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"Bytes disponíveis:"</string>
-    <string name="sdcard_settings_mass_storage_status" msgid="4786433969313661655">"O cartão SD está a ser utilizado como um dispositivo de armazenamento em massa"</string>
-    <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"Agora é seguro retirar o cartão SD"</string>
-    <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"O cartão SD foi removido quando ainda estava em uso!"</string>
+    <string name="sdcard_settings_mass_storage_status" product="nosdcard" msgid="2736378870889777857">"Armaz. USB utilizado como disp. de armaz. em massa"</string>
+    <string name="sdcard_settings_mass_storage_status" product="default" msgid="4786433969313661655">"O cartão SD está a ser utilizado como um dispositivo de armazenamento em massa"</string>
+    <string name="sdcard_settings_unmounted_status" product="nosdcard" msgid="7503300818792750913">"Agora é seguro remover o arm. USB"</string>
+    <string name="sdcard_settings_unmounted_status" product="default" msgid="3812022095683863087">"Agora é seguro retirar o cartão SD"</string>
+    <string name="sdcard_settings_bad_removal_status" product="nosdcard" msgid="7761390725880773697">"Armaz. USB removido ao ser utilizado!"</string>
+    <string name="sdcard_settings_bad_removal_status" product="default" msgid="5145797653495907970">"O cartão SD foi removido quando ainda estava em uso!"</string>
     <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"Bytes utilizados:"</string>
-    <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"A procurar ficheiros multimédia no cartão SD..."</string>
-    <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"Cartão SD montado como só de leitura"</string>
+    <string name="sdcard_settings_scanning_status" product="nosdcard" msgid="7503429447676219564">"A proc. multim. no armaz. USB…"</string>
+    <string name="sdcard_settings_scanning_status" product="default" msgid="2763464949274455656">"A procurar ficheiros multimédia no cartão SD..."</string>
+    <string name="sdcard_settings_read_only_status" product="nosdcard" msgid="3771783090621312312">"Armaz. USB montado só leitura"</string>
+    <string name="sdcard_settings_read_only_status" product="default" msgid="5706115860484118911">"Cartão SD montado como só de leitura"</string>
     <string name="next_label" msgid="4693520878012668114">"Seguinte"</string>
     <string name="language_picker_title" msgid="4034157617842965844">"Região"</string>
     <string name="select_your_language" msgid="1146235168951906084">"Seleccione o seu idioma"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Seleccionar actividade"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Informações sobre o dispositivo"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Informações da bateria"</string>
-    <string name="battery_history_label" msgid="8242244969757414501">"Histórico da bateria"</string>
     <string name="display_label" msgid="7403874003169865762">"Visor"</string>
     <string name="phone_info_label" msgid="2127552523124277664">"Informações do telefone"</string>
-    <string name="sd_card_settings_label" msgid="5743100901106177102">"Cartão SD"</string>
+    <string name="sd_card_settings_label" product="nosdcard" msgid="8101475181301178428">"Armazenamento USB"</string>
+    <string name="sd_card_settings_label" product="default" msgid="5743100901106177102">"Cartão SD"</string>
     <string name="proxy_settings_label" msgid="3271174136184391743">"Definições de proxy"</string>
     <string name="cancel" msgid="6859253417269739139">"Cancelar"</string>
     <string name="settings_label" msgid="1626402585530130914">"Definições"</string>
+    <string name="settings_label_launcher" msgid="8344735489639482340">"Definições"</string>
     <string name="settings_shortcut" msgid="3672145147925639262">"Definições"</string>
     <string name="airplane_mode" msgid="8837269988154128601">"Modo de voo"</string>
     <string name="airplane_mode_summary" msgid="3154817401368780988">"Desactivar todas as ligações sem fios"</string>
@@ -323,6 +333,11 @@
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Como telefone com altifalante"</string>
     <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Para música e multimédia"</string>
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Memorizar definições"</string>
+    <string name="nfc_quick_toggle_title" msgid="6769159366307299004">"NFC"</string>
+    <string name="nfc_quick_toggle_summary" msgid="1988408027741447231">"Utilizar Near Field Communication para ler e trocar etiquetas"</string>
+    <!-- no translation found for nfc_toggle_error (2233172102497535522) -->
+    <!-- no translation found for nfc_toggle_error (8998642457947607263) -->
+    <skip />
     <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Activar Wi-Fi"</string>
     <string name="wifi_settings" msgid="4746946030627213196">"Definições de Wi-Fi"</string>
@@ -376,6 +391,7 @@
     <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Especificar quando mudar de Wi-Fi para dados móveis"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Ocorreu um problema ao definir a política de suspensão."</string>
     <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Endereço MAC"</string>
+    <string name="wifi_advanced_ip_address_title" msgid="6215297094363164846">"Endereço IP"</string>
     <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Definições de IP"</string>
     <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Guardar"</string>
     <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Cancelar"</string>
@@ -496,9 +512,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Estado"</string>
     <string name="device_status" msgid="607405385799807324">"Estado"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Número de telefone, sinal, etc."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"Armazenamento do telefone e cartão SD"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Definições de armazenamento do telefone e cartão SD"</string>
-    <string name="storage_settings_summary" msgid="9176693537325988610">"Desmontar cartão SD, ver armazenamento disponível"</string>
+    <string name="storage_settings" msgid="4211799979832404953">"Armazenamento"</string>
+    <string name="storage_settings_title" msgid="8746016738388094064">"Definições de armazenamento"</string>
+    <string name="storage_settings_summary" product="nosdcard" msgid="3543813623294870759">"Desmontar armazenamento USB, ver armazenamento disponível"</string>
+    <string name="storage_settings_summary" product="default" msgid="9176693537325988610">"Desmontar cartão SD, ver armazenamento disponível"</string>
     <string name="status_number" msgid="5123197324870153205">"O meu número de telefone"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MINUTOS"</string>
     <string name="status_prl_version" msgid="8499039751817386529">"Versão do PRL"</string>
@@ -514,24 +531,36 @@
     <string name="status_unavailable" msgid="7862009036663793314">"Indisponível"</string>
     <string name="status_up_time" msgid="7294859476816760399">"Tempo de actividade"</string>
     <string name="status_awake_time" msgid="2393949909051183652">"Hora de actividade"</string>
-    <string name="internal_memory" msgid="1130932766236387454">"Armazenamento interno do telefone"</string>
-    <string name="sd_memory" msgid="151871913888051515">"Cartão SD"</string>
+    <string name="internal_memory" msgid="9129595691484260784">"Armazenamento interno"</string>
+    <string name="sd_memory" product="nosdcard" msgid="2510246194083052841">"Armazenamento USB"</string>
+    <string name="sd_memory" product="default" msgid="151871913888051515">"Cartão SD"</string>
     <string name="memory_available" msgid="418542433817289474">"Espaço disponível"</string>
     <string name="memory_size" msgid="6629067715017232195">"Espaço total"</string>
-    <string name="sd_eject" msgid="6915293408836853020">"Desmontar cartão SD"</string>
-    <string name="sd_eject_summary" msgid="3315557796211542962">"Desmontar o cartão SD para remoção segura"</string>
-    <string name="sd_insert_summary" msgid="2048640010381803841">"Inserir cartão SD para instalação"</string>
-    <string name="sd_mount" msgid="5940523765187704135">"Instalar cartão SD"</string>
-    <string name="sd_mount_summary" msgid="4936591681679097699">"Instalar cartão SD"</string>
-    <string name="sd_format" msgid="5448738337382712203">"Formatar cartão SD"</string>
-    <string name="sd_format_summary" msgid="6616491027883134004">"Formatar (apagar) o cartão SD"</string>
+    <string name="sd_eject" product="default" msgid="6915293408836853020">"Desmontar cartão SD"</string>
+    <string name="sd_eject_summary" product="nosdcard" msgid="5009296896648072891">"Desmontar armaz. USB interno"</string>
+    <string name="sd_eject_summary" product="default" msgid="3300599435073550246">"Desmonte o cartão SD para removê-lo com segurança"</string>
+    <string name="sd_insert_summary" product="nosdcard" msgid="5264016886409577313">"Inser. armaz. USB para montagem"</string>
+    <string name="sd_insert_summary" product="default" msgid="2048640010381803841">"Inserir cartão SD para instalação"</string>
+    <string name="sd_mount" product="nosdcard" msgid="8966695015677343116">"Montar armazenamento USB"</string>
+    <string name="sd_mount" product="default" msgid="5940523765187704135">"Instalar cartão SD"</string>
+    <!-- outdated translation 6733254203291665551 -->     <string name="sd_mount_summary" product="nosdcard" msgid="1794150364965145726">"Montar o armaz. USB interno"</string>
+    <string name="sd_mount_summary" product="default" msgid="4936591681679097699">"Instalar cartão SD"</string>
+    <string name="sd_format" product="nosdcard" msgid="2148179271623099054">"Apagar armazenamento USB"</string>
+    <string name="sd_format" product="default" msgid="2576054280507119870">"Apagar cartão SD"</string>
+    <string name="sd_format_summary" product="nosdcard" msgid="1504606546865152514">"Apaga todos os dados no armaz. USB interno do telemóvel, como músicas ou fotografias"</string>
+    <string name="sd_format_summary" product="default" msgid="915849621390821841">"Apaga todos os dados do cartão SD do telemóvel, tais como músicas e fotografias"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"Indisponível"</string>
     <string name="read_only" msgid="6702420168629076340">" (Só de leitura)"</string>
-    <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Desmontar cartão SD"</string>
-    <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Se desmontar o cartão SD, algumas aplicações que estiver a utilizar serão paradas e poderão ficar indisponíveis até voltar a montar o cartão SD."</string>
-    <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Falha ao desmontar o cartão SD"</string>
-    <string name="dlg_error_unmount_text" msgid="9188972789897713180">"Não é possível desmontar o cartão SD. Tente novamente mais tarde."</string>
-    <string name="unmount_inform_text" msgid="3213378327712151498">"O cartão SD será desmontado. Verifique o estado na área de notificação."</string>
+    <string name="dlg_confirm_unmount_title" product="nosdcard" msgid="2349876662428231297">"Desmontar armaz. USB"</string>
+    <string name="dlg_confirm_unmount_title" product="default" msgid="8612140627310646730">"Desmontar cartão SD"</string>
+    <string name="dlg_confirm_unmount_text" product="nosdcard" msgid="3390169455621185223">"Se desmontar o armazenamento USB, algumas aplicações que estiver a utilizar serão paradas e poderão ficar indisponíveis até voltar a montar o armazenamento USB."</string>
+    <string name="dlg_confirm_unmount_text" product="default" msgid="5851214273718817727">"Se desmontar o cartão SD, algumas aplicações que estiver a utilizar serão paradas e poderão ficar indisponíveis até voltar a montar o cartão SD."</string>
+    <string name="dlg_error_unmount_title" product="nosdcard" msgid="7695491947411836733">"Falha ao desmontar armaz. USB"</string>
+    <string name="dlg_error_unmount_title" product="default" msgid="4004106918266783081">"Falha ao desmontar o cartão SD"</string>
+    <string name="dlg_error_unmount_text" product="nosdcard" msgid="1450864147013376592">"Não é possível desmontar o armazenamento USB. Tente novamente mais tarde."</string>
+    <string name="dlg_error_unmount_text" product="default" msgid="9188972789897713180">"Não é possível desmontar o cartão SD. Tente novamente mais tarde."</string>
+    <string name="unmount_inform_text" product="nosdcard" msgid="7120241136790744265">"O armazenamento USB será desmontado."</string>
+    <string name="unmount_inform_text" product="default" msgid="1904212716075458402">"O cartão SD será desmontado."</string>
     <string name="sd_ejecting_title" msgid="8824572198034365468">"A desmontar"</string>
     <string name="sd_ejecting_summary" msgid="2028753069184908491">"Desmontagem em curso"</string>
     <string name="battery_status_title" msgid="9159414319574976203">"Estado da bateria"</string>
@@ -571,21 +600,32 @@
     <string name="restore_default_apn_completed" msgid="3990449939234957281">"Reposição de predefinições de APN concluída"</string>
     <string name="master_clear_title" msgid="5907939616087039756">"Reposição dos dados de fábrica"</string>
     <string name="master_clear_summary" msgid="4986154238001088492">"Apaga todos os dados do telefone"</string>
-    <string name="master_clear_desc" msgid="7823268823499739178">"Esta operação eliminará todos os dados do telefone, incluindo:"\n<li>"A sua Conta Google"</li>\n<li>"Definições e dados do sistema e das aplicações"</li>\n<li>"Aplicações transferidas"</li>\n"Não eliminará:"\n<li>"Software do sistema actual e aplicações agregadas"</li>\n<li>"Ficheiros do cartão SD, tais como música ou fotografias"</li></string>
+    <string name="master_clear_desc" product="nosdcard" msgid="2163013814299528247">"Esta operação apagará todos os dados do "<b>"armazenamento interno"</b>" do telemóvel, incluindo:"\n\n<li>"A sua conta Google"</li>\n<li>"Definições e dados do sistema e das aplicações"</li>\n<li>"Aplicações transferidas"</li>\n\n"Para apagar todos os dados deste telemóvel, é necessário apagar o "<b>"armazenamento USB"</b>"."\n\n</string>
+    <string name="master_clear_desc" product="default" msgid="1741944496458365969">"Esta operação apagará todos os dados do "<b>"armazenamento interno"</b>" do telemóvel, incluindo:"\n\n<li>"A sua conta Google"</li>\n<li>"Definições e dados do sistema e das aplicações"</li>\n<li>"Aplicações transferidas"</li>\n\n"Para apagar também músicas, imagens e outros dados do utilizador, é necessário apagar o "<b>"cartão SD"</b>"."\n\n</string>
+    <string name="erase_external_storage" product="nosdcard" msgid="969364037450286809">"Apagar armazenamento USB"</string>
+    <string name="erase_external_storage" product="default" msgid="1397239046334307625">"Apagar cartão SD"</string>
+    <string name="erase_external_storage_description" product="nosdcard" msgid="1657838142707381027">"Apaga todos os dados no armaz. USB interno do telemóvel, tais como músicas ou fotografias."</string>
+    <string name="erase_external_storage_description" product="default" msgid="8100175974635894073">"Apaga todos os dados do cartão SD do telemóvel, como músicas e fotografias."</string>
     <string name="master_clear_button_text" msgid="7550632653343157971">"Repor telefone"</string>
     <string name="master_clear_final_desc" msgid="6917971132484622696">"Apagar todas as informações pessoais e as aplicações transferidas? Não é possível reverter esta acção!"</string>
     <string name="master_clear_final_button_text" msgid="5390908019019242910">"Apagar tudo"</string>
     <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Desenhe o seu padrão de desbloqueio"</string>
     <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"Tem de desenhar o seu padrão de desbloqueio para confirmar uma reposição do telefone."</string>
     <string name="master_clear_failed" msgid="8655202125010189406">"Não  foi efectuada nenhuma reposição porque o serviço System Clear não está disponível."</string>
-    <string name="media_format_title" msgid="4671276096695789895">"Formatar cartão SD."</string>
-    <string name="media_format_summary" msgid="3805714639375830120">"Apaga todos os dados do cartão SD"</string>
-    <string name="media_format_desc" msgid="1142563222357820834">"Esta acção irá apagar o cartão SD no telefone. Perder-se-ão TODOS os dados do cartão!"</string>
-    <string name="media_format_button_text" msgid="370856400090190151">"Formatar cartão SD"</string>
-    <string name="media_format_final_desc" msgid="1776666694910717198">"Formatar cartão SD, apagando todos os seus dados multimédia? Não é possível reverter a acção!"</string>
+    <string name="media_format_title" product="nosdcard" msgid="3999653431422767156">"Apagar armazenamento USB"</string>
+    <string name="media_format_title" product="default" msgid="4427528440306787972">"Apagar cartão SD"</string>
+    <string name="media_format_summary" product="nosdcard" msgid="776603298628082065">"Apaga todos dados armaz. USB"</string>
+    <string name="media_format_summary" product="default" msgid="3805714639375830120">"Apaga todos os dados do cartão SD"</string>
+    <string name="media_format_desc" product="nosdcard" msgid="4553860683952763905">"Esta acção apagará o armazenamento USB. Perderá "<b>"todos"</b>" os dados aí armazenados!"</string>
+    <string name="media_format_desc" product="default" msgid="1598627584181935513">"Esta acção irá apagar o cartão SD. Perderá "<b>"todos"</b>" os dados do cartão!"</string>
+    <string name="media_format_button_text" product="nosdcard" msgid="6293669371185352810">"Apagar armazenamento USB"</string>
+    <string name="media_format_button_text" product="default" msgid="6721544380069373626">"Apagar cartão SD"</string>
+    <string name="media_format_final_desc" product="nosdcard" msgid="8094635533378487255">"Apagar armazenamento USB e apagar todos os ficheiros armazenados? Não é possível reverter a acção!"</string>
+    <string name="media_format_final_desc" product="default" msgid="9015504991522581434">"Apagar cartão SD e apagar todos os ficheiros armazenados? Não é possível reverter a acção!"</string>
     <string name="media_format_final_button_text" msgid="4881713344315923175">"Apagar tudo"</string>
     <string name="media_format_gesture_prompt" msgid="3109349468816856670">"Desenhe o seu padrão de desbloqueio"</string>
-    <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Tem de efectuar o padrão de desbloqueio para confirmar a formatação de um cartão SD."</string>
+    <string name="media_format_gesture_explanation" product="nosdcard" msgid="1379736318750958338">"Tem de desenhar a sequência de desbloqueio para confirmar que pretende formatar o armazenamento USB."</string>
+    <string name="media_format_gesture_explanation" product="default" msgid="1681213416497647321">"Tem de desenhar a sequência de desbloqueio para confirmar que pretende apagar o cartão SD."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Definições de chamadas"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Configurar correio de voz, reencaminhamento de chamadas, chamada em espera, ID do autor da chamada"</string>
     <string name="tether_settings_title_usb" msgid="4315031513434087777">"Ligação ponto a ponto"</string>
@@ -609,7 +649,7 @@
     <string name="location_networks_disabled" msgid="2708968452901433980">"Ver localização em aplicações (como o Google Maps) utilizando redes sem fios"</string>
     <string name="location_neighborhood_level" msgid="4656658097932515921">"Localização determinada por redes Wi-Fi e/ou móveis"</string>
     <string name="location_gps" msgid="6296125378829097831">"Utilizar satélites GPS"</string>
-    <string name="location_street_level" msgid="6460740847018275745">"Ao localizar determinar localização exacta ao nível da rua (desmarque p/ poupar bateria)"</string>
+    <string name="location_street_level" msgid="7456259025474443314">"Ao localizar, precisão a nível de rua"</string>
     <string name="location_gps_disabled" msgid="6632537158777308128">"Localizar ao nível da rua (exige mais bateria e vista do céu)"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"Utilizar GPS assistido"</string>
     <string name="assisted_gps_enabled" msgid="8751899609589792803">"Utilizar o servidor para auxiliar o GPS (desmarque esta opção para reduzir a utilização da rede)"</string>
@@ -692,22 +732,31 @@
     <string name="application_size_label" msgid="5055196275624686382">"Aplicação"</string>
     <string name="data_size_label" msgid="8679376373625710107">"Dados"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Desinstalar"</string>
+    <string name="disable_text" msgid="6544054052049395202">"Desactivar"</string>
+    <string name="enable_text" msgid="9217362512327828987">"Activar"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Limpar dados"</string>
     <string name="app_factory_reset" msgid="6635744722502563022">"Desinstalar actualizações"</string>
     <string name="auto_launch_enable_text" msgid="2630656657744196691">"Optou por iniciar esta aplicação por predefinição para algumas acções."</string>
     <string name="auto_launch_disable_text" msgid="7800385822185540166">"Nenhuma predefinição estabelecida."</string>
     <string name="clear_activities" msgid="7408923511535174430">"Limpar predefinições"</string>
     <string name="unknown" msgid="1592123443519355854">"Desconhecido"</string>
-    <string name="sort_order_alpha" msgid="8622029358896599842">"Ordenar"</string>
+    <string name="sort_order_alpha" msgid="1410278099123670628">"Ordenar pelo nome"</string>
     <string name="sort_order_size" msgid="7024513286636502362">"Ordenar por tamanho"</string>
+    <string name="show_running_services" msgid="5736278767975544570">"Mostrar serv. em execução"</string>
+    <string name="show_background_processes" msgid="2009840211972293429">"Mostrar proc. em cache"</string>
     <string name="manage_space_text" msgid="8852711522447794676">"Gerir espaço"</string>
     <string name="filter" msgid="2018011724373033887">"Filtrar"</string>
     <string name="filter_dlg_title" msgid="6507663329723966854">"Seleccionar opções de filtro"</string>
     <string name="filter_apps_all" msgid="5142129378749391876">"Todas"</string>
     <string name="filter_apps_third_party" msgid="7786348047690140979">"Transferidas"</string>
     <string name="filter_apps_running" msgid="7767071454371350486">"Em execução"</string>
-    <string name="filter_apps_onsdcard" msgid="1477351142334784771">"No cartão SD"</string>
-    <string name="loading" msgid="3200408047793887917">"A carregar..."</string>
+    <string name="filter_apps_onsdcard" product="nosdcard" msgid="4843063154701023349">"Armazenamento USB"</string>
+    <string name="filter_apps_onsdcard" product="default" msgid="1477351142334784771">"No cartão SD"</string>
+    <string name="disabled" msgid="9206776641295849915">"Desactivada"</string>
+    <string name="no_applications" msgid="5190227407135243904">"Sem aplicações."</string>
+    <string name="internal_storage" msgid="1584700623164275282">"Armaz. interno"</string>
+    <string name="sd_card_storage" product="nosdcard" msgid="2673203150465132465">"Armaz. USB"</string>
+    <string name="sd_card_storage" product="default" msgid="7623513618171928235">"Arm. cartão SD"</string>
     <string name="recompute_size" msgid="7722567982831691718">"A recalcular tamanho..."</string>
     <string name="clear_data_dlg_title" msgid="4470209520936375508">"Eliminar"</string>
     <string name="clear_data_dlg_text" msgid="8368035073300828451">"Todos os dados desta aplicação serão eliminados definitivamente. Isto inclui todos os ficheiros, definições, contas, bases de dados, entre outros."</string>
@@ -727,7 +776,8 @@
     <string name="version_text" msgid="9189073826278676425">"versão <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5042838441401731346">"Mover"</string>
     <string name="move_app_to_internal" msgid="3895430471913858185">"Mover para o telefone"</string>
-    <string name="move_app_to_sdcard" msgid="1143379049903056407">"Mover para cartão SD"</string>
+    <string name="move_app_to_sdcard" product="nosdcard" msgid="4350451696315265420">"Mover para armaz. USB"</string>
+    <string name="move_app_to_sdcard" product="default" msgid="1143379049903056407">"Mover para cartão SD"</string>
     <string name="moving" msgid="6431016143218876491">"A mover"</string>
     <string name="insufficient_storage" msgid="8566913062094452962">"Não existe armazenamento suficiente restante."</string>
     <string name="does_not_exist" msgid="837163572898468245">"A aplicação não existe."</string>
@@ -735,29 +785,49 @@
     <string name="invalid_location" msgid="4934491353200240499">"A localização de instalação especificada não é válida."</string>
     <string name="system_package" msgid="1030561474413022831">"Não é possível instalar actualizações do sistema em suportes de dados externos."</string>
     <string name="force_stop_dlg_title" msgid="4289453224368188476">"Forçar paragem"</string>
-    <string name="force_stop_dlg_text" msgid="3381302041569982075">"Esta aplicação será reiniciada imediatamente. Tem a certeza de que pretende forçar a paragem?"</string>
+    <string name="force_stop_dlg_text" msgid="5157374701213502922">"A paragem forçada de uma aplicação pode levá-la a um mau funcionamento. Tem a certeza?"</string>
     <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Mover aplicação"</string>
     <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Falha ao mover a aplicação. <xliff:g id="REASON">%1$s</xliff:g>"</string>
     <string name="app_install_location_title" msgid="2068975150026852168">"Localização de instalação preferida"</string>
     <string name="app_install_location_summary" msgid="879753854530300436">"Alterar a localização de instalação preferida para novas aplicações."</string>
+    <string name="storageuse_settings_title" msgid="5657014373502630403">"Utilização do armazenam."</string>
+    <string name="storageuse_settings_summary" msgid="2556057379120846792">"Ver o armazenamento utilizado pelas aplicações"</string>
     <string name="runningservices_settings_title" msgid="8097287939865165213">"Serviços em execução"</string>
     <string name="runningservices_settings_summary" msgid="854608995821032748">"Ver e controlar os serviços actualmente em execução"</string>
     <string name="service_restarting" msgid="2242747937372354306">"A reiniciar"</string>
-    <string name="no_running_services" msgid="6981216347270280598">"Não existem serviços em execução"</string>
-    <string name="confirm_stop_service" msgid="5700448757318301681">"Parar serviço?"</string>
-    <string name="confirm_stop_service_msg" msgid="1166661293369421272">"O serviço deixará de ser executado até que seja novamente iniciado. Isto pode ter consequências indesejáveis para a aplicação <xliff:g id="APPLICATION">%1$s</xliff:g>."</string>
-    <string name="confirm_stop_stop" msgid="7382363913280993331">"Parar"</string>
-    <string name="confirm_stop_cancel" msgid="206495326622692381">"Cancelar"</string>
-    <string name="service_started_by_app" msgid="8432097226392386802">"Iniciado pela aplicação: tocar p/ parar"</string>
-    <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: toque para gerir"</string>
-    <string name="service_background_processes" msgid="5158600475629177758">"Disp.: <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g> em <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_foreground_processes" msgid="4013890350284680796">"Outro: <xliff:g id="MEMORY">%2$s</xliff:g> em <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_process_name" msgid="8630408984456958400">"Processo: <xliff:g id="PROCESS">%1$s</xliff:g>"</string>
+    <string name="cached" msgid="1059590879740175019">"Processo em segundo plano em cache"</string>
+    <string name="no_running_services" msgid="2059536495597645347">"Nada a ser executado."</string>
+    <string name="service_started_by_app" msgid="6575184738671598131">"Iniciado pela aplicação."</string>
+    <!-- no translation found for service_client_name (4037193625611815517) -->
+    <skip />
+    <string name="service_background_processes" msgid="6844156253576174488">"<xliff:g id="MEMORY">%1$s</xliff:g> gratuito"</string>
+    <string name="service_foreground_processes" msgid="7583975676795574276">"<xliff:g id="MEMORY">%1$s</xliff:g> utiliz."</string>
+    <string name="memory" msgid="6609961111091483458">"RAM"</string>
+    <!-- no translation found for service_process_name (4098932168654826656) -->
+    <skip />
+    <string name="running_processes_item_description_s_s" msgid="5790575965282023145">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processo e <xliff:g id="NUMSERVICES">%2$d</xliff:g> serviço"</string>
+    <string name="running_processes_item_description_s_p" msgid="8019860457123222953">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processo e <xliff:g id="NUMSERVICES">%2$d</xliff:g> serviços"</string>
+    <string name="running_processes_item_description_p_s" msgid="744424668287252915">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processos e <xliff:g id="NUMSERVICES">%2$d</xliff:g> serviço"</string>
+    <string name="running_processes_item_description_p_p" msgid="1607384595790852782">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processos e <xliff:g id="NUMSERVICES">%2$d</xliff:g> serviços"</string>
+    <string name="runningservicedetails_settings_title" msgid="6188692418986988288">"Aplicação em execução"</string>
+    <string name="no_services" msgid="7133900764462288263">"Não activo"</string>
+    <string name="runningservicedetails_services_title" msgid="391168243725357375">"Serviços"</string>
+    <string name="runningservicedetails_processes_title" msgid="928115582044655268">"Processos"</string>
+    <string name="service_stop" msgid="6369807553277527248">"Parar"</string>
+    <string name="service_manage" msgid="1876642087421959194">"Definições"</string>
+    <string name="service_stop_description" msgid="3261798282116866961">"Este serviço foi iniciado pela aplicação. Se o parar, a aplicação pode falhar."</string>
+    <string name="heavy_weight_stop_description" msgid="6855241582643136019">"Esta aplicação não pode ser parada com segurança. Se o fizer, poderá perder algum do seu trabalho actual."</string>
+    <string name="background_process_stop_description" msgid="1728354083304746737">"Trata-se de um processo de aplicações antigo que se tem mantido para aumentar a velocidade caso seja necessário. Normalmente, não existe motivo para pará-lo."</string>
+    <string name="service_manage_description" msgid="7050092269951613102">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: actualmente em utilização. Toque em Definições para o controlar."</string>
+    <string name="main_running_process_description" msgid="929204645380391397">"Processo principal que está a ser utilizado."</string>
+    <string name="process_service_in_use_description" msgid="8993335064403217080">"O serviço <xliff:g id="COMP_NAME">%1$s</xliff:g> está a ser utilizado."</string>
+    <string name="process_provider_in_use_description" msgid="5586603325677678940">"O fornecedor <xliff:g id="COMP_NAME">%1$s</xliff:g> está a ser utilizado."</string>
+    <string name="runningservicedetails_stop_dlg_title" msgid="4253292537154337233">"Parar serviço de sistema?"</string>
+    <string name="runningservicedetails_stop_dlg_text" msgid="6929716497425738387">"Tem a certeza de que pretende parar este serviço do sistema? Se o fizer, algumas das funcionalidades do telemóvel poderão deixar de funcionar correctamente até desligá-lo e ligá-lo novamente."</string>
     <string name="language_settings" msgid="502219872342167227">"Idioma e teclado"</string>
     <string name="language_keyboard_settings_title" msgid="3455826933385341107">"Definições de idioma e teclado"</string>
-    <string name="language_settings_summary" msgid="595647729475399987">"Definir opções de região (idioma e região), entrada de texto e correcção automática"</string>
-    <string name="language_category" msgid="3391756582724541530">"Definição de região"</string>
-    <string name="text_category" msgid="6342540511465136739">"Definições de texto"</string>
+    <string name="language_settings_category" msgid="2288258489940617043">"Definições de idioma"</string>
+    <string name="keyboard_settings_category" msgid="7060453865544070642">"Definições do teclado"</string>
     <string name="phone_language" msgid="1165758957501090679">"Seleccionar idioma"</string>
     <string name="phone_language_summary" msgid="3871309445655554211"></string>
     <string name="auto_replace" msgid="6199184757891937822">"Substituir automaticamente"</string>
@@ -782,7 +852,6 @@
     <string name="testing" msgid="6584352735303604146">"Testes"</string>
     <string name="testing_phone_info" msgid="8656693364332840056">"Informações do telefone"</string>
     <string name="testing_battery_info" msgid="3497865525976497848">"Informação da bateria"</string>
-    <string name="testing_battery_history" msgid="3043329445810695647">"Histórico da bateria"</string>
     <string name="quick_launch_title" msgid="7904609846945905306">"Iniciação rápida"</string>
     <string name="quick_launch_summary" msgid="3453825712466417452">"Definir atalhos do teclado para iniciar aplicações"</string>
     <string name="quick_launch_assign_application" msgid="4521368464929956350">"Atribuir aplicação"</string>
@@ -798,8 +867,8 @@
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Gerir opções de entrada de texto"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Definições de <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Definições do teclado no ecrã"</string>
-    <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"Teclado do dispositivo"</string>
-    <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"Definições do teclado incorporado"</string>
+    <string name="builtin_keyboard_settings_title" msgid="5274990495405941804">"Teclado incorporado"</string>
+    <string name="builtin_keyboard_settings_summary" msgid="7990296351888096836">"Definições do teclado físico incorporado"</string>
     <string name="development_settings_title" msgid="6719732334835420989">"Desenvolvimento"</string>
     <string name="development_settings_summary" msgid="2151320488701538355">"Definir opções de desenvolvimento da aplicação"</string>
     <string name="enable_adb" msgid="7982306934419797485">"Depuração USB"</string>
@@ -812,36 +881,10 @@
     <string name="adb_warning_message" msgid="5352555112049663033">"A depuração USB é utilizada apenas para fins de programação. Pode ser utilizada para copiar dados entre o computador e o dispositivo, instalar aplicações no dispositivo sem notificação e ler dados do registo."</string>
     <string name="gadget_picker_title" msgid="98374951396755811">"Escolher miniaplicação"</string>
     <string name="widget_picker_title" msgid="9130684134213467557">"Escolher widget"</string>
-    <string name="battery_history_details_for" msgid="5924639922153109669">"Detalhes de UID <xliff:g id="NUMBER">%d</xliff:g>"</string>
-    <string name="battery_history_uid" msgid="1016606150528436298">"UID <xliff:g id="USER_ID">%1$d</xliff:g>"</string>
-    <string name="battery_history_network_usage" msgid="8010852371665217020">"Detalhes de utilização de rede para <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_bytes_received" msgid="980307569180518302">"Bytes recebidos: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_sent" msgid="2501748768602119159">"Bytes enviados: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_total" msgid="4444807574361642753">"Total de bytes: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_cpu_usage" msgid="2597353713014790877">"Detalhes de utilização da CPU para <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_user_time" msgid="6227507614894791359">"Tempo do utilizador:"</string>
-    <string name="battery_history_system_time" msgid="2015862072724507547">"Hora do sistema:"</string>
-    <string name="battery_history_total_time" msgid="3618703970098556104">"Tempo total:"</string>
-    <string name="battery_history_starts" msgid="9137453931978571696">"Inícios: <xliff:g id="STARTS">%1$d</xliff:g>"</string>
     <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g>d <xliff:g id="HOURS">%2$d</xliff:g>h <xliff:g id="MINUTES">%3$d</xliff:g>m <xliff:g id="SECONDS">%4$d</xliff:g>s"</string>
     <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g>h <xliff:g id="MINUTES">%2$d</xliff:g>m <xliff:g id="SECONDS">%3$d</xliff:g>s"</string>
     <string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g>m <xliff:g id="SECONDS">%2$d</xliff:g>s"</string>
     <string name="battery_history_seconds" msgid="4283492130945761685">"<xliff:g id="SECONDS">%1$d</xliff:g>s"</string>
-    <string name="battery_history_packages_sharing_this_uid" msgid="4101596071379250050">"Pacotes que partilham este UID:"</string>
-    <string name="battery_history_no_data" msgid="1177238743237067617">"Não existem dados de utilização da bateria disponíveis"</string>
-    <string name="battery_history_sensor" msgid="2333488996028993982">"Sensor:"</string>
-    <string name="battery_history_wakelock" msgid="608683447522396293">"Activação permanente parcial:"</string>
-    <string name="battery_history_used_by_packages" msgid="3000711380023436470">"Sensor utilizado por pacotes:"</string>
-    <string name="battery_history_sensor_usage" msgid="3593133338613209024">"Utilizado <xliff:g id="COUNT">%1$d</xliff:g> vezes por <xliff:g id="PACKAGE">%2$s</xliff:g>"</string>
-    <string name="battery_history_sensor_usage_multi" msgid="4536084375991014508">"Utilizado <xliff:g id="COUNT">%1$d</xliff:g> vezes por um dos seguintes:"</string>
-    <string name="battery_history_awake_label" msgid="8449792868990080882">"Em execução"</string>
-    <string name="battery_history_screen_on_label" msgid="1848936521786339362">"Ecrã activo"</string>
-    <string name="battery_history_phone_on_label" msgid="700191958853142297">"Telefone ligado"</string>
-    <string name="battery_history_awake" msgid="4350886665719031057">"Tempo decorrido sem suspensão:"</string>
-    <string name="battery_history_screen_on" msgid="1377240025275657277">"Tempo decorrido com o ecrã ligado:"</string>
-    <string name="battery_history_phone_on" msgid="4891504401623839532">"Tempo decorrido com o telefone ligado:"</string>
-    <string name="battery_history_screen_on_battery" msgid="536058210445081888">"Bateria activa:"</string>
-    <string name="battery_history_screen_on_plugged" msgid="5019127390021871260">"Ligado:"</string>
     <string name="usage_stats_label" msgid="5890846333487083609">"Estatísticas de utilização"</string>
     <string name="testing_usage_stats" msgid="7823048598893937339">"Estatísticas de utilização"</string>
     <string name="display_order_text" msgid="8592776965827565271">"Ordenar por:"</string>
@@ -865,12 +908,19 @@
     <string name="power_usage_summary" msgid="7237084831082848168">"O que tem estado a utilizar a bateria"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Bateria utilizada desde que foi desligado"</string>
     <string name="battery_since_reset" msgid="7464546661121187045">"Bateria utilizada desde a reposição"</string>
+    <string name="battery_stats_on_battery" msgid="4970762168505236033">"<xliff:g id="TIME">%1$s</xliff:g> de bateria"</string>
     <string name="battery_stats_duration" msgid="7464501326709469282">"<xliff:g id="TIME">%1$s</xliff:g> desde que foi desligado"</string>
+    <string name="battery_stats_charging_label" msgid="4223311142875178785">"A carregar"</string>
+    <string name="battery_stats_screen_on_label" msgid="7150221809877509708">"Ecrã activo"</string>
+    <string name="battery_stats_gps_on_label" msgid="1193657533641951256">"GPS activado"</string>
+    <string name="battery_stats_wifi_running_label" msgid="3093545080361658269">"Wi-Fi"</string>
+    <string name="battery_stats_wake_lock_label" msgid="1908942681902324095">"Despertar"</string>
+    <string name="battery_stats_phone_signal_label" msgid="6822042940376636775">"Sinal telefónico"</string>
     <!-- no translation found for battery_stats_last_duration (1535831453827905957) -->
     <skip />
     <string name="awake" msgid="387122265874485088">"Hora de activação do dispositivo"</string>
-    <string name="wifi_on_time" msgid="4630925382578609056">"tempo de ligação WiFi"</string>
-    <string name="bluetooth_on_time" msgid="4478515071957280711">"tempo de ligação WiFi"</string>
+    <string name="wifi_on_time" msgid="6310209835617490616">"Tempo de ligação Wi-Fi"</string>
+    <string name="bluetooth_on_time" msgid="6157799524996162271">"Tempo de ligação Wi-Fi"</string>
     <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g> -  <xliff:g id="NUMBER">%2$s</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
     <string name="details_title" msgid="7564809986329021063">"Detalhes da utilização da bateria"</string>
     <string name="details_subtitle" msgid="32593908269911734">"Utilizar detalhes"</string>
@@ -884,7 +934,9 @@
     <string name="power_idle" msgid="9055659695602194990">"Telefone inactivo"</string>
     <string name="usage_type_cpu" msgid="715162150698338714">"Total da CPU"</string>
     <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"primeiro plano da CPU"</string>
+    <string name="usage_type_wake_lock" msgid="5125438890233677880">"Manter desperto"</string>
     <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string>
+    <string name="usage_type_wifi_running" msgid="8234997940652067049">"Wi-Fi em execução"</string>
     <string name="usage_type_phone" msgid="9108247984998041853">"Telefone"</string>
     <string name="usage_type_data_send" msgid="2857401966985425427">"Dados enviados"</string>
     <string name="usage_type_data_recv" msgid="7251090882025234185">"Dados recebidos"</string>
@@ -896,7 +948,7 @@
     <string name="battery_action_app_details" msgid="3275013531871113681">"Informações da aplicação"</string>
     <string name="battery_action_app_settings" msgid="350562653472577250">"Definições da aplicação"</string>
     <string name="battery_action_display" msgid="5302763261448580102">"Definições do visor"</string>
-    <string name="battery_action_wifi" msgid="5452076674659927993">"Definições WiFi"</string>
+    <string name="battery_action_wifi" msgid="2272741639606146903">"Definições de Wi-Fi"</string>
     <string name="battery_action_bluetooth" msgid="8374789049507723142">"Definições de Bluetooth"</string>
     <string name="battery_desc_voice" msgid="8980322055722959211">"Bateria utilizada por chamadas de voz"</string>
     <string name="battery_desc_standby" msgid="3009080001948091424">"Bateria utilizada quando o telefone está inactivo"</string>
@@ -909,9 +961,9 @@
     <string name="battery_desc_bluetooth" msgid="7535520658674621902">"Bateria utilizada pelo bluetooth"</string>
     <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"Desligar o bluetooth quando não estiver a ser utilizado"</string>
     <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"Tente ligar a um dispositivo bluetooth diferente"</string>
-    <string name="battery_desc_apps" msgid="8123202939321333639">"Bateria utilizada pelas aplicações quando em execução"</string>
+    <string name="battery_desc_apps" msgid="6665712811746233450">"Bateria utilizada pela aplicação"</string>
     <string name="battery_sugg_apps_info" msgid="6065882899391322442">"Parar ou desinstalar a aplicação"</string>
-    <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"Desactivar o GPS quando não está a ser utilizado"</string>
+    <string name="battery_sugg_apps_gps" msgid="4545056413090932541">"Controlar manualmente o GPS para impedir que a aplicação o utilize"</string>
     <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"A aplicação pode sugerir definições para reduzir a utilização da bateria"</string>
     <string name="menu_stats_unplugged" msgid="8296577130840261624">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> desde que foi desligado"</string>
     <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"Desde a última vez que foi desligado por <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
@@ -961,6 +1013,8 @@
     <string name="pico_not_installed" msgid="6266845418419994311">"Não instalada"</string>
     <string name="pico_voice_summary_female" msgid="8047327176247727492">"Feminino"</string>
     <string name="pico_voice_summary_male" msgid="8331266854058577610">"Masculino"</string>
+    <string name="tts_notif_engine_install_title" msgid="7000346872482649034">"Motor de sintet. fala instalado"</string>
+    <string name="tts_notif_engine_install_message" msgid="5304661142202662693">"Act. novo motor antes utilizar"</string>
     <string name="gadget_title" msgid="7455548605888590466">"Controlo de Energia"</string>
     <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Actualizar definição de Wi-Fi"</string>
     <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Actualizar a definição do Bluetooth"</string>
@@ -1047,8 +1101,10 @@
     <string name="credentials_access_summary" msgid="319662078718574168">"Acesso das aplicações a certificados seguros e outras credenciais"</string>
     <string name="credentials_unlock" msgid="1463040326264133844">"Introduzir palavra-passe"</string>
     <string name="credentials_unlock_hint" msgid="594679530407918031">"Introduza a palavra-passe do armazenamento de credenciais."</string>
-    <string name="credentials_install_certificates" msgid="177337517568022236">"Instalar a partir do cartão SD"</string>
-    <string name="credentials_install_certificates_summary" msgid="7737001268684193093">"Instalar certificados encriptados a partir do cartão SD"</string>
+    <string name="credentials_install_certificates" product="nosdcard" msgid="619171634797689906">"Instalar do armaz. USB"</string>
+    <string name="credentials_install_certificates" product="default" msgid="177337517568022236">"Instalar a partir do cartão SD"</string>
+    <string name="credentials_install_certificates_summary" product="nosdcard" msgid="8920330112631198575">"Instalar certif. de encriptação a partir do armaz. USB"</string>
+    <string name="credentials_install_certificates_summary" product="default" msgid="7737001268684193093">"Instalar certificados encriptados a partir do cartão SD"</string>
     <string name="credentials_set_password" msgid="9104473585811899989">"Definir palavra-passe"</string>
     <string name="credentials_set_password_summary" msgid="8287876917562085701">"Definir ou alterar a palavra-passe do armazenamento de credenciais"</string>
     <string name="credentials_reset" msgid="9170150870552453457">"Limpar armazenamento"</string>
@@ -1068,6 +1124,16 @@
     <string name="credentials_erased" msgid="7700309135582200849">"O armazenamento de credenciais foi apagado."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"O armazenamento de credenciais está activado."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"O armazenamento de credenciais está desactivado."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Sistema de ficheiros encriptados"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Encriptar dados de utilizador privados"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Activar armazenamento do sistema de ficheiros encriptados para dados de utilizador privados neste dispositivo"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"A activação dos Sistemas de ficheiros encriptados requer uma limpeza de dados do dispositivo."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"A desactivação dos Sistemas de ficheiros encriptados requer uma limpeza de dados do dispositivo."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Activar"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Desactivar"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Cancelar"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"A alteração do modo Sistemas de ficheiros encriptados foi cancelada."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Aviso dos Sistemas de ficheiros encriptados."</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Tom de emergência"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Definir o comportamento quando é efectuada uma chamada de emergência"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Privacidade"</string>
@@ -1075,11 +1141,11 @@
     <string name="backup_section_title" msgid="8856083167469467588">"Cópia de segurança e restauro"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Dados pessoais"</string>
     <string name="backup_data_title" msgid="1239105919852668016">"Fazer uma cópia de segurança dos meus dados"</string>
-    <string name="backup_data_summary" msgid="5662190190240860035">"Fazer uma cópia de segurança das definições e de outros dados da aplicação."</string>
+    <string name="backup_data_summary" msgid="6515285107793232815">"Fazer cópia de segurança dos dados da aplicação, palavras-passe de Wi-Fi e outras definições relativas aos servidores da Google"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Restauro automático"</string>
-    <string name="auto_restore_summary" msgid="6867766474057290177">"Se eu reinstalar uma aplicação, restaurar as definições guardadas numa cópia de segurança ou outros dados."</string>
+    <string name="auto_restore_summary" msgid="83177150536734378">"Se eu reinstalar uma aplicação, restaurar as definições guardadas numa cópia de segurança ou outros dados"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Cópia de segurança"</string>
-    <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Tem a certeza de que pretende parar a cópia de segurança das definições e dos dados da aplicação e apagar todas as cópias nos servidores da Google?"</string>
+    <string name="backup_erase_dialog_message" msgid="7766283133557587608">"Tem a certeza de que pretende parar a cópia de segurança das palavras-passe, marcadores e outros dados de definições e de aplicações de Wi-Fi e apagar todas as cópias nos servidores da Google?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Definições de administração do dispositivo"</string>
     <string name="active_device_admin_msg" msgid="6930903262612422111">"Administrador do dispositivo"</string>
     <string name="remove_device_admin" msgid="3596845261596451437">"Desactivar"</string>
diff --git a/res/values-pt/arrays.xml b/res/values-pt/arrays.xml
index 103d73a..06197d2 100644
--- a/res/values-pt/arrays.xml
+++ b/res/values-pt/arrays.xml
@@ -115,19 +115,6 @@
     <item msgid="1549288661423279207">"Nunca quando conectado"</item>
     <item msgid="1986753720941888596">"Nunca"</item>
   </string-array>
-  <string-array name="battery_history_type_spinner">
-    <item msgid="2193799199027871385">"Uso da CPU"</item>
-    <item msgid="6401018715947316517">"Uso da rede"</item>
-    <item msgid="188092590354892392">"Uso do GPS"</item>
-    <item msgid="8414109131222049141">"Uso do sensor"</item>
-    <item msgid="1327904325081257093">"Uso de ativação parcial"</item>
-    <item msgid="4832254146664706277">"Outro uso"</item>
-  </string-array>
-  <string-array name="battery_history_which_spinner">
-    <item msgid="3451981114763440074">"Desde que foi desconectado pela última vez"</item>
-    <item msgid="166936313535197598">"Total desde a inicialização"</item>
-    <item msgid="4793941382744963893">"Total geral"</item>
-  </string-array>
   <string-array name="usage_stats_display_order_types">
     <item msgid="9077371706468756228">"Tempo de uso"</item>
     <item msgid="1908750532762193304">"Iniciar contagem"</item>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index e1c0563..0e3d4c6 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -45,13 +45,16 @@
     <string name="radioInfo_display_asu" msgid="1422248392727818082">"asu"</string>
     <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string>
     <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string>
-    <string name="sdcard_unmount" msgid="3364184561355611897">"Desmontar cartão SD"</string>
-    <string name="sdcard_format" msgid="362497552060004057">"Formatar cartão SD"</string>
+    <string name="sdcard_unmount" product="nosdcard" msgid="6325292633327972272">"Desconectar armaz. USB"</string>
+    <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Desmontar cartão SD"</string>
+    <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Apagar armazenamento USB"</string>
+    <string name="sdcard_format" product="default" msgid="6713185532039187532">"Apagar cartão SD"</string>
     <string name="small_font" msgid="2295331917424072635">"Pequeno"</string>
     <string name="medium_font" msgid="2068475425515133701">"Médio"</string>
     <string name="large_font" msgid="599055175160971446">"Grande"</string>
     <string name="font_size_save" msgid="3450855718056759095">"OK"</string>
-    <string name="sdcard_setting" msgid="5922637503871474866">"Cartão SD"</string>
+    <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"Armaz. USB"</string>
+    <string name="sdcard_setting" product="default" msgid="5922637503871474866">"Cartão SD"</string>
     <string name="battery_info_status_label" msgid="8109155295509700309">"Status da bateria:"</string>
     <string name="battery_info_power_label" msgid="7465140230991349382">"Tomada de alimentação:"</string>
     <string name="battery_info_scale_label" msgid="3649763192389778437">"Escala da bateria:"</string>
@@ -180,27 +183,34 @@
     <string name="sdcard_changes_instructions" msgid="1364712901180556244">"As alterações são aplicadas quando o cabo USB é reconectado."</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"Ativar o armazenamento USB em massa"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"Total de bytes:"</string>
-    <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"Nenhum cartão SD"</string>
+    <string name="sdcard_settings_not_present_status" product="nosdcard" msgid="2902787003418172125">"Armazenam. USB não conectado"</string>
+    <string name="sdcard_settings_not_present_status" product="default" msgid="6666688653496819947">"Nenhum cartão SD"</string>
     <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"Bytes disponíveis:"</string>
-    <string name="sdcard_settings_mass_storage_status" msgid="4786433969313661655">"O cartão SD está sendo usado como um dispositivo de armazenamento em massa."</string>
-    <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"O cartão SD já pode ser removido com segurança."</string>
-    <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"O cartão SD foi removido enquanto ainda estava em uso!"</string>
+    <string name="sdcard_settings_mass_storage_status" product="nosdcard" msgid="2736378870889777857">"Arm. USB usado p/ arm. massa"</string>
+    <string name="sdcard_settings_mass_storage_status" product="default" msgid="4786433969313661655">"O cartão SD está sendo usado como um dispositivo de armazenamento em massa."</string>
+    <string name="sdcard_settings_unmounted_status" product="nosdcard" msgid="7503300818792750913">"Armaz. USB pode ser removido"</string>
+    <string name="sdcard_settings_unmounted_status" product="default" msgid="3812022095683863087">"O cartão SD já pode ser removido com segurança."</string>
+    <string name="sdcard_settings_bad_removal_status" product="nosdcard" msgid="7761390725880773697">"Armaz. USB removido em uso!"</string>
+    <string name="sdcard_settings_bad_removal_status" product="default" msgid="5145797653495907970">"O cartão SD foi removido enquanto ainda estava em uso!"</string>
     <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"Bytes usados:"</string>
-    <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Procurando mídia no cartão SD…"</string>
-    <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"Cartão SD montado como somente leitura"</string>
+    <string name="sdcard_settings_scanning_status" product="nosdcard" msgid="7503429447676219564">"Procurando mídia armaz. USB..."</string>
+    <string name="sdcard_settings_scanning_status" product="default" msgid="2763464949274455656">"Procurando mídia no cartão SD…"</string>
+    <string name="sdcard_settings_read_only_status" product="nosdcard" msgid="3771783090621312312">"Armaz. USB é somente leitura"</string>
+    <string name="sdcard_settings_read_only_status" product="default" msgid="5706115860484118911">"Cartão SD montado como somente leitura"</string>
     <string name="next_label" msgid="4693520878012668114">"Avançar"</string>
     <string name="language_picker_title" msgid="4034157617842965844">"Local"</string>
     <string name="select_your_language" msgid="1146235168951906084">"Selecionar o seu idioma"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Selecionar atividade"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Informações do dispositivo"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Informações da bateria"</string>
-    <string name="battery_history_label" msgid="8242244969757414501">"Histórico da bateria"</string>
     <string name="display_label" msgid="7403874003169865762">"Tela"</string>
     <string name="phone_info_label" msgid="2127552523124277664">"Informações do telefone"</string>
-    <string name="sd_card_settings_label" msgid="5743100901106177102">"Cartão SD"</string>
+    <string name="sd_card_settings_label" product="nosdcard" msgid="8101475181301178428">"Armaz. USB"</string>
+    <string name="sd_card_settings_label" product="default" msgid="5743100901106177102">"Cartão SD"</string>
     <string name="proxy_settings_label" msgid="3271174136184391743">"Configurações de proxy"</string>
     <string name="cancel" msgid="6859253417269739139">"Cancelar"</string>
     <string name="settings_label" msgid="1626402585530130914">"Configurações"</string>
+    <string name="settings_label_launcher" msgid="8344735489639482340">"Configurações"</string>
     <string name="settings_shortcut" msgid="3672145147925639262">"Configurações"</string>
     <string name="airplane_mode" msgid="8837269988154128601">"Modo para avião"</string>
     <string name="airplane_mode_summary" msgid="3154817401368780988">"Desativar todas as conexões sem fio"</string>
@@ -323,6 +333,11 @@
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Como viva-voz"</string>
     <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Para música e mídia"</string>
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Lembrar configurações"</string>
+    <string name="nfc_quick_toggle_title" msgid="6769159366307299004">"NFC"</string>
+    <string name="nfc_quick_toggle_summary" msgid="1988408027741447231">"Usar comunicação a curta distância para ler e trocar tags"</string>
+    <!-- no translation found for nfc_toggle_error (2233172102497535522) -->
+    <!-- no translation found for nfc_toggle_error (8998642457947607263) -->
+    <skip />
     <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Ativar Wi-Fi"</string>
     <string name="wifi_settings" msgid="4746946030627213196">"Configurações de Wi-Fi"</string>
@@ -376,6 +391,7 @@
     <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Especificar quando alternar de Wi-Fi para dados móveis"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Houve um problema ao configurar a política de inatividade"</string>
     <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Endereço MAC"</string>
+    <string name="wifi_advanced_ip_address_title" msgid="6215297094363164846">"Endereço IP"</string>
     <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Configurações de IP"</string>
     <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Salvar"</string>
     <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Cancelar"</string>
@@ -496,9 +512,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Status"</string>
     <string name="device_status" msgid="607405385799807324">"Status"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Número de telefone, sinal etc."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"SD e armazenamento"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Configurações de SD e armazenamento"</string>
-    <string name="storage_settings_summary" msgid="9176693537325988610">"Desmontar o cartão SD, visualizar armazenamento disponível"</string>
+    <string name="storage_settings" msgid="4211799979832404953">"Armazenamento"</string>
+    <string name="storage_settings_title" msgid="8746016738388094064">"Configurações de armazenamento"</string>
+    <string name="storage_settings_summary" product="nosdcard" msgid="3543813623294870759">"Desconectar armazenamento USB, ver armazenamento disponível"</string>
+    <string name="storage_settings_summary" product="default" msgid="9176693537325988610">"Desmontar o cartão SD, visualizar armazenamento disponível"</string>
     <string name="status_number" msgid="5123197324870153205">"Meu número de telefone"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
     <string name="status_prl_version" msgid="8499039751817386529">"Versão PRL"</string>
@@ -514,24 +531,36 @@
     <string name="status_unavailable" msgid="7862009036663793314">"Não disponível"</string>
     <string name="status_up_time" msgid="7294859476816760399">"Tempo de atividade"</string>
     <string name="status_awake_time" msgid="2393949909051183652">"Tempo de ativação"</string>
-    <string name="internal_memory" msgid="1130932766236387454">"Armazenamento interno do telefone"</string>
-    <string name="sd_memory" msgid="151871913888051515">"Cartão SD"</string>
+    <string name="internal_memory" msgid="9129595691484260784">"Armazenamento interno"</string>
+    <string name="sd_memory" product="nosdcard" msgid="2510246194083052841">"Armaz. USB"</string>
+    <string name="sd_memory" product="default" msgid="151871913888051515">"Cartão SD"</string>
     <string name="memory_available" msgid="418542433817289474">"Espaço disponível"</string>
     <string name="memory_size" msgid="6629067715017232195">"Espaço total"</string>
-    <string name="sd_eject" msgid="6915293408836853020">"Desmontar cartão SD"</string>
-    <string name="sd_eject_summary" msgid="3315557796211542962">"Desmontar o cartão SD para remoção segura"</string>
-    <string name="sd_insert_summary" msgid="2048640010381803841">"Insira um cartão SD para conexão"</string>
-    <string name="sd_mount" msgid="5940523765187704135">"Conectar cartão SD"</string>
-    <string name="sd_mount_summary" msgid="4936591681679097699">"Conectar o cartão SD"</string>
-    <string name="sd_format" msgid="5448738337382712203">"Formatar cartão SD"</string>
-    <string name="sd_format_summary" msgid="6616491027883134004">"Formatar (apagar) o cartão SD"</string>
+    <string name="sd_eject" product="default" msgid="6915293408836853020">"Desmontar cartão SD"</string>
+    <string name="sd_eject_summary" product="nosdcard" msgid="5009296896648072891">"Desconectar armaz. USB interno"</string>
+    <string name="sd_eject_summary" product="default" msgid="3300599435073550246">"Desconecte o cartão SD para poder removê-lo com segurança"</string>
+    <string name="sd_insert_summary" product="nosdcard" msgid="5264016886409577313">"Insira armazen. USB"</string>
+    <string name="sd_insert_summary" product="default" msgid="2048640010381803841">"Insira um cartão SD para conexão"</string>
+    <string name="sd_mount" product="nosdcard" msgid="8966695015677343116">"Conectar armazenam. USB"</string>
+    <string name="sd_mount" product="default" msgid="5940523765187704135">"Conectar cartão SD"</string>
+    <!-- outdated translation 6733254203291665551 -->     <string name="sd_mount_summary" product="nosdcard" msgid="1794150364965145726">"Conectar armaz. USB interno"</string>
+    <string name="sd_mount_summary" product="default" msgid="4936591681679097699">"Conectar o cartão SD"</string>
+    <string name="sd_format" product="nosdcard" msgid="2148179271623099054">"Apagar armazenamento USB"</string>
+    <string name="sd_format" product="default" msgid="2576054280507119870">"Apagar cartão SD"</string>
+    <string name="sd_format_summary" product="nosdcard" msgid="1504606546865152514">"Ap. arm. USB, como mús. e fot."</string>
+    <string name="sd_format_summary" product="default" msgid="915849621390821841">"Apaga todos os dados do cartão SD do telefone, como músicas e fotos"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"Não disponível"</string>
     <string name="read_only" msgid="6702420168629076340">" (Somente leitura)"</string>
-    <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Desconectar cartão SD"</string>
-    <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Se você desconectar o cartão SD, alguns aplicativos que estão em uso serão interrompidos e podem não estar disponíveis até você conectar o cartão SD novamente."</string>
-    <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Falha ao desconectar cartão SD"</string>
-    <string name="dlg_error_unmount_text" msgid="9188972789897713180">"Não é possível desconectar o cartão SD. Tente novamente mais tarde."</string>
-    <string name="unmount_inform_text" msgid="3213378327712151498">"O cartão SD será desconectado. Verifique a área de notificação para saber o status."</string>
+    <string name="dlg_confirm_unmount_title" product="nosdcard" msgid="2349876662428231297">"Desconectar armaz. USB"</string>
+    <string name="dlg_confirm_unmount_title" product="default" msgid="8612140627310646730">"Desconectar cartão SD"</string>
+    <string name="dlg_confirm_unmount_text" product="nosdcard" msgid="3390169455621185223">"Se você desconectar o armazenamento USB, alguns aplicativos que estão em uso serão interrompidos e podem não estar disponíveis até você conectar o armazenamento USB novamente."</string>
+    <string name="dlg_confirm_unmount_text" product="default" msgid="5851214273718817727">"Se você desconectar o cartão SD, alguns aplicativos que estão em uso serão interrompidos e podem não estar disponíveis até você conectar o cartão SD novamente."</string>
+    <string name="dlg_error_unmount_title" product="nosdcard" msgid="7695491947411836733">"Falha ao descon. armaz. USB"</string>
+    <string name="dlg_error_unmount_title" product="default" msgid="4004106918266783081">"Falha ao desconectar cartão SD"</string>
+    <string name="dlg_error_unmount_text" product="nosdcard" msgid="1450864147013376592">"Não é possível desconectar o armazenamento USB. Tente novamente mais tarde."</string>
+    <string name="dlg_error_unmount_text" product="default" msgid="9188972789897713180">"Não é possível desconectar o cartão SD. Tente novamente mais tarde."</string>
+    <string name="unmount_inform_text" product="nosdcard" msgid="7120241136790744265">"O armazenamento USB será desconectado."</string>
+    <string name="unmount_inform_text" product="default" msgid="1904212716075458402">"O cartão SD será desconectado."</string>
     <string name="sd_ejecting_title" msgid="8824572198034365468">"Desconectando"</string>
     <string name="sd_ejecting_summary" msgid="2028753069184908491">"Desconexão em andamento"</string>
     <string name="battery_status_title" msgid="9159414319574976203">"Status da bateria"</string>
@@ -571,21 +600,32 @@
     <string name="restore_default_apn_completed" msgid="3990449939234957281">"Redefinição das configurações padrão do APN concluída"</string>
     <string name="master_clear_title" msgid="5907939616087039756">"Configuração original"</string>
     <string name="master_clear_summary" msgid="4986154238001088492">"Apaga todos os dados no telefone"</string>
-    <string name="master_clear_desc" msgid="7823268823499739178">"Todos os dados do seu telefone serão apagados, incluindo:"\n<li>"Sua conta do Google"</li>\n<li>"Configurações e dados de aplicativos e do sistema"</li>\n<li>"Aplicativos que você fez download"</li>\n"Não serão apagados:"\n<li>"Aplicativos fornecidos e o software atual do sistema"</li>\n<li>"Arquivos do cartão SD, como música ou fotos"</li></string>
+    <string name="master_clear_desc" product="nosdcard" msgid="2163013814299528247">"Isso apagará todos os dados do "<b>"armazenamento interno"</b>" do seu telefone, incluindo:"\n\n<li>"Sua conta do Google"</li>\n<li>"Dados e configurações do sistema e de aplicativos"</li>\n<li>"Aplicativos baixados"</li>\n\n"Para apagar todos os dados deste telefone, o "<b>"armazenamento USB"</b>" deve ser apagado."\n\n</string>
+    <string name="master_clear_desc" product="default" msgid="1741944496458365969">"Isso apagará todos os dados do "<b>"armazenamento interno"</b>" do seu telefone, incluindo:"\n\n<li>"Sua conta do Google"</li>\n<li>"Dados e configurações do sistema e de aplicativos"</li>\n<li>"Aplicativos baixados"</li>\n\n"Para apagar músicas, imagens e outros dados do usuário, o "<b>"cartão SD"</b>" deve ser apagado."\n\n</string>
+    <string name="erase_external_storage" product="nosdcard" msgid="969364037450286809">"Apagar armazenamento USB"</string>
+    <string name="erase_external_storage" product="default" msgid="1397239046334307625">"Apagar cartão SD"</string>
+    <string name="erase_external_storage_description" product="nosdcard" msgid="1657838142707381027">"Ap. arm. USB, como mús. e fot."</string>
+    <string name="erase_external_storage_description" product="default" msgid="8100175974635894073">"Ap. cart. SD, como mús. e fot."</string>
     <string name="master_clear_button_text" msgid="7550632653343157971">"Redefinir telefone"</string>
     <string name="master_clear_final_desc" msgid="6917971132484622696">"Apagar todas as informações pessoais e os aplicativos dos quais você fez download? É impossível reverter essa ação."</string>
     <string name="master_clear_final_button_text" msgid="5390908019019242910">"Apagar tudo"</string>
     <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Desenhe o seu padrão de desbloqueio"</string>
     <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"Você precisa desenhar o seu padrão de desbloqueio para confirmar uma redefinição de telefone."</string>
     <string name="master_clear_failed" msgid="8655202125010189406">"Nenhuma redefinição foi realizada porque o serviço de Limpeza do sistema não está disponível."</string>
-    <string name="media_format_title" msgid="4671276096695789895">"Formatar cartão SD."</string>
-    <string name="media_format_summary" msgid="3805714639375830120">"Apaga todos os dados no cartão SD"</string>
-    <string name="media_format_desc" msgid="1142563222357820834">"Esta ação apagará o cartão SD no telefone. Você perderá TODOS os dados do cartão!"</string>
-    <string name="media_format_button_text" msgid="370856400090190151">"Formatar cartão SD"</string>
-    <string name="media_format_final_desc" msgid="1776666694910717198">"Formatar cartão SD, apagando toda a sua mídia? A ação não pode ser revertida!"</string>
+    <string name="media_format_title" product="nosdcard" msgid="3999653431422767156">"Apagar armazenamento USB"</string>
+    <string name="media_format_title" product="default" msgid="4427528440306787972">"Apagar cartão SD"</string>
+    <string name="media_format_summary" product="nosdcard" msgid="776603298628082065">"Apaga dados do armazen. USB"</string>
+    <string name="media_format_summary" product="default" msgid="3805714639375830120">"Apaga todos os dados no cartão SD"</string>
+    <string name="media_format_desc" product="nosdcard" msgid="4553860683952763905">"Esta ação apagará o armazenamento USB. Você perderá "<b>"todos"</b>" os dados armazenados!"</string>
+    <string name="media_format_desc" product="default" msgid="1598627584181935513">"Esta ação apagará o cartão SD. Você perderá "<b>"todos"</b>" os dados do cartão!"</string>
+    <string name="media_format_button_text" product="nosdcard" msgid="6293669371185352810">"Apagar armazenamento USB"</string>
+    <string name="media_format_button_text" product="default" msgid="6721544380069373626">"Apagar cartão SD"</string>
+    <string name="media_format_final_desc" product="nosdcard" msgid="8094635533378487255">"Apagar o armazenamento USB, apagando todos os arquivos armazenados? A ação não pode ser revertida!"</string>
+    <string name="media_format_final_desc" product="default" msgid="9015504991522581434">"Apagar cartão SD, apagando todos os arquivos armazenados? A ação não pode ser revertida!"</string>
     <string name="media_format_final_button_text" msgid="4881713344315923175">"Apagar tudo"</string>
     <string name="media_format_gesture_prompt" msgid="3109349468816856670">"Desenhe o seu padrão de desbloqueio"</string>
-    <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Você deve desenhar o seu padrão de desbloqueio para confirmar a formatação de um cartão SD."</string>
+    <string name="media_format_gesture_explanation" product="nosdcard" msgid="1379736318750958338">"Você deve desenhar sua sequência de desbloqueio para confirmar que deseja apagar o armazenamento USB."</string>
+    <string name="media_format_gesture_explanation" product="default" msgid="1681213416497647321">"Você deve desenhar sua sequência de desbloqueio para confirmar que deseja apagar o cartão SD."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Conf. de chamada"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Configurar correio voz, encaminhamento, espera etc."</string>
     <string name="tether_settings_title_usb" msgid="4315031513434087777">"Vínculo"</string>
@@ -609,7 +649,7 @@
     <string name="location_networks_disabled" msgid="2708968452901433980">"Veja o local nos aplicativos (como o Google Maps) usando redes sem fio"</string>
     <string name="location_neighborhood_level" msgid="4656658097932515921">"Local determinado pela rede Wi-Fi e/ou pelas redes móveis"</string>
     <string name="location_gps" msgid="6296125378829097831">"Usar satélites GPS"</string>
-    <string name="location_street_level" msgid="6460740847018275745">"Precisão do local chega ao nível de rua (desmarque p/ conservar bateria)"</string>
+    <string name="location_street_level" msgid="7456259025474443314">"Durante a localização, usar precisão no nível de rua"</string>
     <string name="location_gps_disabled" msgid="6632537158777308128">"Localizar no nível da rua (exige mais bateria e visão do céu)"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"Usar GPS associado"</string>
     <string name="assisted_gps_enabled" msgid="8751899609589792803">"Usar servidor para auxiliar GPS (desmarque para reduzir o uso da rede)"</string>
@@ -692,22 +732,31 @@
     <string name="application_size_label" msgid="5055196275624686382">"Aplicativo"</string>
     <string name="data_size_label" msgid="8679376373625710107">"Dados"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Desinstalar"</string>
+    <string name="disable_text" msgid="6544054052049395202">"Desativar"</string>
+    <string name="enable_text" msgid="9217362512327828987">"Ativar"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Limpar dados"</string>
     <string name="app_factory_reset" msgid="6635744722502563022">"Desinstalar atualizações"</string>
     <string name="auto_launch_enable_text" msgid="2630656657744196691">"Você selecionou a inicialização padrão deste aplicativo para algumas ações."</string>
     <string name="auto_launch_disable_text" msgid="7800385822185540166">"Nenhum padrão definido."</string>
     <string name="clear_activities" msgid="7408923511535174430">"Limpar padrão"</string>
     <string name="unknown" msgid="1592123443519355854">"Desconhecido"</string>
-    <string name="sort_order_alpha" msgid="8622029358896599842">"Classificar"</string>
+    <string name="sort_order_alpha" msgid="1410278099123670628">"Classificar por nome"</string>
     <string name="sort_order_size" msgid="7024513286636502362">"Classificar por tamanho"</string>
+    <string name="show_running_services" msgid="5736278767975544570">"Mostrar serviços em exec."</string>
+    <string name="show_background_processes" msgid="2009840211972293429">"Mostrar processo em cache"</string>
     <string name="manage_space_text" msgid="8852711522447794676">"Gerenciar espaço"</string>
     <string name="filter" msgid="2018011724373033887">"Filtro"</string>
     <string name="filter_dlg_title" msgid="6507663329723966854">"Selecionar as opções de filtro"</string>
     <string name="filter_apps_all" msgid="5142129378749391876">"Todos"</string>
     <string name="filter_apps_third_party" msgid="7786348047690140979">"Download concluído"</string>
     <string name="filter_apps_running" msgid="7767071454371350486">"Em execução"</string>
-    <string name="filter_apps_onsdcard" msgid="1477351142334784771">"No cartão SD"</string>
-    <string name="loading" msgid="3200408047793887917">"Carregando..."</string>
+    <string name="filter_apps_onsdcard" product="nosdcard" msgid="4843063154701023349">"Armazenamento USB"</string>
+    <string name="filter_apps_onsdcard" product="default" msgid="1477351142334784771">"No cartão SD"</string>
+    <string name="disabled" msgid="9206776641295849915">"Desativado"</string>
+    <string name="no_applications" msgid="5190227407135243904">"Nenhum aplicativo."</string>
+    <string name="internal_storage" msgid="1584700623164275282">"Armaz. interno"</string>
+    <string name="sd_card_storage" product="nosdcard" msgid="2673203150465132465">"Armaz. USB"</string>
+    <string name="sd_card_storage" product="default" msgid="7623513618171928235">"Armaz. cart. SD"</string>
     <string name="recompute_size" msgid="7722567982831691718">"Recalculando o tamanho…"</string>
     <string name="clear_data_dlg_title" msgid="4470209520936375508">"Excluir"</string>
     <string name="clear_data_dlg_text" msgid="8368035073300828451">"Todos os dados deste aplicativo serão excluídos permanentemente. Isso inclui todos os arquivos, configurações, contas, bancos de dados e outros."</string>
@@ -727,7 +776,8 @@
     <string name="version_text" msgid="9189073826278676425">"versão <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5042838441401731346">"Mover"</string>
     <string name="move_app_to_internal" msgid="3895430471913858185">"Mover para telefone"</string>
-    <string name="move_app_to_sdcard" msgid="1143379049903056407">"Mover para cartão SD"</string>
+    <string name="move_app_to_sdcard" product="nosdcard" msgid="4350451696315265420">"Mover para armaz. USB"</string>
+    <string name="move_app_to_sdcard" product="default" msgid="1143379049903056407">"Mover para cartão SD"</string>
     <string name="moving" msgid="6431016143218876491">"Movendo"</string>
     <string name="insufficient_storage" msgid="8566913062094452962">"Não há espaço de armazenamento suficiente disponível."</string>
     <string name="does_not_exist" msgid="837163572898468245">"O aplicativo não existe."</string>
@@ -735,29 +785,49 @@
     <string name="invalid_location" msgid="4934491353200240499">"O local especificado para instalação não é válido."</string>
     <string name="system_package" msgid="1030561474413022831">"As atualizações do sistema não podem ser instaladas em mídia externa."</string>
     <string name="force_stop_dlg_title" msgid="4289453224368188476">"Forçar parada"</string>
-    <string name="force_stop_dlg_text" msgid="3381302041569982075">"Este aplicativo será reiniciado imediatamente. Tem certeza de que deseja forçar a parada?"</string>
+    <string name="force_stop_dlg_text" msgid="5157374701213502922">"Forçar a parada do aplicativo pode causar um comportamento inesperado. Continuar?"</string>
     <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Mover aplicativo"</string>
     <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Falha ao mover aplicativo. <xliff:g id="REASON">%1$s</xliff:g>"</string>
     <string name="app_install_location_title" msgid="2068975150026852168">"Local de instalação preferido"</string>
     <string name="app_install_location_summary" msgid="879753854530300436">"Alterar o local de instalação preferido para novos aplicativos."</string>
+    <string name="storageuse_settings_title" msgid="5657014373502630403">"Uso do armazenamento"</string>
+    <string name="storageuse_settings_summary" msgid="2556057379120846792">"Visualizar armazenamento usado pelos aplicativos"</string>
     <string name="runningservices_settings_title" msgid="8097287939865165213">"Serviços em execução"</string>
     <string name="runningservices_settings_summary" msgid="854608995821032748">"Visualizar e controlar os serviços em execução no momento"</string>
     <string name="service_restarting" msgid="2242747937372354306">"Reiniciando"</string>
-    <string name="no_running_services" msgid="6981216347270280598">"Sem serviços em execução"</string>
-    <string name="confirm_stop_service" msgid="5700448757318301681">"Parar o serviço?"</string>
-    <string name="confirm_stop_service_msg" msgid="1166661293369421272">"O serviço não será mais executado até ser iniciado novamente. Isso pode ter consequências indesejáveis no aplicativo <xliff:g id="APPLICATION">%1$s</xliff:g>."</string>
-    <string name="confirm_stop_stop" msgid="7382363913280993331">"Parar"</string>
-    <string name="confirm_stop_cancel" msgid="206495326622692381">"Cancelar"</string>
-    <string name="service_started_by_app" msgid="8432097226392386802">"Iniciado pelo aplicativo: toque p/ parar"</string>
-    <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: toque para gerenciar"</string>
-    <string name="service_background_processes" msgid="5158600475629177758">"Disp.: <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g> em <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_foreground_processes" msgid="4013890350284680796">"Outro: <xliff:g id="MEMORY">%2$s</xliff:g> em <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_process_name" msgid="8630408984456958400">"Processo: <xliff:g id="PROCESS">%1$s</xliff:g>"</string>
+    <string name="cached" msgid="1059590879740175019">"Processo em segundo plano em cache"</string>
+    <string name="no_running_services" msgid="2059536495597645347">"Nada em execução."</string>
+    <string name="service_started_by_app" msgid="6575184738671598131">"Iniciado pelo aplicativo."</string>
+    <!-- no translation found for service_client_name (4037193625611815517) -->
+    <skip />
+    <string name="service_background_processes" msgid="6844156253576174488">"<xliff:g id="MEMORY">%1$s</xliff:g> grat."</string>
+    <string name="service_foreground_processes" msgid="7583975676795574276">"<xliff:g id="MEMORY">%1$s</xliff:g> usada"</string>
+    <string name="memory" msgid="6609961111091483458">"RAM"</string>
+    <!-- no translation found for service_process_name (4098932168654826656) -->
+    <skip />
+    <string name="running_processes_item_description_s_s" msgid="5790575965282023145">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processo e <xliff:g id="NUMSERVICES">%2$d</xliff:g> serviço"</string>
+    <string name="running_processes_item_description_s_p" msgid="8019860457123222953">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processo e <xliff:g id="NUMSERVICES">%2$d</xliff:g> serviços"</string>
+    <string name="running_processes_item_description_p_s" msgid="744424668287252915">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processos e <xliff:g id="NUMSERVICES">%2$d</xliff:g> serviço"</string>
+    <string name="running_processes_item_description_p_p" msgid="1607384595790852782">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processos e <xliff:g id="NUMSERVICES">%2$d</xliff:g> serviços"</string>
+    <string name="runningservicedetails_settings_title" msgid="6188692418986988288">"Aplicativo em execução"</string>
+    <string name="no_services" msgid="7133900764462288263">"Não ativo"</string>
+    <string name="runningservicedetails_services_title" msgid="391168243725357375">"Serviços"</string>
+    <string name="runningservicedetails_processes_title" msgid="928115582044655268">"Processos"</string>
+    <string name="service_stop" msgid="6369807553277527248">"Parar"</string>
+    <string name="service_manage" msgid="1876642087421959194">"Configurações"</string>
+    <string name="service_stop_description" msgid="3261798282116866961">"Este serviço foi iniciado pelo aplicativo correspondente. Interrompê-lo pode provocar a falha do aplicativo."</string>
+    <string name="heavy_weight_stop_description" msgid="6855241582643136019">"Este aplicativo não pode ser interrompido com segurança. Isso poderia resultar na perda do seu trabalho atual."</string>
+    <string name="background_process_stop_description" msgid="1728354083304746737">"Este é um processo antigo do aplicativo que está sendo mantido para obter melhor velocidade caso seja necessário novamente. Geralmente não há motivos para interrompê-lo."</string>
+    <string name="service_manage_description" msgid="7050092269951613102">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: em uso no momento. Toque em Configurações para controlá-lo."</string>
+    <string name="main_running_process_description" msgid="929204645380391397">"O processo principal que está em uso."</string>
+    <string name="process_service_in_use_description" msgid="8993335064403217080">"O serviço <xliff:g id="COMP_NAME">%1$s</xliff:g> está em uso."</string>
+    <string name="process_provider_in_use_description" msgid="5586603325677678940">"O provedor <xliff:g id="COMP_NAME">%1$s</xliff:g> está em uso."</string>
+    <string name="runningservicedetails_stop_dlg_title" msgid="4253292537154337233">"Interromper o serviço do sistema?"</string>
+    <string name="runningservicedetails_stop_dlg_text" msgid="6929716497425738387">"Tem certeza de que deseja interromper este serviço do sistema? Se o fizer, alguns recursos do seu telefone podem parar de funcionar corretamente até que você o desligue e ligue novamente."</string>
     <string name="language_settings" msgid="502219872342167227">"Idioma e teclado"</string>
     <string name="language_keyboard_settings_title" msgid="3455826933385341107">"Configurações de idioma e teclado"</string>
-    <string name="language_settings_summary" msgid="595647729475399987">"Definir opções de idioma e região, entrada de texto e correção automática"</string>
-    <string name="language_category" msgid="3391756582724541530">"Configuração de local"</string>
-    <string name="text_category" msgid="6342540511465136739">"Configurações de texto"</string>
+    <string name="language_settings_category" msgid="2288258489940617043">"Configurações de idioma"</string>
+    <string name="keyboard_settings_category" msgid="7060453865544070642">"Configurações do teclado"</string>
     <string name="phone_language" msgid="1165758957501090679">"Selecionar idioma"</string>
     <string name="phone_language_summary" msgid="3871309445655554211"></string>
     <string name="auto_replace" msgid="6199184757891937822">"Substituição automática"</string>
@@ -782,7 +852,6 @@
     <string name="testing" msgid="6584352735303604146">"Testando"</string>
     <string name="testing_phone_info" msgid="8656693364332840056">"Informações do telefone"</string>
     <string name="testing_battery_info" msgid="3497865525976497848">"Informações da bateria"</string>
-    <string name="testing_battery_history" msgid="3043329445810695647">"Histórico da bateria"</string>
     <string name="quick_launch_title" msgid="7904609846945905306">"Início rápido"</string>
     <string name="quick_launch_summary" msgid="3453825712466417452">"Define atalhos do teclado para iniciar aplicativos"</string>
     <string name="quick_launch_assign_application" msgid="4521368464929956350">"Atribuir aplicativo"</string>
@@ -798,8 +867,8 @@
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Gerenciar opções de entrada de texto"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Configurações de <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Configurações do teclado virtual"</string>
-    <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"Teclado do dispositivo"</string>
-    <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"Configurações de teclado integrado"</string>
+    <string name="builtin_keyboard_settings_title" msgid="5274990495405941804">"Teclado integrado"</string>
+    <string name="builtin_keyboard_settings_summary" msgid="7990296351888096836">"Configurações do teclado físico integrado"</string>
     <string name="development_settings_title" msgid="6719732334835420989">"Desenvolvimento"</string>
     <string name="development_settings_summary" msgid="2151320488701538355">"Define as opções para o desenvolvimento do aplicativo"</string>
     <string name="enable_adb" msgid="7982306934419797485">"Depuração USB"</string>
@@ -812,36 +881,10 @@
     <string name="adb_warning_message" msgid="5352555112049663033">"A depuração USB serve apenas para fins de desenvolvimento. Ela pode ser usada para copiar dados entre o computador e o aparelho, instalar aplicativos no seu aparelho sem notificação e ler dados de registro."</string>
     <string name="gadget_picker_title" msgid="98374951396755811">"Escolher o gadget"</string>
     <string name="widget_picker_title" msgid="9130684134213467557">"Escolher widget"</string>
-    <string name="battery_history_details_for" msgid="5924639922153109669">"Detalhes do UID <xliff:g id="NUMBER">%d</xliff:g>"</string>
-    <string name="battery_history_uid" msgid="1016606150528436298">"UID <xliff:g id="USER_ID">%1$d</xliff:g>"</string>
-    <string name="battery_history_network_usage" msgid="8010852371665217020">"Detalhes do uso da rede do <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_bytes_received" msgid="980307569180518302">"Bytes recebidos: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_sent" msgid="2501748768602119159">"Bytes enviados: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_total" msgid="4444807574361642753">"Total de bytes: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_cpu_usage" msgid="2597353713014790877">"Detalhes do uso de CPU para <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_user_time" msgid="6227507614894791359">"Tempo do usuário:"</string>
-    <string name="battery_history_system_time" msgid="2015862072724507547">"Tempo do sistema:"</string>
-    <string name="battery_history_total_time" msgid="3618703970098556104">"Tempo total:"</string>
-    <string name="battery_history_starts" msgid="9137453931978571696">"Inicia: <xliff:g id="STARTS">%1$d</xliff:g>"</string>
     <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g>d <xliff:g id="HOURS">%2$d</xliff:g>h <xliff:g id="MINUTES">%3$d</xliff:g>m <xliff:g id="SECONDS">%4$d</xliff:g>s"</string>
     <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g>h <xliff:g id="MINUTES">%2$d</xliff:g>m <xliff:g id="SECONDS">%3$d</xliff:g>s"</string>
     <string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g>m <xliff:g id="SECONDS">%2$d</xliff:g>s"</string>
     <string name="battery_history_seconds" msgid="4283492130945761685">"<xliff:g id="SECONDS">%1$d</xliff:g>s"</string>
-    <string name="battery_history_packages_sharing_this_uid" msgid="4101596071379250050">"Pacotes que compartilham este UID:"</string>
-    <string name="battery_history_no_data" msgid="1177238743237067617">"Não há dados de uso da bateria disponíveis"</string>
-    <string name="battery_history_sensor" msgid="2333488996028993982">"Sensor:"</string>
-    <string name="battery_history_wakelock" msgid="608683447522396293">"Bloqueio de ativação parcial:"</string>
-    <string name="battery_history_used_by_packages" msgid="3000711380023436470">"Sensor usado por pacotes:"</string>
-    <string name="battery_history_sensor_usage" msgid="3593133338613209024">"Usado <xliff:g id="COUNT">%1$d</xliff:g> vezes por <xliff:g id="PACKAGE">%2$s</xliff:g>"</string>
-    <string name="battery_history_sensor_usage_multi" msgid="4536084375991014508">"Usado <xliff:g id="COUNT">%1$d</xliff:g> vezes por um de:"</string>
-    <string name="battery_history_awake_label" msgid="8449792868990080882">"Em execução"</string>
-    <string name="battery_history_screen_on_label" msgid="1848936521786339362">"Tela ativada"</string>
-    <string name="battery_history_phone_on_label" msgid="700191958853142297">"Telefone ativado"</string>
-    <string name="battery_history_awake" msgid="4350886665719031057">"Tempo gasto quando ativo:"</string>
-    <string name="battery_history_screen_on" msgid="1377240025275657277">"Tempo gasto com a tela ativada:"</string>
-    <string name="battery_history_phone_on" msgid="4891504401623839532">"Tempo gasto com o telefone ativado:"</string>
-    <string name="battery_history_screen_on_battery" msgid="536058210445081888">"Na bateria:"</string>
-    <string name="battery_history_screen_on_plugged" msgid="5019127390021871260">"Conectado:"</string>
     <string name="usage_stats_label" msgid="5890846333487083609">"Estatísticas de uso"</string>
     <string name="testing_usage_stats" msgid="7823048598893937339">"Estatísticas de uso"</string>
     <string name="display_order_text" msgid="8592776965827565271">"Classificar por:"</string>
@@ -865,12 +908,19 @@
     <string name="power_usage_summary" msgid="7237084831082848168">"O que está consumindo a bateria"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Uso da bateria desde a desconexão do aparelho"</string>
     <string name="battery_since_reset" msgid="7464546661121187045">"Uso da bateria desde a redefinição"</string>
+    <string name="battery_stats_on_battery" msgid="4970762168505236033">"<xliff:g id="TIME">%1$s</xliff:g> da bateria"</string>
     <string name="battery_stats_duration" msgid="7464501326709469282">"<xliff:g id="TIME">%1$s</xliff:g> desde que foi desconectado"</string>
+    <string name="battery_stats_charging_label" msgid="4223311142875178785">"Carregando"</string>
+    <string name="battery_stats_screen_on_label" msgid="7150221809877509708">"Tela ativada"</string>
+    <string name="battery_stats_gps_on_label" msgid="1193657533641951256">"GPS ligado"</string>
+    <string name="battery_stats_wifi_running_label" msgid="3093545080361658269">"Wi-Fi"</string>
+    <string name="battery_stats_wake_lock_label" msgid="1908942681902324095">"Ativo"</string>
+    <string name="battery_stats_phone_signal_label" msgid="6822042940376636775">"Sinal do celular"</string>
     <!-- no translation found for battery_stats_last_duration (1535831453827905957) -->
     <skip />
     <string name="awake" msgid="387122265874485088">"Tempo de ativação do aparelho"</string>
-    <string name="wifi_on_time" msgid="4630925382578609056">"Tempo de ativação da rede WiFi"</string>
-    <string name="bluetooth_on_time" msgid="4478515071957280711">"Tempo de ativação da rede WiFi"</string>
+    <string name="wifi_on_time" msgid="6310209835617490616">"Tempo de ativação da rede Wi-Fi"</string>
+    <string name="bluetooth_on_time" msgid="6157799524996162271">"Tempo de ativação da rede Wi-Fi"</string>
     <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g> -  <xliff:g id="NUMBER">%2$s</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
     <string name="details_title" msgid="7564809986329021063">"Detalhes de uso da bateria"</string>
     <string name="details_subtitle" msgid="32593908269911734">"Detalhes de uso"</string>
@@ -884,7 +934,9 @@
     <string name="power_idle" msgid="9055659695602194990">"Telefone ocioso"</string>
     <string name="usage_type_cpu" msgid="715162150698338714">"Total da CPU"</string>
     <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"CPU prioritária"</string>
+    <string name="usage_type_wake_lock" msgid="5125438890233677880">"Permanecer ativo"</string>
     <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string>
+    <string name="usage_type_wifi_running" msgid="8234997940652067049">"Wi-Fi em execução"</string>
     <string name="usage_type_phone" msgid="9108247984998041853">"Telefone"</string>
     <string name="usage_type_data_send" msgid="2857401966985425427">"Dados enviados"</string>
     <string name="usage_type_data_recv" msgid="7251090882025234185">"Dados recebidos"</string>
@@ -896,7 +948,7 @@
     <string name="battery_action_app_details" msgid="3275013531871113681">"Informações do aplicativo"</string>
     <string name="battery_action_app_settings" msgid="350562653472577250">"Configurações de aplicativos"</string>
     <string name="battery_action_display" msgid="5302763261448580102">"Configurações da tela"</string>
-    <string name="battery_action_wifi" msgid="5452076674659927993">"Configurações de WiFi"</string>
+    <string name="battery_action_wifi" msgid="2272741639606146903">"Configurações de Wi-Fi"</string>
     <string name="battery_action_bluetooth" msgid="8374789049507723142">"Conf. de Bluetooth"</string>
     <string name="battery_desc_voice" msgid="8980322055722959211">"Bateria usada por chamadas de voz"</string>
     <string name="battery_desc_standby" msgid="3009080001948091424">"Bateria usada quando o telefone está ocioso"</string>
@@ -909,9 +961,9 @@
     <string name="battery_desc_bluetooth" msgid="7535520658674621902">"Bateria usada por Bluetooth"</string>
     <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"Desativar Bluetooth quando não estiver em uso"</string>
     <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"Tente conectar a um dispositivo Bluetooth diferente"</string>
-    <string name="battery_desc_apps" msgid="8123202939321333639">"Bateria usada por aplicativos em execução"</string>
+    <string name="battery_desc_apps" msgid="6665712811746233450">"Bateria usada pelo aplicativo"</string>
     <string name="battery_sugg_apps_info" msgid="6065882899391322442">"Parar ou desinstalar o aplicativo"</string>
-    <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"Desativar GPS quando não estiver em uso"</string>
+    <string name="battery_sugg_apps_gps" msgid="4545056413090932541">"Controlar o GPS manualmente para evitar sua utilização pelo aplicativo"</string>
     <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"O aplicativo pode oferecer configurações para reduzir o uso da bateria"</string>
     <string name="menu_stats_unplugged" msgid="8296577130840261624">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> desde que foi desconectado"</string>
     <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"Quando foi desconectado pela última vez para <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
@@ -961,6 +1013,8 @@
     <string name="pico_not_installed" msgid="6266845418419994311">"Não instalado"</string>
     <string name="pico_voice_summary_female" msgid="8047327176247727492">"Feminino"</string>
     <string name="pico_voice_summary_male" msgid="8331266854058577610">"Masculino"</string>
+    <string name="tts_notif_engine_install_title" msgid="7000346872482649034">"Sintetização de voz instalada"</string>
+    <string name="tts_notif_engine_install_message" msgid="5304661142202662693">"Ativar novo mecanismo antes"</string>
     <string name="gadget_title" msgid="7455548605888590466">"Controle de energia"</string>
     <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Atualizando configuração Wi-Fi"</string>
     <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Atualizando configuração Bluetooth"</string>
@@ -1047,8 +1101,10 @@
     <string name="credentials_access_summary" msgid="319662078718574168">"Permitir que os aplicativos acessem credenciais e certificados seguros"</string>
     <string name="credentials_unlock" msgid="1463040326264133844">"Inserir senha"</string>
     <string name="credentials_unlock_hint" msgid="594679530407918031">"Insira a senha do armazenamento de credenciais."</string>
-    <string name="credentials_install_certificates" msgid="177337517568022236">"Instalar do cartão SD"</string>
-    <string name="credentials_install_certificates_summary" msgid="7737001268684193093">"Instalar certificados criptografados do cartão SD"</string>
+    <string name="credentials_install_certificates" product="nosdcard" msgid="619171634797689906">"Instalar do armaz. USB"</string>
+    <string name="credentials_install_certificates" product="default" msgid="177337517568022236">"Instalar do cartão SD"</string>
+    <string name="credentials_install_certificates_summary" product="nosdcard" msgid="8920330112631198575">"Inst. cert. crip. do arm."</string>
+    <string name="credentials_install_certificates_summary" product="default" msgid="7737001268684193093">"Instalar certificados criptografados do cartão SD"</string>
     <string name="credentials_set_password" msgid="9104473585811899989">"Definir senha"</string>
     <string name="credentials_set_password_summary" msgid="8287876917562085701">"Definir ou alterar a senha do armazenamento de credenciais"</string>
     <string name="credentials_reset" msgid="9170150870552453457">"Limpar armazenamento"</string>
@@ -1068,6 +1124,16 @@
     <string name="credentials_erased" msgid="7700309135582200849">"O armazenamento de credenciais foi apagado."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"O armazenamento de credenciais foi ativado."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"O armazenamento de credenciais foi desativado."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Sistema de arquivos criptografados"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Criptografar dados privados de usuário"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Ativar armazenamento do sistema de arquivo criptografado para dados privados do usuário neste aparelho."</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"A ativação dos Sistemas de arquivo criptografados exige uma limpeza de dados do dispositivo."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"A desativação dos Sistemas de arquivo criptografados exige uma limpeza de dados do dispositivo."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Ativar"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Desativar"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Cancelar"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"A alteração do modo do Sistema de arquivos criptografados foi cancelada."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Aviso dos Sistemas de arquivo criptografados."</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Tom de emergência"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Definir comportamento durante uma chamada de emergência"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Privacidade"</string>
@@ -1075,11 +1141,11 @@
     <string name="backup_section_title" msgid="8856083167469467588">"Backup e restauração"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Dados pessoais"</string>
     <string name="backup_data_title" msgid="1239105919852668016">"Fazer backup dos meus dados"</string>
-    <string name="backup_data_summary" msgid="5662190190240860035">"Fazer backup das minhas configurações e de outros dados do aplicativo."</string>
+    <string name="backup_data_summary" msgid="6515285107793232815">"Dados de aplicativos de backup, senhas da rede Wi-Fi e outras configurações nos servidores do Google"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Restauração automática"</string>
-    <string name="auto_restore_summary" msgid="6867766474057290177">"Caso o aplicativo seja reinstalado, restaurar as configurações ou outros dados de backup."</string>
+    <string name="auto_restore_summary" msgid="83177150536734378">"Caso o aplicativo seja reinstalado, restaurar as configurações ou outros dados de backup"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Backup"</string>
-    <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Tem certeza de que deseja parar de fazer backup das suas configurações e dados de aplicativo e apagar todas as cópias nos servidores do Google?"</string>
+    <string name="backup_erase_dialog_message" msgid="7766283133557587608">"Tem certeza de que deseja parar de fazer backup das suas senhas da rede Wi-Fi, dos favoritos e de outras configurações e dados de aplicativo e apagar todas as cópias nos servidores do Google?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Configurações de administração do dispositivo"</string>
     <string name="active_device_admin_msg" msgid="6930903262612422111">"Administrador do dispositivo"</string>
     <string name="remove_device_admin" msgid="3596845261596451437">"Desativar"</string>
diff --git a/res/values-ru/arrays.xml b/res/values-ru/arrays.xml
index 99eb90a..afca691 100644
--- a/res/values-ru/arrays.xml
+++ b/res/values-ru/arrays.xml
@@ -115,19 +115,6 @@
     <item msgid="1549288661423279207">"Никогда, если есть питание от сети"</item>
     <item msgid="1986753720941888596">"Никогда"</item>
   </string-array>
-  <string-array name="battery_history_type_spinner">
-    <item msgid="2193799199027871385">"Использование процессора"</item>
-    <item msgid="6401018715947316517">"Использование сети"</item>
-    <item msgid="188092590354892392">"Использование GPS"</item>
-    <item msgid="8414109131222049141">"Использование сенсора"</item>
-    <item msgid="1327904325081257093">"Использование частичного включения"</item>
-    <item msgid="4832254146664706277">"Прочее использование"</item>
-  </string-array>
-  <string-array name="battery_history_which_spinner">
-    <item msgid="3451981114763440074">"После последнего отключения питания"</item>
-    <item msgid="166936313535197598">"Всего с момента загрузки"</item>
-    <item msgid="4793941382744963893">"Всего за все время"</item>
-  </string-array>
   <string-array name="usage_stats_display_order_types">
     <item msgid="9077371706468756228">"Время использования"</item>
     <item msgid="1908750532762193304">"Начать подсчет"</item>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index ecd3b45..3aacf7b 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -45,13 +45,16 @@
     <string name="radioInfo_display_asu" msgid="1422248392727818082">"asu"</string>
     <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string>
     <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string>
-    <string name="sdcard_unmount" msgid="3364184561355611897">"Извлечь SD-карту"</string>
-    <string name="sdcard_format" msgid="362497552060004057">"Очистить SD-карту"</string>
+    <string name="sdcard_unmount" product="nosdcard" msgid="6325292633327972272">"Отключить USB-накопитель"</string>
+    <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Извлечь SD-карту"</string>
+    <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Очистить USB-накопитель"</string>
+    <string name="sdcard_format" product="default" msgid="6713185532039187532">"Очистить SD-карту"</string>
     <string name="small_font" msgid="2295331917424072635">"Маленький"</string>
     <string name="medium_font" msgid="2068475425515133701">"Среднее"</string>
     <string name="large_font" msgid="599055175160971446">"Большой"</string>
     <string name="font_size_save" msgid="3450855718056759095">"ОК"</string>
-    <string name="sdcard_setting" msgid="5922637503871474866">"SD-карта"</string>
+    <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB-накопитель"</string>
+    <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD-карта"</string>
     <string name="battery_info_status_label" msgid="8109155295509700309">"Состояние батареи:"</string>
     <string name="battery_info_power_label" msgid="7465140230991349382">"Питание:"</string>
     <string name="battery_info_scale_label" msgid="3649763192389778437">"Шкала батареи:"</string>
@@ -178,29 +181,36 @@
     <string name="band_mode_failed" msgid="1495968863884716379">"Сбой"</string>
     <string name="band_mode_succeeded" msgid="2701016190055887575">"Успешно"</string>
     <string name="sdcard_changes_instructions" msgid="1364712901180556244">"Изменения вступят в силу после повторного подключения USB-кабеля"</string>
-    <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"Включить массовую память USB"</string>
+    <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"Включить запоминающее устройство USB"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"Всего байтов:"</string>
-    <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"Нет SD-карты"</string>
+    <string name="sdcard_settings_not_present_status" product="nosdcard" msgid="2902787003418172125">"USB-накопитель не подключен"</string>
+    <string name="sdcard_settings_not_present_status" product="default" msgid="6666688653496819947">"Нет SD-карты"</string>
     <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"Свободно байтов:"</string>
-    <string name="sdcard_settings_mass_storage_status" msgid="4786433969313661655">"SD-карта используется в качестве устройства массовой памяти"</string>
-    <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"SD-карта может быть извлечена"</string>
-    <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"SD-карта была извлечена во время использования!"</string>
+    <string name="sdcard_settings_mass_storage_status" product="nosdcard" msgid="2736378870889777857">"USB-накопитель работает как запоминающее устройство"</string>
+    <string name="sdcard_settings_mass_storage_status" product="default" msgid="4786433969313661655">"SD-карта используется в качестве устройства массовой памяти"</string>
+    <string name="sdcard_settings_unmounted_status" product="nosdcard" msgid="7503300818792750913">"USB-накопитель можно отключить"</string>
+    <string name="sdcard_settings_unmounted_status" product="default" msgid="3812022095683863087">"SD-карта может быть извлечена"</string>
+    <string name="sdcard_settings_bad_removal_status" product="nosdcard" msgid="7761390725880773697">"Накопитель извлечен во время использования!"</string>
+    <string name="sdcard_settings_bad_removal_status" product="default" msgid="5145797653495907970">"SD-карта была извлечена во время использования!"</string>
     <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"Использовано байтов:"</string>
-    <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Поиск мультимедиа на SD-карте..."</string>
-    <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"SD-карта установлена только для чтения"</string>
+    <string name="sdcard_settings_scanning_status" product="nosdcard" msgid="7503429447676219564">"Сканирование USB-накопителя..."</string>
+    <string name="sdcard_settings_scanning_status" product="default" msgid="2763464949274455656">"Поиск мультимедиа на SD-карте..."</string>
+    <string name="sdcard_settings_read_only_status" product="nosdcard" msgid="3771783090621312312">"USB-накопитель защищен от записи"</string>
+    <string name="sdcard_settings_read_only_status" product="default" msgid="5706115860484118911">"SD-карта установлена только для чтения"</string>
     <string name="next_label" msgid="4693520878012668114">"Далее"</string>
     <string name="language_picker_title" msgid="4034157617842965844">"Региональные настройки"</string>
     <string name="select_your_language" msgid="1146235168951906084">"Выберите язык"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Выбрать действие"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Сведения об устройстве"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Информация о батарее"</string>
-    <string name="battery_history_label" msgid="8242244969757414501">"Журнал сведений о батарее"</string>
-    <string name="display_label" msgid="7403874003169865762">"Показать"</string>
+    <string name="display_label" msgid="7403874003169865762">"Экран"</string>
     <string name="phone_info_label" msgid="2127552523124277664">"Информация о телефоне"</string>
-    <string name="sd_card_settings_label" msgid="5743100901106177102">"SD-карта"</string>
+    <string name="sd_card_settings_label" product="nosdcard" msgid="8101475181301178428">"USB-накопитель"</string>
+    <string name="sd_card_settings_label" product="default" msgid="5743100901106177102">"SD-карта"</string>
     <string name="proxy_settings_label" msgid="3271174136184391743">"Настройки прокси-сервера"</string>
     <string name="cancel" msgid="6859253417269739139">"Отмена"</string>
     <string name="settings_label" msgid="1626402585530130914">"Настройки"</string>
+    <string name="settings_label_launcher" msgid="8344735489639482340">"Настройки"</string>
     <string name="settings_shortcut" msgid="3672145147925639262">"Настройки"</string>
     <string name="airplane_mode" msgid="8837269988154128601">"Режим полета"</string>
     <string name="airplane_mode_summary" msgid="3154817401368780988">"Отключить все беспроводные соединения"</string>
@@ -323,6 +333,11 @@
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Для громкой связи"</string>
     <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Для музыки и мультимедиа"</string>
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Запомнить настройки"</string>
+    <string name="nfc_quick_toggle_title" msgid="6769159366307299004">"Включить NFC"</string>
+    <string name="nfc_quick_toggle_summary" msgid="1988408027741447231">"Использовать радиосвязь ближнего действия для чтения и обмена метками"</string>
+    <!-- no translation found for nfc_toggle_error (2233172102497535522) -->
+    <!-- no translation found for nfc_toggle_error (8998642457947607263) -->
+    <skip />
     <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Включить Wi-Fi"</string>
     <string name="wifi_settings" msgid="4746946030627213196">"Настройки Wi-Fi"</string>
@@ -345,7 +360,7 @@
     <string name="wifi_ssid" msgid="641393708309146745">"Имя сети (SSID)"</string>
     <string name="wifi_security" msgid="6603611185592956936">"Безопасность"</string>
     <string name="wifi_signal" msgid="5514120261628065287">"Уровень сигнала"</string>
-    <string name="wifi_status" msgid="4824568012414605414">"Статус "</string>
+    <string name="wifi_status" msgid="4824568012414605414">"Статус"</string>
     <string name="wifi_speed" msgid="3526198708812322037">"Скорость связи"</string>
     <string name="wifi_ip_address" msgid="1440054061044402918">"IP-адрес"</string>
     <string name="wifi_eap_method" msgid="8529436133640730382">"Метод EAP"</string>
@@ -376,6 +391,7 @@
     <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"При каких условиях переключаться с Wi-Fi на сотовую сеть"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"При установке правила перехода в спящий режим возникла неполадка."</string>
     <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MAC-адрес"</string>
+    <string name="wifi_advanced_ip_address_title" msgid="6215297094363164846">"IP-адрес"</string>
     <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"Настройки IP"</string>
     <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Сохранить"</string>
     <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Отмена"</string>
@@ -390,7 +406,7 @@
     <string name="wifi_tether_failed_subtext" msgid="2654888578056042315">"Ошибка подключения"</string>
     <string name="wifi_tether_settings_text" msgid="123573487844470195">"Настройки точки доступа"</string>
     <string name="wifi_tether_settings_subtext" msgid="8064755682383367008">"Настройка точки доступа Wi-Fi"</string>
-    <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Настройки точки доступа "</string>
+    <string name="wifi_tether_settings_title" msgid="3749063216348284432">"Настройки точки доступа"</string>
     <string name="wifi_tether_configure_ap_text" msgid="3474995108398156258">"Настроить точку доступа Wi-Fi"</string>
     <string name="wifi_tether_configure_subtext" msgid="1927454307836232128">"Точка доступа <xliff:g id="NETWORK_SSID">%1$s</xliff:g> <xliff:g id="NETWORK_SECURITY">%2$s</xliff:g>"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="8467525402622138547">"Хот-спот Android"</string>
@@ -496,9 +512,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Общая информация"</string>
     <string name="device_status" msgid="607405385799807324">"Общая информация"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Номер телефона, уровень сигнала и т.д."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"Память"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Настройки SD-карты и памяти телефона"</string>
-    <string name="storage_settings_summary" msgid="9176693537325988610">"Отключение SD-карты, сведения о доступной памяти"</string>
+    <string name="storage_settings" msgid="4211799979832404953">"Память"</string>
+    <string name="storage_settings_title" msgid="8746016738388094064">"Настройки хранилища"</string>
+    <string name="storage_settings_summary" product="nosdcard" msgid="3543813623294870759">"Отключить USB-накопитель, просмотреть доступные накопители"</string>
+    <string name="storage_settings_summary" product="default" msgid="9176693537325988610">"Отключение SD-карты, сведения о доступной памяти"</string>
     <string name="status_number" msgid="5123197324870153205">"Мой номер телефона"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
     <string name="status_prl_version" msgid="8499039751817386529">"Версия PRL"</string>
@@ -514,24 +531,36 @@
     <string name="status_unavailable" msgid="7862009036663793314">"Недоступно"</string>
     <string name="status_up_time" msgid="7294859476816760399">"Время с момента включения"</string>
     <string name="status_awake_time" msgid="2393949909051183652">"Время работы"</string>
-    <string name="internal_memory" msgid="1130932766236387454">"Внутренняя память телефона"</string>
-    <string name="sd_memory" msgid="151871913888051515">"SD-карта"</string>
+    <string name="internal_memory" msgid="9129595691484260784">"Внутренний накопитель"</string>
+    <string name="sd_memory" product="nosdcard" msgid="2510246194083052841">"USB-накопитель"</string>
+    <string name="sd_memory" product="default" msgid="151871913888051515">"SD-карта"</string>
     <string name="memory_available" msgid="418542433817289474">"Свободно"</string>
     <string name="memory_size" msgid="6629067715017232195">"Всего места"</string>
-    <string name="sd_eject" msgid="6915293408836853020">"Извлечь SD-карту"</string>
-    <string name="sd_eject_summary" msgid="3315557796211542962">"Нажмите сюда для безопасного извлечения SD-карты из телефона"</string>
-    <string name="sd_insert_summary" msgid="2048640010381803841">"Вставьте SD-карту для подключения"</string>
-    <string name="sd_mount" msgid="5940523765187704135">"Подключить SD-карту"</string>
-    <string name="sd_mount_summary" msgid="4936591681679097699">"Подключить SD-карту"</string>
-    <string name="sd_format" msgid="5448738337382712203">"Очистить SD-карту"</string>
-    <string name="sd_format_summary" msgid="6616491027883134004">"Удалить все данные с SD-карты"</string>
+    <string name="sd_eject" product="default" msgid="6915293408836853020">"Извлечь SD-карту"</string>
+    <string name="sd_eject_summary" product="nosdcard" msgid="5009296896648072891">"Отключить внутр. USB-накопитель"</string>
+    <string name="sd_eject_summary" product="default" msgid="3300599435073550246">"Отключить SD-карту для безопасного извлечения"</string>
+    <string name="sd_insert_summary" product="nosdcard" msgid="5264016886409577313">"Вставить USB-накопитель для подключения"</string>
+    <string name="sd_insert_summary" product="default" msgid="2048640010381803841">"Вставьте SD-карту для подключения"</string>
+    <string name="sd_mount" product="nosdcard" msgid="8966695015677343116">"Подключить USB-накопитель"</string>
+    <string name="sd_mount" product="default" msgid="5940523765187704135">"Подключить SD-карту"</string>
+    <!-- outdated translation 6733254203291665551 -->     <string name="sd_mount_summary" product="nosdcard" msgid="1794150364965145726">"Подключить внутр. USB-накопитель"</string>
+    <string name="sd_mount_summary" product="default" msgid="4936591681679097699">"Подключить SD-карту"</string>
+    <string name="sd_format" product="nosdcard" msgid="2148179271623099054">"Очистить USB-накопитель"</string>
+    <string name="sd_format" product="default" msgid="2576054280507119870">"Очистить SD-карту"</string>
+    <string name="sd_format_summary" product="nosdcard" msgid="1504606546865152514">"Удаляет все данные с внутреннего USB-накопителя телефона, такие как музыка и фотографии"</string>
+    <string name="sd_format_summary" product="default" msgid="915849621390821841">"Удаляет все данные с SD-карты телефона, например музыку и фотографии"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"Недоступно"</string>
     <string name="read_only" msgid="6702420168629076340">" (только для чтения)"</string>
-    <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Отключение SD-карты"</string>
-    <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Если отключить SD-карту, некоторые используемые приложения перестанут работать и могут оставаться недоступными до подключения SD-карты."</string>
-    <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Не удалось отключить SD-карту."</string>
-    <string name="dlg_error_unmount_text" msgid="9188972789897713180">"Не удается отключить SD-карту. Повторите попытку позже."</string>
-    <string name="unmount_inform_text" msgid="3213378327712151498">"SD-карта будет отключена. Проверьте статус в области уведомлений."</string>
+    <string name="dlg_confirm_unmount_title" product="nosdcard" msgid="2349876662428231297">"Отключить USB-накопитель"</string>
+    <string name="dlg_confirm_unmount_title" product="default" msgid="8612140627310646730">"Отключение SD-карты"</string>
+    <string name="dlg_confirm_unmount_text" product="nosdcard" msgid="3390169455621185223">"Если отключить USB-накопитель, некоторые используемые приложения перестанут работать и могут оставаться недоступными до повторного подключения этого накопителя."</string>
+    <string name="dlg_confirm_unmount_text" product="default" msgid="5851214273718817727">"Если отключить SD-карту, некоторые используемые приложения перестанут работать и могут оставаться недоступными до подключения SD-карты."</string>
+    <string name="dlg_error_unmount_title" product="nosdcard" msgid="7695491947411836733">"Не удалось отключить накопитель"</string>
+    <string name="dlg_error_unmount_title" product="default" msgid="4004106918266783081">"Не удалось отключить SD-карту."</string>
+    <string name="dlg_error_unmount_text" product="nosdcard" msgid="1450864147013376592">"Не удается отключить USB-накопитель. Повторите попытку позже."</string>
+    <string name="dlg_error_unmount_text" product="default" msgid="9188972789897713180">"Не удается отключить SD-карту. Повторите попытку позже."</string>
+    <string name="unmount_inform_text" product="nosdcard" msgid="7120241136790744265">"USB-накопитель будет отключен."</string>
+    <string name="unmount_inform_text" product="default" msgid="1904212716075458402">"SD-карта будет отключена."</string>
     <string name="sd_ejecting_title" msgid="8824572198034365468">"Извлечение"</string>
     <string name="sd_ejecting_summary" msgid="2028753069184908491">"Выполняется извлечение"</string>
     <string name="battery_status_title" msgid="9159414319574976203">"Состояние батареи"</string>
@@ -571,21 +600,32 @@
     <string name="restore_default_apn_completed" msgid="3990449939234957281">"Восстановление настроек APN по умолчанию завершено"</string>
     <string name="master_clear_title" msgid="5907939616087039756">"Сброс настроек"</string>
     <string name="master_clear_summary" msgid="4986154238001088492">"Удаляет все данные из памяти телефона"</string>
-    <string name="master_clear_desc" msgid="7823268823499739178">"С телефона будут удалены все данные, в том числе: "\n<li>"ваш аккаунт Google"</li>\n<li>"данные и настройки системы и приложений"</li>\n<li>"загруженные приложения"</li>\n"Не будут удалены:"\n<li>"текущее системное ПО и пакетные приложения"</li>\n<li>"файлы на SD-карте, например фотографии и музыка"</li></string>
+    <string name="master_clear_desc" product="nosdcard" msgid="2163013814299528247">"Это приведет к удалению всех данных с "<b>"внутреннего накопителя"</b>" телефона, включая:"\n\n<li>"ваш аккаунт Google;"</li>\n<li>"данные и настройки системы и приложений;"</li>\n<li>"загруженные приложения."</li>\n\n"Чтобы удалить все данные с этого телефона, необходимо очистить "<b>"USB-накопитель"</b>"."\n\n</string>
+    <string name="master_clear_desc" product="default" msgid="1741944496458365969">"Это приведет к удалению всех данных с "<b>"внутреннего накопителя"</b>" телефона, включая:"\n\n<li>"ваш аккаунт Google;"</li>\n<li>"данные и настройки системы и приложений;"</li>\n<li>"загруженные приложения."</li>\n\n"Чтобы удалить музыку, изображения и другие пользовательские данные, необходимо очистить "<b>"SD-карту"</b>"."\n\n</string>
+    <string name="erase_external_storage" product="nosdcard" msgid="969364037450286809">"Очистить USB-накопитель"</string>
+    <string name="erase_external_storage" product="default" msgid="1397239046334307625">"Очистить SD-карту"</string>
+    <string name="erase_external_storage_description" product="nosdcard" msgid="1657838142707381027">"Очищать внутренний накопитель."</string>
+    <string name="erase_external_storage_description" product="default" msgid="8100175974635894073">"Удаляет все данные на SD-карте телефона, например музыку и фотографии."</string>
     <string name="master_clear_button_text" msgid="7550632653343157971">"Сбросить настройки телефона"</string>
     <string name="master_clear_final_desc" msgid="6917971132484622696">"Стереть всю личную информацию и загруженные приложения? Это действие нельзя отменить!"</string>
     <string name="master_clear_final_button_text" msgid="5390908019019242910">"Стереть все"</string>
     <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Начертить графический ключ"</string>
     <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"Для подтверждения сброса настроек телефона необходимо начертить графический ключ."</string>
     <string name="master_clear_failed" msgid="8655202125010189406">"Не удалось выполнить сброс, поскольку служба System Clear недоступна."</string>
-    <string name="media_format_title" msgid="4671276096695789895">"Очистить SD-карту"</string>
-    <string name="media_format_summary" msgid="3805714639375830120">"Удаляет все данные с карты SD"</string>
-    <string name="media_format_desc" msgid="1142563222357820834">"Это действие приведет к очистке карты SD в телефоне. ВСЯ информация, находящаяся на карте, будет удалена!"</string>
-    <string name="media_format_button_text" msgid="370856400090190151">"Очистить SD-карту"</string>
-    <string name="media_format_final_desc" msgid="1776666694910717198">"Форматировать карту SD с удалением всех ваших данных? Это действие нельзя отменить!"</string>
+    <string name="media_format_title" product="nosdcard" msgid="3999653431422767156">"Очистить USB-накопитель"</string>
+    <string name="media_format_title" product="default" msgid="4427528440306787972">"Очистить SD-карту"</string>
+    <string name="media_format_summary" product="nosdcard" msgid="776603298628082065">"Уничтожает все данные на USB-накопителе"</string>
+    <string name="media_format_summary" product="default" msgid="3805714639375830120">"Удаляет все данные с карты SD"</string>
+    <string name="media_format_desc" product="nosdcard" msgid="4553860683952763905">"Это приведет к очистке USB-накопителя. Вы потеряете "<b>"все"</b>" хранящиеся на нем данные!"</string>
+    <string name="media_format_desc" product="default" msgid="1598627584181935513">"Это приведет к очистке SD-карты. Вы потеряете "<b>"все"</b>" данные на карте!"</string>
+    <string name="media_format_button_text" product="nosdcard" msgid="6293669371185352810">"Очистить USB-накопитель"</string>
+    <string name="media_format_button_text" product="default" msgid="6721544380069373626">"Очистить SD-карту"</string>
+    <string name="media_format_final_desc" product="nosdcard" msgid="8094635533378487255">"Очистить USB-накопитель, безвозвратно удалив все файлы на нем?"</string>
+    <string name="media_format_final_desc" product="default" msgid="9015504991522581434">"Очистить SD-карту, безвозвратно удалив все файлы на ней?"</string>
     <string name="media_format_final_button_text" msgid="4881713344315923175">"Стереть все"</string>
     <string name="media_format_gesture_prompt" msgid="3109349468816856670">"Начертить графический ключ разблокировки"</string>
-    <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Для подтверждения форматирования карты SD нужно начертить графический ключ разблокировки."</string>
+    <string name="media_format_gesture_explanation" product="nosdcard" msgid="1379736318750958338">"Для подтверждения очистки USB-накопителя начертите графический ключ."</string>
+    <string name="media_format_gesture_explanation" product="default" msgid="1681213416497647321">"Для подтверждения очистки SD-карты начертите графический ключ."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Вызовы"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Голосовая почта, АОН, переадресация, параллельный вызов"</string>
     <string name="tether_settings_title_usb" msgid="4315031513434087777">"USB-модем"</string>
@@ -609,7 +649,7 @@
     <string name="location_networks_disabled" msgid="2708968452901433980">"Использовать Wi-Fi и сотовые сети для определения местоположения"</string>
     <string name="location_neighborhood_level" msgid="4656658097932515921">"Использовать Wi-Fi и сотовые сети для определения местоположения"</string>
     <string name="location_gps" msgid="6296125378829097831">"Спутники GPS"</string>
-    <string name="location_street_level" msgid="6460740847018275745">"Использовать GPS для определения местоположения (повышенный расход энергии)"</string>
+    <string name="location_street_level" msgid="7456259025474443314">"Координаты на уровне улиц"</string>
     <string name="location_gps_disabled" msgid="6632537158777308128">"Использовать GPS для определения местоположения (высокий расход энергии)"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"Использовать A-GPS"</string>
     <string name="assisted_gps_enabled" msgid="8751899609589792803">"Использовать сервер для A-GPS (снимите флажок для менее интенсивного использования сети)"</string>
@@ -672,7 +712,7 @@
     <string name="lock_example_title" msgid="8052305554017485410">"Пример графического ключа"</string>
     <string name="lock_example_message" msgid="1838650097090632706">"Соедините как минимум четыре точки."\n" "\n"Выберите \"Далее\", когда будете готовы начертить собственный графический ключ разблокировки."</string>
     <string name="manageapplications_settings_title" msgid="5712405848153426706">"Управление приложениями"</string>
-    <string name="manageapplications_settings_summary" msgid="6097117021500651232">"Управление установленными приложениями и их удаление "</string>
+    <string name="manageapplications_settings_summary" msgid="6097117021500651232">"Управление установленными приложениями и их удаление"</string>
     <string name="applications_settings" msgid="3736173521008476946">"Приложения"</string>
     <string name="applications_settings_summary" msgid="2714215108369119717">"Управление приложениями, настройка клавиш быстрого запуска"</string>
     <string name="applications_settings_header" msgid="6018266337275422250">"Настройки приложения"</string>
@@ -692,22 +732,31 @@
     <string name="application_size_label" msgid="5055196275624686382">"Приложение"</string>
     <string name="data_size_label" msgid="8679376373625710107">"Данные"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Удалить"</string>
+    <string name="disable_text" msgid="6544054052049395202">"Отключить"</string>
+    <string name="enable_text" msgid="9217362512327828987">"Включить"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Стереть данные"</string>
     <string name="app_factory_reset" msgid="6635744722502563022">"Удалить обновления"</string>
     <string name="auto_launch_enable_text" msgid="2630656657744196691">"Выбран запуск этого приложения по умолчанию при выполнении некоторых действий."</string>
     <string name="auto_launch_disable_text" msgid="7800385822185540166">"Значения по умолчанию не установлены."</string>
     <string name="clear_activities" msgid="7408923511535174430">"Удалить настройки по умолчанию"</string>
     <string name="unknown" msgid="1592123443519355854">"Неизвестно"</string>
-    <string name="sort_order_alpha" msgid="8622029358896599842">"Упорядочить"</string>
+    <string name="sort_order_alpha" msgid="1410278099123670628">"Упорядочить по именам"</string>
     <string name="sort_order_size" msgid="7024513286636502362">"Упорядочить по размеру"</string>
+    <string name="show_running_services" msgid="5736278767975544570">"Показать активные службы"</string>
+    <string name="show_background_processes" msgid="2009840211972293429">"Показать процессы в кэше"</string>
     <string name="manage_space_text" msgid="8852711522447794676">"Управление местом"</string>
     <string name="filter" msgid="2018011724373033887">"Фильтр"</string>
     <string name="filter_dlg_title" msgid="6507663329723966854">"Выбрать параметры фильтра"</string>
     <string name="filter_apps_all" msgid="5142129378749391876">"Все"</string>
     <string name="filter_apps_third_party" msgid="7786348047690140979">"Сторонние"</string>
     <string name="filter_apps_running" msgid="7767071454371350486">"Работающие"</string>
-    <string name="filter_apps_onsdcard" msgid="1477351142334784771">"На SD-карте"</string>
-    <string name="loading" msgid="3200408047793887917">"Идет загрузка…"</string>
+    <string name="filter_apps_onsdcard" product="nosdcard" msgid="4843063154701023349">"USB-накопитель"</string>
+    <string name="filter_apps_onsdcard" product="default" msgid="1477351142334784771">"На SD-карте"</string>
+    <string name="disabled" msgid="9206776641295849915">"Отключено"</string>
+    <string name="no_applications" msgid="5190227407135243904">"Нет приложений."</string>
+    <string name="internal_storage" msgid="1584700623164275282">"Внутренний накопитель"</string>
+    <string name="sd_card_storage" product="nosdcard" msgid="2673203150465132465">"USB-накопитель"</string>
+    <string name="sd_card_storage" product="default" msgid="7623513618171928235">"SD-карта"</string>
     <string name="recompute_size" msgid="7722567982831691718">"Повторное вычисление размера..."</string>
     <string name="clear_data_dlg_title" msgid="4470209520936375508">"Удалить"</string>
     <string name="clear_data_dlg_text" msgid="8368035073300828451">"Все данные этой программы будут удалены навсегда, включая все файлы, базы данных, настройки, аккаунты и прочее."</string>
@@ -727,7 +776,8 @@
     <string name="version_text" msgid="9189073826278676425">"Версия <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5042838441401731346">"Переместить"</string>
     <string name="move_app_to_internal" msgid="3895430471913858185">"Переместить на телефон"</string>
-    <string name="move_app_to_sdcard" msgid="1143379049903056407">"Переместить на SD-карту"</string>
+    <string name="move_app_to_sdcard" product="nosdcard" msgid="4350451696315265420">"Перенести на USB-накопитель"</string>
+    <string name="move_app_to_sdcard" product="default" msgid="1143379049903056407">"Переместить на SD-карту"</string>
     <string name="moving" msgid="6431016143218876491">"Перемещение"</string>
     <string name="insufficient_storage" msgid="8566913062094452962">"Недостаточно свободной памяти."</string>
     <string name="does_not_exist" msgid="837163572898468245">"Приложение не существует."</string>
@@ -735,29 +785,49 @@
     <string name="invalid_location" msgid="4934491353200240499">"Указано недопустимое место установки."</string>
     <string name="system_package" msgid="1030561474413022831">"Системные обновления не могут быть установлены на внешнем носителе."</string>
     <string name="force_stop_dlg_title" msgid="4289453224368188476">"Принудительная остановка"</string>
-    <string name="force_stop_dlg_text" msgid="3381302041569982075">"Программа будет перезапущена. Вы действительно хотите выполнить принудительную остановку?"</string>
+    <string name="force_stop_dlg_text" msgid="5157374701213502922">"Принудительная остановка приложения может привести к сбою. Продолжить?"</string>
     <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Перемещение приложения"</string>
     <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Не удалось переместить приложение. <xliff:g id="REASON">%1$s</xliff:g>"</string>
     <string name="app_install_location_title" msgid="2068975150026852168">"Место установки"</string>
     <string name="app_install_location_summary" msgid="879753854530300436">"Изменить установочную папку для новых приложений."</string>
+    <string name="storageuse_settings_title" msgid="5657014373502630403">"Использование хранилища"</string>
+    <string name="storageuse_settings_summary" msgid="2556057379120846792">"Хранилище, используемое приложениями"</string>
     <string name="runningservices_settings_title" msgid="8097287939865165213">"Работающие программы"</string>
     <string name="runningservices_settings_summary" msgid="854608995821032748">"Просмотр и управление работающими программами"</string>
     <string name="service_restarting" msgid="2242747937372354306">"Перезапуск"</string>
-    <string name="no_running_services" msgid="6981216347270280598">"Работающие программы отсутствуют"</string>
-    <string name="confirm_stop_service" msgid="5700448757318301681">"Остановить службу?"</string>
-    <string name="confirm_stop_service_msg" msgid="1166661293369421272">"Эта служба будет отключена до повторного запуска, что может негативно повлиять на программу <xliff:g id="APPLICATION">%1$s</xliff:g>."</string>
-    <string name="confirm_stop_stop" msgid="7382363913280993331">"Остановить"</string>
-    <string name="confirm_stop_cancel" msgid="206495326622692381">"Отмена"</string>
-    <string name="service_started_by_app" msgid="8432097226392386802">"Нажмите, чтобы остановить."</string>
-    <string name="service_client_name" msgid="2337664610975074717">"Нажмите, чтобы изменить <xliff:g id="CLIENT_NAME">%1$s</xliff:g>"</string>
-    <string name="service_background_processes" msgid="5158600475629177758">"Дост.: <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g> (<xliff:g id="COUNT">%1$d</xliff:g>)"</string>
-    <string name="service_foreground_processes" msgid="4013890350284680796">"Другое: <xliff:g id="MEMORY">%2$s</xliff:g> (<xliff:g id="COUNT">%1$d</xliff:g>)"</string>
-    <string name="service_process_name" msgid="8630408984456958400">"Процесс <xliff:g id="PROCESS">%1$s</xliff:g>"</string>
+    <string name="cached" msgid="1059590879740175019">"Кэшированный фоновый процесс"</string>
+    <string name="no_running_services" msgid="2059536495597645347">"Ничего не запущено."</string>
+    <string name="service_started_by_app" msgid="6575184738671598131">"Запущено приложением."</string>
+    <!-- no translation found for service_client_name (4037193625611815517) -->
+    <skip />
+    <string name="service_background_processes" msgid="6844156253576174488">"<xliff:g id="MEMORY">%1$s</xliff:g> свободно"</string>
+    <string name="service_foreground_processes" msgid="7583975676795574276">"<xliff:g id="MEMORY">%1$s</xliff:g> занято"</string>
+    <string name="memory" msgid="6609961111091483458">"ОЗУ"</string>
+    <!-- no translation found for service_process_name (4098932168654826656) -->
+    <skip />
+    <string name="running_processes_item_description_s_s" msgid="5790575965282023145">"Процессов: <xliff:g id="NUMPROCESS">%1$d</xliff:g>; служб: <xliff:g id="NUMSERVICES">%2$d</xliff:g>"</string>
+    <string name="running_processes_item_description_s_p" msgid="8019860457123222953">"Процессов: <xliff:g id="NUMPROCESS">%1$d</xliff:g>; служб: <xliff:g id="NUMSERVICES">%2$d</xliff:g>"</string>
+    <string name="running_processes_item_description_p_s" msgid="744424668287252915">"Процессов: <xliff:g id="NUMPROCESS">%1$d</xliff:g>; служб: <xliff:g id="NUMSERVICES">%2$d</xliff:g>"</string>
+    <string name="running_processes_item_description_p_p" msgid="1607384595790852782">"Процессов: <xliff:g id="NUMPROCESS">%1$d</xliff:g>; служб: <xliff:g id="NUMSERVICES">%2$d</xliff:g>"</string>
+    <string name="runningservicedetails_settings_title" msgid="6188692418986988288">"Запущенное приложение"</string>
+    <string name="no_services" msgid="7133900764462288263">"Неактивен"</string>
+    <string name="runningservicedetails_services_title" msgid="391168243725357375">"Службы"</string>
+    <string name="runningservicedetails_processes_title" msgid="928115582044655268">"Процессы"</string>
+    <string name="service_stop" msgid="6369807553277527248">"Остановить"</string>
+    <string name="service_manage" msgid="1876642087421959194">"Настройки"</string>
+    <string name="service_stop_description" msgid="3261798282116866961">"Эта служба была запущена ее приложением. Остановка может привести к ошибке приложения."</string>
+    <string name="heavy_weight_stop_description" msgid="6855241582643136019">"Данное приложение нельзя остановить безопасно. Это может привести к потере выполненной работы."</string>
+    <string name="background_process_stop_description" msgid="1728354083304746737">"Это процесс, используемый в старых приложениях, который сохранен для повышения скорости в случае необходимости. Как правило, останавливать его не нужно."</string>
+    <string name="service_manage_description" msgid="7050092269951613102">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: в настоящий момент используется. Нажмите \"Настройки\" для управления."</string>
+    <string name="main_running_process_description" msgid="929204645380391397">"Основной используемый процесс."</string>
+    <string name="process_service_in_use_description" msgid="8993335064403217080">"Служба <xliff:g id="COMP_NAME">%1$s</xliff:g> используется."</string>
+    <string name="process_provider_in_use_description" msgid="5586603325677678940">"Провайдер <xliff:g id="COMP_NAME">%1$s</xliff:g> используется."</string>
+    <string name="runningservicedetails_stop_dlg_title" msgid="4253292537154337233">"Остановить системную службу?"</string>
+    <string name="runningservicedetails_stop_dlg_text" msgid="6929716497425738387">"Вы действительно хотите остановить эту системную службу? В этом случае некоторые функции телефона могут перестать работать до его выключения и повторного включения."</string>
     <string name="language_settings" msgid="502219872342167227">"Язык и клавиатура"</string>
     <string name="language_keyboard_settings_title" msgid="3455826933385341107">"Настройки языка и клавиатуры"</string>
-    <string name="language_settings_summary" msgid="595647729475399987">"Выбор языка и региона, способов ввода и настройка автокоррекции"</string>
-    <string name="language_category" msgid="3391756582724541530">"Региональные настройки"</string>
-    <string name="text_category" msgid="6342540511465136739">"Настройки ввода текста"</string>
+    <string name="language_settings_category" msgid="2288258489940617043">"Языковые настройки"</string>
+    <string name="keyboard_settings_category" msgid="7060453865544070642">"Настройки клавиатуры"</string>
     <string name="phone_language" msgid="1165758957501090679">"Выбрать язык"</string>
     <string name="phone_language_summary" msgid="3871309445655554211"></string>
     <string name="auto_replace" msgid="6199184757891937822">"Автокоррекция"</string>
@@ -782,7 +852,6 @@
     <string name="testing" msgid="6584352735303604146">"Проверка"</string>
     <string name="testing_phone_info" msgid="8656693364332840056">"Информация о телефоне"</string>
     <string name="testing_battery_info" msgid="3497865525976497848">"Информация о батарее"</string>
-    <string name="testing_battery_history" msgid="3043329445810695647">"Журнал сведений о батарее"</string>
     <string name="quick_launch_title" msgid="7904609846945905306">"Быстрый запуск"</string>
     <string name="quick_launch_summary" msgid="3453825712466417452">"Настройка клавиш для быстрого запуска приложений"</string>
     <string name="quick_launch_assign_application" msgid="4521368464929956350">"Назначить приложение"</string>
@@ -798,8 +867,8 @@
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Задать параметры ввода текста"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"Настройки <xliff:g id="IME_NAME">%1$s</xliff:g>"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Настройки экранной клавиатуры"</string>
-    <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"Клавиатура устройства"</string>
-    <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"Настройки встроенной клавиатуры"</string>
+    <string name="builtin_keyboard_settings_title" msgid="5274990495405941804">"Встроенная клавиатура"</string>
+    <string name="builtin_keyboard_settings_summary" msgid="7990296351888096836">"Настройки встроенной клавиатуры"</string>
     <string name="development_settings_title" msgid="6719732334835420989">"Разработка"</string>
     <string name="development_settings_summary" msgid="2151320488701538355">"Настройка параметров для разработки приложений"</string>
     <string name="enable_adb" msgid="7982306934419797485">"Отладка по USB"</string>
@@ -812,36 +881,10 @@
     <string name="adb_warning_message" msgid="5352555112049663033">"Отладка по USB предназначена для целей разработки. С ее помощью можно копировать данные с компьютера на мобильное устройство и наборот, устанавливать на устройство приложения и просматривать данные журналов."</string>
     <string name="gadget_picker_title" msgid="98374951396755811">"Выбор·гаджета"</string>
     <string name="widget_picker_title" msgid="9130684134213467557">"Выбор виджета"</string>
-    <string name="battery_history_details_for" msgid="5924639922153109669">"Сведения для идентификатора пользователя <xliff:g id="NUMBER">%d</xliff:g>"</string>
-    <string name="battery_history_uid" msgid="1016606150528436298">"Идентификатор пользователя <xliff:g id="USER_ID">%1$d</xliff:g>"</string>
-    <string name="battery_history_network_usage" msgid="8010852371665217020">"Сведения об использовании сети приложением <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_bytes_received" msgid="980307569180518302">"Получено байт: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_sent" msgid="2501748768602119159">"Отправлено байт: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_total" msgid="4444807574361642753">"Всего байт: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_cpu_usage" msgid="2597353713014790877">"Сведения об использовании процессора приложением <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_user_time" msgid="6227507614894791359">"Пользовательское время:"</string>
-    <string name="battery_history_system_time" msgid="2015862072724507547">"Системное время:"</string>
-    <string name="battery_history_total_time" msgid="3618703970098556104">"Общее время:"</string>
-    <string name="battery_history_starts" msgid="9137453931978571696">"Запусков: <xliff:g id="STARTS">%1$d</xliff:g>"</string>
     <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g> дн. <xliff:g id="HOURS">%2$d</xliff:g> ч. <xliff:g id="MINUTES">%3$d</xliff:g> мин. <xliff:g id="SECONDS">%4$d</xliff:g> с."</string>
     <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g> ч. <xliff:g id="MINUTES">%2$d</xliff:g> мин. <xliff:g id="SECONDS">%3$d</xliff:g> с."</string>
     <string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g> мин. <xliff:g id="SECONDS">%2$d</xliff:g> с."</string>
     <string name="battery_history_seconds" msgid="4283492130945761685">"<xliff:g id="SECONDS">%1$d</xliff:g> с."</string>
-    <string name="battery_history_packages_sharing_this_uid" msgid="4101596071379250050">"Пакеты с этим идентификатором пользователя:"</string>
-    <string name="battery_history_no_data" msgid="1177238743237067617">"Данные об использовании батареи недоступны"</string>
-    <string name="battery_history_sensor" msgid="2333488996028993982">"Сенсор:"</string>
-    <string name="battery_history_wakelock" msgid="608683447522396293">"Блокировка частичного включения:"</string>
-    <string name="battery_history_used_by_packages" msgid="3000711380023436470">"Сенсор использован пакетами:"</string>
-    <string name="battery_history_sensor_usage" msgid="3593133338613209024">"Использовано пакетом <xliff:g id="PACKAGE">%2$s</xliff:g>: <xliff:g id="COUNT">%1$d</xliff:g> раз(а)"</string>
-    <string name="battery_history_sensor_usage_multi" msgid="4536084375991014508">"Использовано <xliff:g id="COUNT">%1$d</xliff:g> раз(а) одним из:"</string>
-    <string name="battery_history_awake_label" msgid="8449792868990080882">"Выполняемые сейчас"</string>
-    <string name="battery_history_screen_on_label" msgid="1848936521786339362">"Экран включен"</string>
-    <string name="battery_history_phone_on_label" msgid="700191958853142297">"Телефон включен"</string>
-    <string name="battery_history_awake" msgid="4350886665719031057">"Время с последнего перехода в спящий режим:"</string>
-    <string name="battery_history_screen_on" msgid="1377240025275657277">"Время пребывания экрана включенным:"</string>
-    <string name="battery_history_phone_on" msgid="4891504401623839532">"Время пребывания телефона включенным:"</string>
-    <string name="battery_history_screen_on_battery" msgid="536058210445081888">"От батареи:"</string>
-    <string name="battery_history_screen_on_plugged" msgid="5019127390021871260">"Подключен к питанию:"</string>
     <string name="usage_stats_label" msgid="5890846333487083609">"Статистика использования"</string>
     <string name="testing_usage_stats" msgid="7823048598893937339">"Статистика использования"</string>
     <string name="display_order_text" msgid="8592776965827565271">"Упорядочить по:"</string>
@@ -865,12 +908,19 @@
     <string name="power_usage_summary" msgid="7237084831082848168">"На что расходуется заряд батареи"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Расход заряда батареи с момента отключения от сети питания"</string>
     <string name="battery_since_reset" msgid="7464546661121187045">"Расход заряда батареи с момента перезагрузки"</string>
+    <string name="battery_stats_on_battery" msgid="4970762168505236033">"<xliff:g id="TIME">%1$s</xliff:g> от батареи"</string>
     <string name="battery_stats_duration" msgid="7464501326709469282">"<xliff:g id="TIME">%1$s</xliff:g> с момента отключения от питания"</string>
+    <string name="battery_stats_charging_label" msgid="4223311142875178785">"Идет зарядка"</string>
+    <string name="battery_stats_screen_on_label" msgid="7150221809877509708">"Экран включен"</string>
+    <string name="battery_stats_gps_on_label" msgid="1193657533641951256">"GPS вкл."</string>
+    <string name="battery_stats_wifi_running_label" msgid="3093545080361658269">"Wi-Fi"</string>
+    <string name="battery_stats_wake_lock_label" msgid="1908942681902324095">"Режим бодрствования"</string>
+    <string name="battery_stats_phone_signal_label" msgid="6822042940376636775">"Сигнал телефона"</string>
     <!-- no translation found for battery_stats_last_duration (1535831453827905957) -->
     <skip />
     <string name="awake" msgid="387122265874485088">"Время включения устройства"</string>
-    <string name="wifi_on_time" msgid="4630925382578609056">"Время работы WiFi"</string>
-    <string name="bluetooth_on_time" msgid="4478515071957280711">"Время работы WiFi"</string>
+    <string name="wifi_on_time" msgid="6310209835617490616">"Время работы Wi-Fi"</string>
+    <string name="bluetooth_on_time" msgid="6157799524996162271">"Время работы Wi-Fi"</string>
     <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g> – <xliff:g id="NUMBER">%2$s</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
     <string name="details_title" msgid="7564809986329021063">"Сведения о расходе заряда батареи"</string>
     <string name="details_subtitle" msgid="32593908269911734">"Сведения об использовании"</string>
@@ -884,7 +934,9 @@
     <string name="power_idle" msgid="9055659695602194990">"Телефон в режиме ожидания"</string>
     <string name="usage_type_cpu" msgid="715162150698338714">"ЦП – всего"</string>
     <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"ЦП – активный режим"</string>
+    <string name="usage_type_wake_lock" msgid="5125438890233677880">"Не отключать"</string>
     <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string>
+    <string name="usage_type_wifi_running" msgid="8234997940652067049">"Использование Wi-Fi"</string>
     <string name="usage_type_phone" msgid="9108247984998041853">"Телефон"</string>
     <string name="usage_type_data_send" msgid="2857401966985425427">"Отправлено данных"</string>
     <string name="usage_type_data_recv" msgid="7251090882025234185">"Получено данных"</string>
@@ -896,7 +948,7 @@
     <string name="battery_action_app_details" msgid="3275013531871113681">"Сведения о приложении"</string>
     <string name="battery_action_app_settings" msgid="350562653472577250">"Настройки приложения"</string>
     <string name="battery_action_display" msgid="5302763261448580102">"Настройки экрана"</string>
-    <string name="battery_action_wifi" msgid="5452076674659927993">"Настройки WiFi"</string>
+    <string name="battery_action_wifi" msgid="2272741639606146903">"Настройки Wi-Fi"</string>
     <string name="battery_action_bluetooth" msgid="8374789049507723142">"Настройки Bluetooth"</string>
     <string name="battery_desc_voice" msgid="8980322055722959211">"Использование батареи для голосовых вызовов"</string>
     <string name="battery_desc_standby" msgid="3009080001948091424">"Расход заряда батареи в режиме ожидания"</string>
@@ -909,9 +961,9 @@
     <string name="battery_desc_bluetooth" msgid="7535520658674621902">"Использование батареи модулем Bluetooth"</string>
     <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"Отключить Bluetooth, если он не используется"</string>
     <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"Попробуйте подключиться к другому устройству Bluetooth"</string>
-    <string name="battery_desc_apps" msgid="8123202939321333639">"Использование батареи для работы приложений"</string>
+    <string name="battery_desc_apps" msgid="6665712811746233450">"Батарея используется приложением"</string>
     <string name="battery_sugg_apps_info" msgid="6065882899391322442">"Остановить или удалить приложение"</string>
-    <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"Отключать GPS, когда не используется"</string>
+    <string name="battery_sugg_apps_gps" msgid="4545056413090932541">"Включать GPS вручную, чтобы приложения не могли использовать эту функцию"</string>
     <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"В программе могут быть настройки для снижения расхода заряда батареи"</string>
     <string name="menu_stats_unplugged" msgid="8296577130840261624">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> с момента отключения от питания"</string>
     <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"С последнего отключения <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
@@ -961,6 +1013,8 @@
     <string name="pico_not_installed" msgid="6266845418419994311">"Не установлено"</string>
     <string name="pico_voice_summary_female" msgid="8047327176247727492">"Женский"</string>
     <string name="pico_voice_summary_male" msgid="8331266854058577610">"Мужской"</string>
+    <string name="tts_notif_engine_install_title" msgid="7000346872482649034">"Модуль синтеза речи установлен"</string>
+    <string name="tts_notif_engine_install_message" msgid="5304661142202662693">"Включите новый модуль"</string>
     <string name="gadget_title" msgid="7455548605888590466">"Управление питанием"</string>
     <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Обновление настроек Wi-Fi"</string>
     <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Обновление настроек Bluetooth"</string>
@@ -1047,8 +1101,10 @@
     <string name="credentials_access_summary" msgid="319662078718574168">"Разрешить приложениям использовать хранилище сертификатов и рег. данных"</string>
     <string name="credentials_unlock" msgid="1463040326264133844">"Ввод пароля"</string>
     <string name="credentials_unlock_hint" msgid="594679530407918031">"Введите пароль для доступа в хранилище регистрационных данных."</string>
-    <string name="credentials_install_certificates" msgid="177337517568022236">"Установка с SD-карты"</string>
-    <string name="credentials_install_certificates_summary" msgid="7737001268684193093">"Установить сертификаты шифрования с карты памяти"</string>
+    <string name="credentials_install_certificates" product="nosdcard" msgid="619171634797689906">"Устанавливать с накопителя"</string>
+    <string name="credentials_install_certificates" product="default" msgid="177337517568022236">"Установка с SD-карты"</string>
+    <string name="credentials_install_certificates_summary" product="nosdcard" msgid="8920330112631198575">"Устанавливать зашифрованные сертификаты с USB-накопителя"</string>
+    <string name="credentials_install_certificates_summary" product="default" msgid="7737001268684193093">"Установить сертификаты шифрования с карты памяти"</string>
     <string name="credentials_set_password" msgid="9104473585811899989">"Установить пароль"</string>
     <string name="credentials_set_password_summary" msgid="8287876917562085701">"Установить или изменить пароль для доступа в хранилище рег. данных"</string>
     <string name="credentials_reset" msgid="9170150870552453457">"Очистить хранилище"</string>
@@ -1068,6 +1124,16 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Хранилище регистрационных данных очищено."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Хранилище регистрационных данных включено."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Хранилище регистрационных данных отключено."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Зашифрованная файловая система"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Зашифровать личные данные пользователя"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Включить хранилище в зашифрованной файловой системе для хранения личных данных пользователя на этом устройстве"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Для включения зашифрованных файловых систем требуется удаление данных с устройства."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Для отключения зашифрованных файловых систем требуется удаление данных с устройства."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Включить"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Отключить"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Отмена"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Изменение режима зашифрованной файловой системы отменено."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Предупреждение для зашифрованных файловых систем"</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Тональный сигнал экстренного вызова"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Настроить режим работы при экстренном вызове"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Конфиденциальность"</string>
@@ -1075,11 +1141,11 @@
     <string name="backup_section_title" msgid="8856083167469467588">"Резервное копирование и восстановление"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Личные данные"</string>
     <string name="backup_data_title" msgid="1239105919852668016">"Резервное копирование данных"</string>
-    <string name="backup_data_summary" msgid="5662190190240860035">"Создать резервную копию настроек и других данных."</string>
+    <string name="backup_data_summary" msgid="6515285107793232815">"Резервное копирование данных приложений, паролей Wi-Fi и других настроек в Google"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Автовосстановление"</string>
-    <string name="auto_restore_summary" msgid="6867766474057290177">"При переустановке приложения восстановить резервные копии настроек и других данных."</string>
+    <string name="auto_restore_summary" msgid="83177150536734378">"При переустановке приложения восстановить резервные копии настроек и других данных"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Резервное копирование"</string>
-    <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Вы уверены, что не хотите больше создавать резервные копии настроек и данных программ и хотите удалить все копии с серверов Google?"</string>
+    <string name="backup_erase_dialog_message" msgid="7766283133557587608">"Вы уверены, что хотите прекратить создавать резервные копии паролей Wi-Fi, закладок, настроек и данных приложений и удалить все копии с серверов Google?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Настройки администрирования устройства"</string>
     <string name="active_device_admin_msg" msgid="6930903262612422111">"Администратор устройства"</string>
     <string name="remove_device_admin" msgid="3596845261596451437">"Отключить"</string>
diff --git a/res/values-sv/arrays.xml b/res/values-sv/arrays.xml
index f583155..2d2949a 100644
--- a/res/values-sv/arrays.xml
+++ b/res/values-sv/arrays.xml
@@ -115,19 +115,6 @@
     <item msgid="1549288661423279207">"Aldrig när den är inkopplad"</item>
     <item msgid="1986753720941888596">"Aldrig"</item>
   </string-array>
-  <string-array name="battery_history_type_spinner">
-    <item msgid="2193799199027871385">"CPU-användning"</item>
-    <item msgid="6401018715947316517">"Nätverksanvändning"</item>
-    <item msgid="188092590354892392">"GPS-användning"</item>
-    <item msgid="8414109131222049141">"Sensoranvändning"</item>
-    <item msgid="1327904325081257093">"Användning av delaktivering"</item>
-    <item msgid="4832254146664706277">"Övrig användning"</item>
-  </string-array>
-  <string-array name="battery_history_which_spinner">
-    <item msgid="3451981114763440074">"Sedan senaste bortkoppling"</item>
-    <item msgid="166936313535197598">"Totalt sedan start"</item>
-    <item msgid="4793941382744963893">"Totalt"</item>
-  </string-array>
   <string-array name="usage_stats_display_order_types">
     <item msgid="9077371706468756228">"Användningstid"</item>
     <item msgid="1908750532762193304">"Starta räkneverk"</item>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index c9eb25e..e0e0ae6 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -45,13 +45,16 @@
     <string name="radioInfo_display_asu" msgid="1422248392727818082">"asu"</string>
     <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string>
     <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string>
-    <string name="sdcard_unmount" msgid="3364184561355611897">"Montera bort SD-kort"</string>
-    <string name="sdcard_format" msgid="362497552060004057">"Formatera SD-kort"</string>
+    <string name="sdcard_unmount" product="nosdcard" msgid="6325292633327972272">"Demontera USB-enhet"</string>
+    <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"Montera bort SD-kort"</string>
+    <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"Radera USB-lagring"</string>
+    <string name="sdcard_format" product="default" msgid="6713185532039187532">"Radera SD-kort"</string>
     <string name="small_font" msgid="2295331917424072635">"Liten"</string>
     <string name="medium_font" msgid="2068475425515133701">"Medium"</string>
     <string name="large_font" msgid="599055175160971446">"Stor"</string>
     <string name="font_size_save" msgid="3450855718056759095">"OK"</string>
-    <string name="sdcard_setting" msgid="5922637503871474866">"SD-kort"</string>
+    <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB-lagring"</string>
+    <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD-kort"</string>
     <string name="battery_info_status_label" msgid="8109155295509700309">"Batteristatus"</string>
     <string name="battery_info_power_label" msgid="7465140230991349382">"Elkontakt:"</string>
     <string name="battery_info_scale_label" msgid="3649763192389778437">"Batteriskala:"</string>
@@ -180,27 +183,34 @@
     <string name="sdcard_changes_instructions" msgid="1364712901180556244">"Ändringarna börjar gälla när USB-kabeln har anslutits igen"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"Aktivera USB-masslagring"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"Totalt antal bytes:"</string>
-    <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"Inget SD-kort"</string>
+    <string name="sdcard_settings_not_present_status" product="nosdcard" msgid="2902787003418172125">"USB-enheten ej demonterad"</string>
+    <string name="sdcard_settings_not_present_status" product="default" msgid="6666688653496819947">"Inget SD-kort"</string>
     <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"Tillgängliga bytes:"</string>
-    <string name="sdcard_settings_mass_storage_status" msgid="4786433969313661655">"SD-kort används som enhet för masslagring"</string>
-    <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"Det är nu säkert att ta bort SD-kortet"</string>
-    <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"SD-kortet togs bort medan det användes!"</string>
+    <string name="sdcard_settings_mass_storage_status" product="nosdcard" msgid="2736378870889777857">"USB-lagringsenhetet används som masslagringsenhet"</string>
+    <string name="sdcard_settings_mass_storage_status" product="default" msgid="4786433969313661655">"SD-kort används som enhet för masslagring"</string>
+    <string name="sdcard_settings_unmounted_status" product="nosdcard" msgid="7503300818792750913">"Säkert att ta bort USB-enheten"</string>
+    <string name="sdcard_settings_unmounted_status" product="default" msgid="3812022095683863087">"Det är nu säkert att ta bort SD-kortet"</string>
+    <string name="sdcard_settings_bad_removal_status" product="nosdcard" msgid="7761390725880773697">"USB-enheten togs borts fast den användes!"</string>
+    <string name="sdcard_settings_bad_removal_status" product="default" msgid="5145797653495907970">"SD-kortet togs bort medan det användes!"</string>
     <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"Bytes som har använts:"</string>
-    <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"Skannar SD-kort för media…"</string>
-    <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"SD-kortet har monterats som skrivskyddat"</string>
+    <string name="sdcard_settings_scanning_status" product="nosdcard" msgid="7503429447676219564">"Söker efter media på USB-enhet..."</string>
+    <string name="sdcard_settings_scanning_status" product="default" msgid="2763464949274455656">"Skannar SD-kort för media…"</string>
+    <string name="sdcard_settings_read_only_status" product="nosdcard" msgid="3771783090621312312">"Skrivskydd. USB-enhet monterad"</string>
+    <string name="sdcard_settings_read_only_status" product="default" msgid="5706115860484118911">"SD-kortet har monterats som skrivskyddat"</string>
     <string name="next_label" msgid="4693520878012668114">"Nästa"</string>
     <string name="language_picker_title" msgid="4034157617842965844">"Språkkod"</string>
     <string name="select_your_language" msgid="1146235168951906084">"Välj språk"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Välj aktivitet"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Enhetsinfo"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Batteriinformation"</string>
-    <string name="battery_history_label" msgid="8242244969757414501">"Batterihistorik"</string>
     <string name="display_label" msgid="7403874003169865762">"Skärm"</string>
     <string name="phone_info_label" msgid="2127552523124277664">"Telefoninformation"</string>
-    <string name="sd_card_settings_label" msgid="5743100901106177102">"SD-kort"</string>
+    <string name="sd_card_settings_label" product="nosdcard" msgid="8101475181301178428">"USB-lagring"</string>
+    <string name="sd_card_settings_label" product="default" msgid="5743100901106177102">"SD-kort"</string>
     <string name="proxy_settings_label" msgid="3271174136184391743">"Proxy-inställningar"</string>
     <string name="cancel" msgid="6859253417269739139">"Avbryt"</string>
     <string name="settings_label" msgid="1626402585530130914">"Inställningar"</string>
+    <string name="settings_label_launcher" msgid="8344735489639482340">"Inställningar"</string>
     <string name="settings_shortcut" msgid="3672145147925639262">"Inställningar"</string>
     <string name="airplane_mode" msgid="8837269988154128601">"Flygplansläge"</string>
     <string name="airplane_mode_summary" msgid="3154817401368780988">"Inaktivera alla trådlösa anslutningar"</string>
@@ -323,6 +333,11 @@
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Som högtalartelefon"</string>
     <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"För musik och media"</string>
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Kom ihåg inställningarna"</string>
+    <string name="nfc_quick_toggle_title" msgid="6769159366307299004">"NFC"</string>
+    <string name="nfc_quick_toggle_summary" msgid="1988408027741447231">"Använd närfältskommunikation för att läsa och utbyta taggar"</string>
+    <!-- no translation found for nfc_toggle_error (2233172102497535522) -->
+    <!-- no translation found for nfc_toggle_error (8998642457947607263) -->
+    <skip />
     <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Aktivera Wi-Fi"</string>
     <string name="wifi_settings" msgid="4746946030627213196">"Wi-Fi-inställningar"</string>
@@ -376,6 +391,7 @@
     <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Ange när du vill växla från Wi-Fi till mobildata"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Ett problem inträffade när policy för viloläge skulle anges."</string>
     <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"Mac-adress"</string>
+    <string name="wifi_advanced_ip_address_title" msgid="6215297094363164846">"IP-adress"</string>
     <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP-inställningar"</string>
     <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Spara"</string>
     <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"Avbryt"</string>
@@ -496,9 +512,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Status"</string>
     <string name="device_status" msgid="607405385799807324">"Status"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Telefonnummer, signal osv."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"SD-kort och telefonlagr."</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"Inställningar för lagring på SD-kort och i telefonen"</string>
-    <string name="storage_settings_summary" msgid="9176693537325988610">"Montera bort SD-kort, visa tillgängligt lagringsutrymme"</string>
+    <string name="storage_settings" msgid="4211799979832404953">"Lagring"</string>
+    <string name="storage_settings_title" msgid="8746016738388094064">"Lagringsinställningar"</string>
+    <string name="storage_settings_summary" product="nosdcard" msgid="3543813623294870759">"Demontera USB-lagringsenheten och visa tillgängligt lagringsutrymme"</string>
+    <string name="storage_settings_summary" product="default" msgid="9176693537325988610">"Montera bort SD-kort, visa tillgängligt lagringsutrymme"</string>
     <string name="status_number" msgid="5123197324870153205">"Mitt telefonnummer"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
     <string name="status_prl_version" msgid="8499039751817386529">"PRL-version"</string>
@@ -514,24 +531,36 @@
     <string name="status_unavailable" msgid="7862009036663793314">"Inte tillgängligt"</string>
     <string name="status_up_time" msgid="7294859476816760399">"Tid sedan systemstart"</string>
     <string name="status_awake_time" msgid="2393949909051183652">"Aktiveringstid"</string>
-    <string name="internal_memory" msgid="1130932766236387454">"Intern telefonlagring"</string>
-    <string name="sd_memory" msgid="151871913888051515">"SD-kort"</string>
+    <string name="internal_memory" msgid="9129595691484260784">"Intern lagring"</string>
+    <string name="sd_memory" product="nosdcard" msgid="2510246194083052841">"USB-lagring"</string>
+    <string name="sd_memory" product="default" msgid="151871913888051515">"SD-kort"</string>
     <string name="memory_available" msgid="418542433817289474">"Tillgängligt utrymme"</string>
     <string name="memory_size" msgid="6629067715017232195">"Totalt utrymme"</string>
-    <string name="sd_eject" msgid="6915293408836853020">"Montera bort SD-kort"</string>
-    <string name="sd_eject_summary" msgid="3315557796211542962">"Montera bort SD-kortet för säker borttagning"</string>
-    <string name="sd_insert_summary" msgid="2048640010381803841">"Sätt in ett SD-kort för montering"</string>
-    <string name="sd_mount" msgid="5940523765187704135">"Montera SD-kort"</string>
-    <string name="sd_mount_summary" msgid="4936591681679097699">"Montera SD-kortet"</string>
-    <string name="sd_format" msgid="5448738337382712203">"Formatera SD-kort"</string>
-    <string name="sd_format_summary" msgid="6616491027883134004">"Formatera (radera) SD-kortet"</string>
+    <string name="sd_eject" product="default" msgid="6915293408836853020">"Montera bort SD-kort"</string>
+    <string name="sd_eject_summary" product="nosdcard" msgid="5009296896648072891">"Demontera intern USB-lagring"</string>
+    <string name="sd_eject_summary" product="default" msgid="3300599435073550246">"Demontera SD-kortet för säker borttagning"</string>
+    <string name="sd_insert_summary" product="nosdcard" msgid="5264016886409577313">"Sätt i USB om du vill montera"</string>
+    <string name="sd_insert_summary" product="default" msgid="2048640010381803841">"Sätt in ett SD-kort för montering"</string>
+    <string name="sd_mount" product="nosdcard" msgid="8966695015677343116">"Sätt i USB-enheten"</string>
+    <string name="sd_mount" product="default" msgid="5940523765187704135">"Montera SD-kort"</string>
+    <!-- outdated translation 6733254203291665551 -->     <string name="sd_mount_summary" product="nosdcard" msgid="1794150364965145726">"Demontera intern USB-lagring"</string>
+    <string name="sd_mount_summary" product="default" msgid="4936591681679097699">"Montera SD-kortet"</string>
+    <string name="sd_format" product="nosdcard" msgid="2148179271623099054">"Radera USB-lagring"</string>
+    <string name="sd_format" product="default" msgid="2576054280507119870">"Radera SD-kort"</string>
+    <string name="sd_format_summary" product="nosdcard" msgid="1504606546865152514">"Raderar alla data på telefonens interna USB-lagring, som musik och foton."</string>
+    <string name="sd_format_summary" product="default" msgid="915849621390821841">"Raderar alla data på telefonens SD-kort, som musik och foton"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"Inte tillgängligt"</string>
     <string name="read_only" msgid="6702420168629076340">" (Skrivskyddad)"</string>
-    <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"Montera bort SD-kort"</string>
-    <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"Om du monterar bort SD-kortet avbryts några av de program som körs och de kanske inte blir tillgängliga igen förrän du monterar tillbaka SD-kortet."</string>
-    <string name="dlg_error_unmount_title" msgid="4004106918266783081">"Det gick inte att montera bort SD-kort"</string>
-    <string name="dlg_error_unmount_text" msgid="9188972789897713180">"Det går inte att montera bort SD-kort. Försök senare."</string>
-    <string name="unmount_inform_text" msgid="3213378327712151498">"SD-kortet monteras bort. Aktuell status visas i meddelandeområdet."</string>
+    <string name="dlg_confirm_unmount_title" product="nosdcard" msgid="2349876662428231297">"Demontera USB-enhet"</string>
+    <string name="dlg_confirm_unmount_title" product="default" msgid="8612140627310646730">"Montera bort SD-kort"</string>
+    <string name="dlg_confirm_unmount_text" product="nosdcard" msgid="3390169455621185223">"Om du demonterar USB-lagringsenheten avbryts några av de program som körs och de kanske inte blir tillgängliga igen förrän du monterar tillbaka USB-enheten."</string>
+    <string name="dlg_confirm_unmount_text" product="default" msgid="5851214273718817727">"Om du monterar bort SD-kortet avbryts några av de program som körs och de kanske inte blir tillgängliga igen förrän du monterar tillbaka SD-kortet."</string>
+    <string name="dlg_error_unmount_title" product="nosdcard" msgid="7695491947411836733">"USB-enheten har ej demonterats"</string>
+    <string name="dlg_error_unmount_title" product="default" msgid="4004106918266783081">"Det gick inte att montera bort SD-kort"</string>
+    <string name="dlg_error_unmount_text" product="nosdcard" msgid="1450864147013376592">"Det går inte att demontera USB-lagringsenheten. Försök igen senare."</string>
+    <string name="dlg_error_unmount_text" product="default" msgid="9188972789897713180">"Det går inte att montera bort SD-kort. Försök senare."</string>
+    <string name="unmount_inform_text" product="nosdcard" msgid="7120241136790744265">"USB-lagringsenheten demonteras."</string>
+    <string name="unmount_inform_text" product="default" msgid="1904212716075458402">"Delad lagringsenhet monteras bort."</string>
     <string name="sd_ejecting_title" msgid="8824572198034365468">"Monterar bort"</string>
     <string name="sd_ejecting_summary" msgid="2028753069184908491">"Monterar bort"</string>
     <string name="battery_status_title" msgid="9159414319574976203">"Batteristatus"</string>
@@ -571,21 +600,32 @@
     <string name="restore_default_apn_completed" msgid="3990449939234957281">"Återställning av standardinställningar för APN har slutförts"</string>
     <string name="master_clear_title" msgid="5907939616087039756">"Återställ standardinst."</string>
     <string name="master_clear_summary" msgid="4986154238001088492">"Raderar alla data på telefonen"</string>
-    <string name="master_clear_desc" msgid="7823268823499739178">"Detta tar bort alla data från telefonen, inklusive: "\n<li>"Ditt Google-konto"</li>\n<li>"Data och inställningar för system och program"</li>\n<li>"Hämtade program"</li>\n"Det tar inte bort:"\n<li>"Aktuell systemprogramvara och medföljande program"</li>\n<li>"Filer på SD-kortet, som musik eller bilder"</li></string>
+    <string name="master_clear_desc" product="nosdcard" msgid="2163013814299528247">"Alla data på telefonens "<b>"interna lagring"</b>" raderas, inklusive:"\n\n<li>"ditt Google-konto"</li>\n<li>"system- och programdata och inställningar"</li>\n<li>"hämtade appar"</li>\n\n"Om du vill ta bort alla data från telefonen måste du radera "<b>"USB-lagringsenheten"</b>"."\n\n</string>
+    <string name="master_clear_desc" product="default" msgid="1741944496458365969">"Alla data på telefonens "<b>"interna lagring"</b>" raderas, inklusive:"\n\n<li>"ditt Google-konto"</li>\n<li>"system- och programdata"</li>\n<li>"hämtade appar"</li>\n\n"Om du även vill ta bort musik, bilder och andra användardata måste du radera "<b>"SD-kortet"</b>"."\n\n</string>
+    <string name="erase_external_storage" product="nosdcard" msgid="969364037450286809">"Radera USB-lagring"</string>
+    <string name="erase_external_storage" product="default" msgid="1397239046334307625">"Radera SD-kort"</string>
+    <string name="erase_external_storage_description" product="nosdcard" msgid="1657838142707381027">"Radera alla data på telefonens interna USB-lagring, som musik och foton."</string>
+    <string name="erase_external_storage_description" product="default" msgid="8100175974635894073">"Radera alla data på telefonens SD-kort, som musik och foton."</string>
     <string name="master_clear_button_text" msgid="7550632653343157971">"Återställ telefonen"</string>
     <string name="master_clear_final_desc" msgid="6917971132484622696">"Vill du ta bort all personlig information och alla hämtade program? Det går inte att ångra åtgärden!"</string>
     <string name="master_clear_final_button_text" msgid="5390908019019242910">"Radera allt"</string>
     <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Rita ditt grafiska lösenord"</string>
     <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"Du måste rita ditt grafiska lösenord om du vill återställa telefonen."</string>
     <string name="master_clear_failed" msgid="8655202125010189406">"Återställningen utfördes inte eftersom tjänsten för systemrensning inte är tillgänglig."</string>
-    <string name="media_format_title" msgid="4671276096695789895">"Formatera SD-kort"</string>
-    <string name="media_format_summary" msgid="3805714639375830120">"Tar bort alla data på SD-kortet"</string>
-    <string name="media_format_desc" msgid="1142563222357820834">"Den här åtgärden raderar SD-kortet i telefonen. ALLA data på kortet försvinner!"</string>
-    <string name="media_format_button_text" msgid="370856400090190151">"Formatera SD-kort"</string>
-    <string name="media_format_final_desc" msgid="1776666694910717198">"Formatera SD-kort, radera alla mediafiler? Åtgärden kan inte ångras!"</string>
+    <string name="media_format_title" product="nosdcard" msgid="3999653431422767156">"Radera USB-lagring"</string>
+    <string name="media_format_title" product="default" msgid="4427528440306787972">"Radera SD-kort"</string>
+    <string name="media_format_summary" product="nosdcard" msgid="776603298628082065">"Raderar allt på USB-enheten"</string>
+    <string name="media_format_summary" product="default" msgid="3805714639375830120">"Tar bort alla data på SD-kortet"</string>
+    <string name="media_format_desc" product="nosdcard" msgid="4553860683952763905">"Åtgärden raderar USB-lagringsenheten. Du förlorar "<b>"alla"</b>" data som sparats där."</string>
+    <string name="media_format_desc" product="default" msgid="1598627584181935513">"Den här åtgärden raderar SD-kortet. "<b>"Alla"</b>"data på kortet försvinner."</string>
+    <string name="media_format_button_text" product="nosdcard" msgid="6293669371185352810">"Radera USB-lagring"</string>
+    <string name="media_format_button_text" product="default" msgid="6721544380069373626">"Radera SD-kort"</string>
+    <string name="media_format_final_desc" product="nosdcard" msgid="8094635533378487255">"Radera USB-lagringsenheten och ta bort alla filer? Åtgärden kan inte ångras."</string>
+    <string name="media_format_final_desc" product="default" msgid="9015504991522581434">"Radera SD-kort och alla filer på kortet? Åtgärden kan inte ångras!"</string>
     <string name="media_format_final_button_text" msgid="4881713344315923175">"Radera allt"</string>
     <string name="media_format_gesture_prompt" msgid="3109349468816856670">"Rita ditt grafiska lösenord"</string>
-    <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Du måste rita ditt grafiska lösenord för att bekräfta formateringen av SD-kortet."</string>
+    <string name="media_format_gesture_explanation" product="nosdcard" msgid="1379736318750958338">"Du måste rita ditt grafiska lösenord om du vill bekräfta formateringen av USB-lagringsenheten."</string>
+    <string name="media_format_gesture_explanation" product="default" msgid="1681213416497647321">"Du måste rita ditt grafiska lösenord om du vill bekräfta formateringen av SD-kortet."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Samtalsinställningar"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Ställ in röstbrevlåda, vidarebefordra samtal, samtal väntar, nummerpres."</string>
     <string name="tether_settings_title_usb" msgid="4315031513434087777">"Internetdelning"</string>
@@ -609,7 +649,7 @@
     <string name="location_networks_disabled" msgid="2708968452901433980">"Se plats i programmen (till exempel kartor) med hjälp av trådlösa nätverk"</string>
     <string name="location_neighborhood_level" msgid="4656658097932515921">"Plats fastställs av Wi-Fi och/eller mobila nätverk"</string>
     <string name="location_gps" msgid="6296125378829097831">"Använd GPS-satelliter"</string>
-    <string name="location_street_level" msgid="6460740847018275745">"Hittar till gatunivå när du söker (avmarkera om du vill spara batteri)"</string>
+    <string name="location_street_level" msgid="7456259025474443314">"Korrekt på gatunivå när du söker"</string>
     <string name="location_gps_disabled" msgid="6632537158777308128">"Hitta till gatunivå (kräver mer batteri och fungerar endast utomhus)"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"Använd assisterad GPS"</string>
     <string name="assisted_gps_enabled" msgid="8751899609589792803">"Använd servern för att förbättra GPS-funktionen (avmarkera om du vill minska nätverksbelastningen)"</string>
@@ -692,22 +732,31 @@
     <string name="application_size_label" msgid="5055196275624686382">"Program"</string>
     <string name="data_size_label" msgid="8679376373625710107">"Data"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Avinstallera"</string>
+    <string name="disable_text" msgid="6544054052049395202">"Inaktivera"</string>
+    <string name="enable_text" msgid="9217362512327828987">"Aktivera"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Rensa data"</string>
     <string name="app_factory_reset" msgid="6635744722502563022">"Avinstallera uppdateringar"</string>
     <string name="auto_launch_enable_text" msgid="2630656657744196691">"Du har valt att starta detta program som standard för vissa åtgärder."</string>
     <string name="auto_launch_disable_text" msgid="7800385822185540166">"Inga standardinställningar har angetts."</string>
     <string name="clear_activities" msgid="7408923511535174430">"Rensa standardinställn."</string>
     <string name="unknown" msgid="1592123443519355854">"Okänd"</string>
-    <string name="sort_order_alpha" msgid="8622029358896599842">"Sortera"</string>
+    <string name="sort_order_alpha" msgid="1410278099123670628">"Sortera efter namn"</string>
     <string name="sort_order_size" msgid="7024513286636502362">"Sortera efter storlek"</string>
+    <string name="show_running_services" msgid="5736278767975544570">"Visa tjänster som körs"</string>
+    <string name="show_background_processes" msgid="2009840211972293429">"Visa cachade processer"</string>
     <string name="manage_space_text" msgid="8852711522447794676">"Hantera utrymme"</string>
     <string name="filter" msgid="2018011724373033887">"Filtrera"</string>
     <string name="filter_dlg_title" msgid="6507663329723966854">"Välj filteralternativ"</string>
     <string name="filter_apps_all" msgid="5142129378749391876">"Alla"</string>
     <string name="filter_apps_third_party" msgid="7786348047690140979">"Hämtade"</string>
     <string name="filter_apps_running" msgid="7767071454371350486">"Kör"</string>
-    <string name="filter_apps_onsdcard" msgid="1477351142334784771">"På SD-kort"</string>
-    <string name="loading" msgid="3200408047793887917">"Läser in…"</string>
+    <string name="filter_apps_onsdcard" product="nosdcard" msgid="4843063154701023349">"USB-lagring"</string>
+    <string name="filter_apps_onsdcard" product="default" msgid="1477351142334784771">"På SD-kort"</string>
+    <string name="disabled" msgid="9206776641295849915">"Inaktiverat"</string>
+    <string name="no_applications" msgid="5190227407135243904">"Inga program."</string>
+    <string name="internal_storage" msgid="1584700623164275282">"Intern lagring"</string>
+    <string name="sd_card_storage" product="nosdcard" msgid="2673203150465132465">"USB-lagring"</string>
+    <string name="sd_card_storage" product="default" msgid="7623513618171928235">"SD-kortslagring"</string>
     <string name="recompute_size" msgid="7722567982831691718">"Räknar om storlek…"</string>
     <string name="clear_data_dlg_title" msgid="4470209520936375508">"Radera"</string>
     <string name="clear_data_dlg_text" msgid="8368035073300828451">"Alla programmets data tas bort permanent. Det inkluderar alla filer, inställningar, konton, databaser och så vidare."</string>
@@ -727,7 +776,8 @@
     <string name="version_text" msgid="9189073826278676425">"version <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5042838441401731346">"Flytta"</string>
     <string name="move_app_to_internal" msgid="3895430471913858185">"Flytta till telefon"</string>
-    <string name="move_app_to_sdcard" msgid="1143379049903056407">"Flytta till SD-kort"</string>
+    <string name="move_app_to_sdcard" product="nosdcard" msgid="4350451696315265420">"Flytta till USB-enhet"</string>
+    <string name="move_app_to_sdcard" product="default" msgid="1143379049903056407">"Flytta till SD-kort"</string>
     <string name="moving" msgid="6431016143218876491">"Flyttar"</string>
     <string name="insufficient_storage" msgid="8566913062094452962">"Det finns inte tillräckligt med ledigt minne."</string>
     <string name="does_not_exist" msgid="837163572898468245">"Programmet finns inte."</string>
@@ -735,29 +785,49 @@
     <string name="invalid_location" msgid="4934491353200240499">"Den angivna installationsplatsen är inte giltig."</string>
     <string name="system_package" msgid="1030561474413022831">"Det går inte att installera systemuppdateringar på externa media."</string>
     <string name="force_stop_dlg_title" msgid="4289453224368188476">"Tvingad avslutning"</string>
-    <string name="force_stop_dlg_text" msgid="3381302041569982075">"Programmet kommer att startas direkt. Vill du framtvinga avslutning?"</string>
+    <string name="force_stop_dlg_text" msgid="5157374701213502922">"Om du tvingar ett program att avslutas kan det uppstå fel. Är du säker?"</string>
     <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Flytta program"</string>
     <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Det gick inte att flytta program. <xliff:g id="REASON">%1$s</xliff:g>"</string>
     <string name="app_install_location_title" msgid="2068975150026852168">"Önskad installationsplats"</string>
     <string name="app_install_location_summary" msgid="879753854530300436">"Ändra önskad installationsplats för nya program."</string>
+    <string name="storageuse_settings_title" msgid="5657014373502630403">"Använt utrymme"</string>
+    <string name="storageuse_settings_summary" msgid="2556057379120846792">"Visa lagring som används av program"</string>
     <string name="runningservices_settings_title" msgid="8097287939865165213">"Aktiva tjänster"</string>
     <string name="runningservices_settings_summary" msgid="854608995821032748">"Visa och styr aktiva tjänster"</string>
     <string name="service_restarting" msgid="2242747937372354306">"Startar om"</string>
-    <string name="no_running_services" msgid="6981216347270280598">"Det finns inga aktiva tjänster"</string>
-    <string name="confirm_stop_service" msgid="5700448757318301681">"Vill du avbryta tjänsten?"</string>
-    <string name="confirm_stop_service_msg" msgid="1166661293369421272">"Den här tjänsten körs inte igen förrän du startar om den. Den kan ha oönskad effekt på programmet <xliff:g id="APPLICATION">%1$s</xliff:g>."</string>
-    <string name="confirm_stop_stop" msgid="7382363913280993331">"Stopp"</string>
-    <string name="confirm_stop_cancel" msgid="206495326622692381">"Avbryt"</string>
-    <string name="service_started_by_app" msgid="8432097226392386802">"Startades av ett program: tryck om du vill avbryta"</string>
-    <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: tryck om du vill hantera"</string>
-    <string name="service_background_processes" msgid="5158600475629177758">"Tillg.: <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g> i <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_foreground_processes" msgid="4013890350284680796">"Övriga: <xliff:g id="MEMORY">%2$s</xliff:g> i <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_process_name" msgid="8630408984456958400">"Process: <xliff:g id="PROCESS">%1$s</xliff:g>"</string>
+    <string name="cached" msgid="1059590879740175019">"Cachade bakgrundsprocesser"</string>
+    <string name="no_running_services" msgid="2059536495597645347">"Inget körs."</string>
+    <string name="service_started_by_app" msgid="6575184738671598131">"Startades av ett program."</string>
+    <!-- no translation found for service_client_name (4037193625611815517) -->
+    <skip />
+    <string name="service_background_processes" msgid="6844156253576174488">"<xliff:g id="MEMORY">%1$s</xliff:g> led."</string>
+    <string name="service_foreground_processes" msgid="7583975676795574276">"<xliff:g id="MEMORY">%1$s</xliff:g> anv."</string>
+    <string name="memory" msgid="6609961111091483458">"RAM"</string>
+    <!-- no translation found for service_process_name (4098932168654826656) -->
+    <skip />
+    <string name="running_processes_item_description_s_s" msgid="5790575965282023145">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> process och <xliff:g id="NUMSERVICES">%2$d</xliff:g> tjänst"</string>
+    <string name="running_processes_item_description_s_p" msgid="8019860457123222953">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> process och <xliff:g id="NUMSERVICES">%2$d</xliff:g> tjänster"</string>
+    <string name="running_processes_item_description_p_s" msgid="744424668287252915">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processer och <xliff:g id="NUMSERVICES">%2$d</xliff:g> tjänst"</string>
+    <string name="running_processes_item_description_p_p" msgid="1607384595790852782">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> processer och <xliff:g id="NUMSERVICES">%2$d</xliff:g> tjänster"</string>
+    <string name="runningservicedetails_settings_title" msgid="6188692418986988288">"Program som körs"</string>
+    <string name="no_services" msgid="7133900764462288263">"Inte aktiv"</string>
+    <string name="runningservicedetails_services_title" msgid="391168243725357375">"Tjänster"</string>
+    <string name="runningservicedetails_processes_title" msgid="928115582044655268">"Processer"</string>
+    <string name="service_stop" msgid="6369807553277527248">"Stoppa"</string>
+    <string name="service_manage" msgid="1876642087421959194">"Inställningar"</string>
+    <string name="service_stop_description" msgid="3261798282116866961">"Tjänsten startades av programmet. Om du avbryter den kan det bli fel i programmet."</string>
+    <string name="heavy_weight_stop_description" msgid="6855241582643136019">"Programmet kan inte stängas av på ett säkert sätt. Om du stänger av det kan ditt arbete gå förlorat."</string>
+    <string name="background_process_stop_description" msgid="1728354083304746737">"Detta är en gammal programprocess som sparats för eventuella framtida behov. Det finns ingen anledning att avsluta den."</string>
+    <string name="service_manage_description" msgid="7050092269951613102">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g> används just nu. Tryck på Inställningar om du vill styra det."</string>
+    <string name="main_running_process_description" msgid="929204645380391397">"Huvudprocess som används."</string>
+    <string name="process_service_in_use_description" msgid="8993335064403217080">"Tjänsten <xliff:g id="COMP_NAME">%1$s</xliff:g> används."</string>
+    <string name="process_provider_in_use_description" msgid="5586603325677678940">"Leverantören <xliff:g id="COMP_NAME">%1$s</xliff:g> används."</string>
+    <string name="runningservicedetails_stop_dlg_title" msgid="4253292537154337233">"Avsluta systemtjänst?"</string>
+    <string name="runningservicedetails_stop_dlg_text" msgid="6929716497425738387">"Är du säker på att du vill avsluta systemtjänsten? Vissa funktioner på telefonen kan sluta fungera och du måste eventuellt stänga av telefonen och starta om den igen för att åtgärda problemet."</string>
     <string name="language_settings" msgid="502219872342167227">"Språk och tangentbord"</string>
     <string name="language_keyboard_settings_title" msgid="3455826933385341107">"Inställningar för språk och tangentbord"</string>
-    <string name="language_settings_summary" msgid="595647729475399987">"Ställ in alternativ för språkkod (land och område), textinmatning och autokorrigering"</string>
-    <string name="language_category" msgid="3391756582724541530">"Språkkodsinställningar"</string>
-    <string name="text_category" msgid="6342540511465136739">"Textinställningar"</string>
+    <string name="language_settings_category" msgid="2288258489940617043">"Språkinställningar"</string>
+    <string name="keyboard_settings_category" msgid="7060453865544070642">"Tangentbordsinställningar"</string>
     <string name="phone_language" msgid="1165758957501090679">"Välj språk"</string>
     <string name="phone_language_summary" msgid="3871309445655554211"></string>
     <string name="auto_replace" msgid="6199184757891937822">"Ersätt automatiskt"</string>
@@ -782,7 +852,6 @@
     <string name="testing" msgid="6584352735303604146">"Testa"</string>
     <string name="testing_phone_info" msgid="8656693364332840056">"Telefoninformation"</string>
     <string name="testing_battery_info" msgid="3497865525976497848">"Batteriinformation"</string>
-    <string name="testing_battery_history" msgid="3043329445810695647">"Batterihistorik"</string>
     <string name="quick_launch_title" msgid="7904609846945905306">"Snabbstart"</string>
     <string name="quick_launch_summary" msgid="3453825712466417452">"Ställ in kortkommandon för att starta program"</string>
     <string name="quick_launch_assign_application" msgid="4521368464929956350">"Tilldela program"</string>
@@ -798,8 +867,8 @@
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Hantera textinmatningsalternativ"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"<xliff:g id="IME_NAME">%1$s</xliff:g>-inställningar"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Inställningar för tangentbordet på skärmen"</string>
-    <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"Enhetens tangentbord"</string>
-    <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"Inställningar för inbyggt tangentbord"</string>
+    <string name="builtin_keyboard_settings_title" msgid="5274990495405941804">"Inbyggt tangentbord"</string>
+    <string name="builtin_keyboard_settings_summary" msgid="7990296351888096836">"Inställningar för inbyggt, fysiskt tangentbord"</string>
     <string name="development_settings_title" msgid="6719732334835420989">"Utveckling"</string>
     <string name="development_settings_summary" msgid="2151320488701538355">"Ange alternativ för programutveckling"</string>
     <string name="enable_adb" msgid="7982306934419797485">"USB-felsökning"</string>
@@ -812,36 +881,10 @@
     <string name="adb_warning_message" msgid="5352555112049663033">"USB-felsökning ska endast användas i utvecklingssyfte. Felsökningen kan användas för att kopiera data mellan datorn och enheten, installera program på enheten utan avisering och läsa loggdata."</string>
     <string name="gadget_picker_title" msgid="98374951396755811">"Välj gadget"</string>
     <string name="widget_picker_title" msgid="9130684134213467557">"Välj widget"</string>
-    <string name="battery_history_details_for" msgid="5924639922153109669">"Information för användar-ID <xliff:g id="NUMBER">%d</xliff:g>"</string>
-    <string name="battery_history_uid" msgid="1016606150528436298">"Användar-id <xliff:g id="USER_ID">%1$d</xliff:g>"</string>
-    <string name="battery_history_network_usage" msgid="8010852371665217020">"Information om nätverksanvändning för <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_bytes_received" msgid="980307569180518302">"Mottagna bytes: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_sent" msgid="2501748768602119159">"Skickade bytes: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_total" msgid="4444807574361642753">"Totalt antal byte: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_cpu_usage" msgid="2597353713014790877">"Information om CPU-användning för <xliff:g id="APP_NAME">%1$s</xliff:g>:"</string>
-    <string name="battery_history_user_time" msgid="6227507614894791359">"Användartid"</string>
-    <string name="battery_history_system_time" msgid="2015862072724507547">"Systemtid:"</string>
-    <string name="battery_history_total_time" msgid="3618703970098556104">"Total tid:"</string>
-    <string name="battery_history_starts" msgid="9137453931978571696">"Startar: <xliff:g id="STARTS">%1$d</xliff:g>"</string>
     <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g> d <xliff:g id="HOURS">%2$d</xliff:g> h <xliff:g id="MINUTES">%3$d</xliff:g> m <xliff:g id="SECONDS">%4$d</xliff:g> s"</string>
     <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g> h <xliff:g id="MINUTES">%2$d</xliff:g> m <xliff:g id="SECONDS">%3$d</xliff:g> s"</string>
     <string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g> m <xliff:g id="SECONDS">%2$d</xliff:g> s"</string>
     <string name="battery_history_seconds" msgid="4283492130945761685">"<xliff:g id="SECONDS">%1$d</xliff:g>s"</string>
-    <string name="battery_history_packages_sharing_this_uid" msgid="4101596071379250050">"Paket som delar denna UID:"</string>
-    <string name="battery_history_no_data" msgid="1177238743237067617">"Ingen information om batterianvändning är tillgänglig"</string>
-    <string name="battery_history_sensor" msgid="2333488996028993982">"Sensor:"</string>
-    <string name="battery_history_wakelock" msgid="608683447522396293">"Delaktiveringslås:"</string>
-    <string name="battery_history_used_by_packages" msgid="3000711380023436470">"Sensor som används av paket:"</string>
-    <string name="battery_history_sensor_usage" msgid="3593133338613209024">"Har använts <xliff:g id="COUNT">%1$d</xliff:g> gånger av <xliff:g id="PACKAGE">%2$s</xliff:g>"</string>
-    <string name="battery_history_sensor_usage_multi" msgid="4536084375991014508">"Har använts <xliff:g id="COUNT">%1$d</xliff:g> gånger av en av:"</string>
-    <string name="battery_history_awake_label" msgid="8449792868990080882">"Kör"</string>
-    <string name="battery_history_screen_on_label" msgid="1848936521786339362">"Skärm på"</string>
-    <string name="battery_history_phone_on_label" msgid="700191958853142297">"Telefon på"</string>
-    <string name="battery_history_awake" msgid="4350886665719031057">"Tid som har tillbringats utan vilotid:"</string>
-    <string name="battery_history_screen_on" msgid="1377240025275657277">"Tid då skärmen har varit aktiverad:"</string>
-    <string name="battery_history_phone_on" msgid="4891504401623839532">"Tid då telefonen har varit aktiverad:"</string>
-    <string name="battery_history_screen_on_battery" msgid="536058210445081888">"På batteri:"</string>
-    <string name="battery_history_screen_on_plugged" msgid="5019127390021871260">"Inkopplad:"</string>
     <string name="usage_stats_label" msgid="5890846333487083609">"Användningsstatistik"</string>
     <string name="testing_usage_stats" msgid="7823048598893937339">"Användningsstatistik"</string>
     <string name="display_order_text" msgid="8592776965827565271">"Sortera efter"</string>
@@ -865,12 +908,19 @@
     <string name="power_usage_summary" msgid="7237084831082848168">"Program som har förbrukat batteriet"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Batteriförbrukning sedan bortkoppling"</string>
     <string name="battery_since_reset" msgid="7464546661121187045">"Batteriförbrukning sedan återställning"</string>
+    <string name="battery_stats_on_battery" msgid="4970762168505236033">"<xliff:g id="TIME">%1$s</xliff:g> på batteri"</string>
     <string name="battery_stats_duration" msgid="7464501326709469282">"<xliff:g id="TIME">%1$s</xliff:g> sedan bortkoppling"</string>
+    <string name="battery_stats_charging_label" msgid="4223311142875178785">"Laddar"</string>
+    <string name="battery_stats_screen_on_label" msgid="7150221809877509708">"Skärm på"</string>
+    <string name="battery_stats_gps_on_label" msgid="1193657533641951256">"GPS på"</string>
+    <string name="battery_stats_wifi_running_label" msgid="3093545080361658269">"WiFi"</string>
+    <string name="battery_stats_wake_lock_label" msgid="1908942681902324095">"Aktiv"</string>
+    <string name="battery_stats_phone_signal_label" msgid="6822042940376636775">"Telefonsignal"</string>
     <!-- no translation found for battery_stats_last_duration (1535831453827905957) -->
     <skip />
     <string name="awake" msgid="387122265874485088">"Aktiv tid för enheten"</string>
-    <string name="wifi_on_time" msgid="4630925382578609056">"WiFi på sedan"</string>
-    <string name="bluetooth_on_time" msgid="4478515071957280711">"WiFi på sedan"</string>
+    <string name="wifi_on_time" msgid="6310209835617490616">"WiFi i tid"</string>
+    <string name="bluetooth_on_time" msgid="6157799524996162271">"WiFi i tid"</string>
     <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g> -  <xliff:g id="NUMBER">%2$s</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
     <string name="details_title" msgid="7564809986329021063">"Information om batteriförbrukning"</string>
     <string name="details_subtitle" msgid="32593908269911734">"Information om användning"</string>
@@ -884,7 +934,9 @@
     <string name="power_idle" msgid="9055659695602194990">"Telefonen är inaktiv"</string>
     <string name="usage_type_cpu" msgid="715162150698338714">"CPU totalt"</string>
     <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"CPU i förgrunden"</string>
+    <string name="usage_type_wake_lock" msgid="5125438890233677880">"Behåll aktiv"</string>
     <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string>
+    <string name="usage_type_wifi_running" msgid="8234997940652067049">"WiFi körs"</string>
     <string name="usage_type_phone" msgid="9108247984998041853">"Telefon"</string>
     <string name="usage_type_data_send" msgid="2857401966985425427">"Skickade data"</string>
     <string name="usage_type_data_recv" msgid="7251090882025234185">"Mottagna data"</string>
@@ -896,7 +948,7 @@
     <string name="battery_action_app_details" msgid="3275013531871113681">"Programinformation"</string>
     <string name="battery_action_app_settings" msgid="350562653472577250">"Programinställningar"</string>
     <string name="battery_action_display" msgid="5302763261448580102">"Skärminställningar"</string>
-    <string name="battery_action_wifi" msgid="5452076674659927993">"WiFi-inställningar"</string>
+    <string name="battery_action_wifi" msgid="2272741639606146903">"WiFi-inställningar"</string>
     <string name="battery_action_bluetooth" msgid="8374789049507723142">"Bluetooth-inställningar"</string>
     <string name="battery_desc_voice" msgid="8980322055722959211">"Batteri som förbrukats av röstsamtal"</string>
     <string name="battery_desc_standby" msgid="3009080001948091424">"Batteri som förbrukas när telefonen är inaktiv"</string>
@@ -909,9 +961,9 @@
     <string name="battery_desc_bluetooth" msgid="7535520658674621902">"Batteri som förbrukats av Bluetooth"</string>
     <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"Inaktivera Bluetooth när du inte använder funktionen"</string>
     <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"Försök ansluta till en annan Bluetooth-enhet"</string>
-    <string name="battery_desc_apps" msgid="8123202939321333639">"Batteri som förbrukats av program som körs"</string>
+    <string name="battery_desc_apps" msgid="6665712811746233450">"Batteri som förbrukats av programmet"</string>
     <string name="battery_sugg_apps_info" msgid="6065882899391322442">"Avsluta eller avinstallera programmet"</string>
-    <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"Inaktivera GPS när det inte används"</string>
+    <string name="battery_sugg_apps_gps" msgid="4545056413090932541">"Kontrollera GPS manuellt så att inte programmet kan använda funktionen"</string>
     <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"Programmet erbjuder eventuellt inställningar som minskar batteriförbrukningen"</string>
     <string name="menu_stats_unplugged" msgid="8296577130840261624">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> sedan bortkoppling"</string>
     <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"Sedan senaste bortkoppling <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
@@ -961,6 +1013,8 @@
     <string name="pico_not_installed" msgid="6266845418419994311">"Inte installerad"</string>
     <string name="pico_voice_summary_female" msgid="8047327176247727492">"Kvinna"</string>
     <string name="pico_voice_summary_male" msgid="8331266854058577610">"Man"</string>
+    <string name="tts_notif_engine_install_title" msgid="7000346872482649034">"Talsyntesmotor installerad"</string>
+    <string name="tts_notif_engine_install_message" msgid="5304661142202662693">"Aktivera ny motor före användning"</string>
     <string name="gadget_title" msgid="7455548605888590466">"Strömkontroll"</string>
     <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Uppdaterar Wi-Fi-inställningar"</string>
     <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Uppdatera Bluetooth-inställningar"</string>
@@ -978,7 +1032,7 @@
     <string name="vpn_mistake_button" msgid="1683383660912491270">"Nej"</string>
     <string name="vpn_menu_done" msgid="93528279226907926">"Spara"</string>
     <string name="vpn_menu_cancel" msgid="7234451214611202868">"Avbryt"</string>
-    <string name="vpn_menu_revert" msgid="4407762442281467659">"Återgå"</string>
+    <string name="vpn_menu_revert" msgid="4407762442281467659">"Tillbaka"</string>
     <string name="vpn_menu_connect" msgid="1089399414463784218">"Anslut till nätverk"</string>
     <string name="vpn_menu_disconnect" msgid="8254492450022562235">"Koppla ifrån nätverket"</string>
     <string name="vpn_menu_edit" msgid="4526245173583195618">"Redigera nätverk"</string>
@@ -1047,8 +1101,10 @@
     <string name="credentials_access_summary" msgid="319662078718574168">"Tillåt att program får åtkomst till säkra certifikat och andra uppgifter"</string>
     <string name="credentials_unlock" msgid="1463040326264133844">"Ange lösenord"</string>
     <string name="credentials_unlock_hint" msgid="594679530407918031">"Ange lösenord för lagring av uppgifter."</string>
-    <string name="credentials_install_certificates" msgid="177337517568022236">"Installera från SD-kort"</string>
-    <string name="credentials_install_certificates_summary" msgid="7737001268684193093">"Installera krypterade certifikat från SD-kort"</string>
+    <string name="credentials_install_certificates" product="nosdcard" msgid="619171634797689906">"Installera från USB-enhet"</string>
+    <string name="credentials_install_certificates" product="default" msgid="177337517568022236">"Installera från SD-kort"</string>
+    <string name="credentials_install_certificates_summary" product="nosdcard" msgid="8920330112631198575">"Installera krypterade certifikat från USB-enhet"</string>
+    <string name="credentials_install_certificates_summary" product="default" msgid="7737001268684193093">"Installera krypterade certifikat från SD-kort"</string>
     <string name="credentials_set_password" msgid="9104473585811899989">"Ange lösenord"</string>
     <string name="credentials_set_password_summary" msgid="8287876917562085701">"Ange eller ändra lösenord för uppgiftslagring"</string>
     <string name="credentials_reset" msgid="9170150870552453457">"Rensa lagring"</string>
@@ -1068,6 +1124,16 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Uppgiftslagringen raderades."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Uppgiftslagring är aktiverat."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Uppgiftslagring har inaktiverats."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Krypterat filsystem"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Kryptera privata användardata"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Aktivera krypterat filsystemarkiv för privata användardata på den här enheten"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Aktivering av krypterade filsystem kräver datarensning på enheten."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Inaktivering av krypterade filsystem kräver datarensning på enheten."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Aktivera"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Inaktivera"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"Avbryt"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Lägesändringen för krypterat filsystem avbröts."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Varning: växling av krypterat filsystem."</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Nödsignal"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Ange beteende vid nödsamtal"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Sekretess"</string>
@@ -1075,11 +1141,11 @@
     <string name="backup_section_title" msgid="8856083167469467588">"Säkerhetskopiera och återställ"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Personliga data"</string>
     <string name="backup_data_title" msgid="1239105919852668016">"Säkerhetskopiera mina data"</string>
-    <string name="backup_data_summary" msgid="5662190190240860035">"Säkerhetskopiera mina inställningar och andra programdata."</string>
+    <string name="backup_data_summary" msgid="6515285107793232815">"Spara en säkerhetskopia av programdata, WiFi-lösenord och andra inställningar på Googles servrar"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Automatisk återställning"</string>
-    <string name="auto_restore_summary" msgid="6867766474057290177">"Om jag installerar om ett program eller återställer säkerhetskopierade inställningar eller data."</string>
+    <string name="auto_restore_summary" msgid="83177150536734378">"Om jag installerar om en app eller återställer säkerhetskopierade inställningar eller data"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Säkerhetskopia"</string>
-    <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Vill du avbryta säkerhetskopieringen av dina inställningar och programdata och radera alla kopior på Googles servrar?"</string>
+    <string name="backup_erase_dialog_message" msgid="7766283133557587608">"Vill du avbryta säkerhetskopieringen av dina WiFi-lösenord, bokmärken och andra inställningar och programdata och radera alla kopior på Googles servrar?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Inställningar för enhetsadministration"</string>
     <string name="active_device_admin_msg" msgid="6930903262612422111">"Enhetsadministratör"</string>
     <string name="remove_device_admin" msgid="3596845261596451437">"Inaktivera"</string>
diff --git a/res/values-tr/arrays.xml b/res/values-tr/arrays.xml
index 98d84d2..3749825 100644
--- a/res/values-tr/arrays.xml
+++ b/res/values-tr/arrays.xml
@@ -115,19 +115,6 @@
     <item msgid="1549288661423279207">"Takılı olduğunda hiçbir zaman"</item>
     <item msgid="1986753720941888596">"Hiçbir zaman"</item>
   </string-array>
-  <string-array name="battery_history_type_spinner">
-    <item msgid="2193799199027871385">"CPU kullanımı"</item>
-    <item msgid="6401018715947316517">"Ağ kullanımı"</item>
-    <item msgid="188092590354892392">"GPS kullanımı"</item>
-    <item msgid="8414109131222049141">"Algılayıcı kullanımı"</item>
-    <item msgid="1327904325081257093">"Kısmi uyandırma kullanımı"</item>
-    <item msgid="4832254146664706277">"Diğer kullanım"</item>
-  </string-array>
-  <string-array name="battery_history_which_spinner">
-    <item msgid="3451981114763440074">"Fişten son çekildikten itibaren"</item>
-    <item msgid="166936313535197598">"Açılıştan itibaren toplam"</item>
-    <item msgid="4793941382744963893">"Tüm zamanlardaki toplam"</item>
-  </string-array>
   <string-array name="usage_stats_display_order_types">
     <item msgid="9077371706468756228">"Kullanım Süresi"</item>
     <item msgid="1908750532762193304">"Sayımı Başlat"</item>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index c784665..b3f01a8 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -45,13 +45,16 @@
     <string name="radioInfo_display_asu" msgid="1422248392727818082">"asu"</string>
     <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string>
     <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string>
-    <string name="sdcard_unmount" msgid="3364184561355611897">"SD kartının bağlantısını kes"</string>
-    <string name="sdcard_format" msgid="362497552060004057">"SD kartı biçimlendir"</string>
+    <string name="sdcard_unmount" product="nosdcard" msgid="6325292633327972272">"USB dep brmnn bağln kes"</string>
+    <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"SD kartının bağlantısını kes"</string>
+    <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"USB depolama birimini sil"</string>
+    <string name="sdcard_format" product="default" msgid="6713185532039187532">"SD kartı sil"</string>
     <string name="small_font" msgid="2295331917424072635">"Küçük"</string>
     <string name="medium_font" msgid="2068475425515133701">"Ortam"</string>
     <string name="large_font" msgid="599055175160971446">"Büyük"</string>
     <string name="font_size_save" msgid="3450855718056759095">"Tamam"</string>
-    <string name="sdcard_setting" msgid="5922637503871474866">"SD kart"</string>
+    <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB depolama birimi"</string>
+    <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD kart"</string>
     <string name="battery_info_status_label" msgid="8109155295509700309">"Pil durumu:"</string>
     <string name="battery_info_power_label" msgid="7465140230991349382">"Güç fişi:"</string>
     <string name="battery_info_scale_label" msgid="3649763192389778437">"Pil skalası:"</string>
@@ -180,27 +183,34 @@
     <string name="sdcard_changes_instructions" msgid="1364712901180556244">"Değişiklikler USB kablosu bağlandığında devreye girer"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"USB yığın depolamasını etkinleştir"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"Toplam bayt sayısı:"</string>
-    <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"SD kart yok"</string>
+    <string name="sdcard_settings_not_present_status" product="nosdcard" msgid="2902787003418172125">"USB deplm birimi bağlı değil"</string>
+    <string name="sdcard_settings_not_present_status" product="default" msgid="6666688653496819947">"SD kart yok"</string>
     <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"Kullanılabilir bayt:"</string>
-    <string name="sdcard_settings_mass_storage_status" msgid="4786433969313661655">"SD kart, yığın depolama cihazı olarak kullanılıyor"</string>
-    <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"SD kart şimdi güvenli olarak çıkarılabilir"</string>
-    <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"SD kart kullanılırken çıkarıldı!"</string>
+    <string name="sdcard_settings_mass_storage_status" product="nosdcard" msgid="2736378870889777857">"USB dep brmi, yığın dep cihazı olarak kullanılıyor"</string>
+    <string name="sdcard_settings_mass_storage_status" product="default" msgid="4786433969313661655">"SD kart, yığın depolama cihazı olarak kullanılıyor"</string>
+    <string name="sdcard_settings_unmounted_status" product="nosdcard" msgid="7503300818792750913">"USB dep brmi şimdi güvenle çıkarılabilir"</string>
+    <string name="sdcard_settings_unmounted_status" product="default" msgid="3812022095683863087">"SD kart şimdi güvenli olarak çıkarılabilir"</string>
+    <string name="sdcard_settings_bad_removal_status" product="nosdcard" msgid="7761390725880773697">"USB dep birimi kullanılırken çıkarıldı!"</string>
+    <string name="sdcard_settings_bad_removal_status" product="default" msgid="5145797653495907970">"SD kart kullanılırken çıkarıldı!"</string>
     <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"Kullanılan bayt miktarı:"</string>
-    <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"SD kartta medya aranıyor…"</string>
-    <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"SD kart salt okunur olarak bağlandı"</string>
+    <string name="sdcard_settings_scanning_status" product="nosdcard" msgid="7503429447676219564">"USB dep brdki medya taranyr..."</string>
+    <string name="sdcard_settings_scanning_status" product="default" msgid="2763464949274455656">"SD kartta medya aranıyor…"</string>
+    <string name="sdcard_settings_read_only_status" product="nosdcard" msgid="3771783090621312312">"USB dep birm salt oknr takıldı"</string>
+    <string name="sdcard_settings_read_only_status" product="default" msgid="5706115860484118911">"SD kart salt okunur olarak bağlandı"</string>
     <string name="next_label" msgid="4693520878012668114">"İleri"</string>
     <string name="language_picker_title" msgid="4034157617842965844">"Yerel ayar"</string>
     <string name="select_your_language" msgid="1146235168951906084">"Dilinizi seçin"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"Etkinlik seç"</string>
     <string name="device_info_label" msgid="6551553813651711205">"Cihaz bilgileri"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"Pil bilgileri"</string>
-    <string name="battery_history_label" msgid="8242244969757414501">"Pil geçmişi"</string>
     <string name="display_label" msgid="7403874003169865762">"Ekran"</string>
     <string name="phone_info_label" msgid="2127552523124277664">"Telefon bilgileri"</string>
-    <string name="sd_card_settings_label" msgid="5743100901106177102">"SD kart"</string>
+    <string name="sd_card_settings_label" product="nosdcard" msgid="8101475181301178428">"USB depolama birimi"</string>
+    <string name="sd_card_settings_label" product="default" msgid="5743100901106177102">"SD kart"</string>
     <string name="proxy_settings_label" msgid="3271174136184391743">"Proxy ayarları"</string>
     <string name="cancel" msgid="6859253417269739139">"İptal"</string>
     <string name="settings_label" msgid="1626402585530130914">"Ayarlar"</string>
+    <string name="settings_label_launcher" msgid="8344735489639482340">"Ayarlar"</string>
     <string name="settings_shortcut" msgid="3672145147925639262">"Ayarlar"</string>
     <string name="airplane_mode" msgid="8837269988154128601">"Uçak modu"</string>
     <string name="airplane_mode_summary" msgid="3154817401368780988">"Tüm kablosuz bağlantıları devre dışı bırak"</string>
@@ -323,6 +333,11 @@
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"Telefon hoparlörü olarak"</string>
     <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"Müzik ve medya için"</string>
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"Ayarları anımsa"</string>
+    <string name="nfc_quick_toggle_title" msgid="6769159366307299004">"NFC"</string>
+    <string name="nfc_quick_toggle_summary" msgid="1988408027741447231">"Etkt okumk ve değş yap içn Yakın Alan İletşm\'ni kullnn"</string>
+    <!-- no translation found for nfc_toggle_error (2233172102497535522) -->
+    <!-- no translation found for nfc_toggle_error (8998642457947607263) -->
+    <skip />
     <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Kablosuz"</string>
     <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"Kablosuzu aç"</string>
     <string name="wifi_settings" msgid="4746946030627213196">"Kablosuz ayarları"</string>
@@ -376,6 +391,7 @@
     <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"Kablosuzdan mobil veriye geçme zamanını belirt"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"Uyku politikası ayarlanırken bir sorun oluştu."</string>
     <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MAC adresi"</string>
+    <string name="wifi_advanced_ip_address_title" msgid="6215297094363164846">"IP adresi"</string>
     <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP ayarları"</string>
     <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"Kaydet"</string>
     <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"İptal"</string>
@@ -496,9 +512,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"Durum"</string>
     <string name="device_status" msgid="607405385799807324">"Durum"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"Telefon numarası, sinyal vb."</string>
-    <string name="storage_settings" msgid="6681164315506788024">"SD kart ve telefon depolama alanı"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"SD kart ve telefon depolama alanı ayarları"</string>
-    <string name="storage_settings_summary" msgid="9176693537325988610">"SD kartın bağlantısını kes, kull. Depolama alanını görüntüle"</string>
+    <string name="storage_settings" msgid="4211799979832404953">"Depolama"</string>
+    <string name="storage_settings_title" msgid="8746016738388094064">"Depolama ayarları"</string>
+    <string name="storage_settings_summary" product="nosdcard" msgid="3543813623294870759">"USB depolama biriminin bağlantısını kes, kullanılabilir depolama alanını görüntüle"</string>
+    <string name="storage_settings_summary" product="default" msgid="9176693537325988610">"SD kartın bağlantısını kes, kull. Depolama alanını görüntüle"</string>
     <string name="status_number" msgid="5123197324870153205">"Telefon numaram"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MİN"</string>
     <string name="status_prl_version" msgid="8499039751817386529">"PRL Sürümü"</string>
@@ -514,24 +531,36 @@
     <string name="status_unavailable" msgid="7862009036663793314">"Kullanılamıyor"</string>
     <string name="status_up_time" msgid="7294859476816760399">"Açık kalma süresi"</string>
     <string name="status_awake_time" msgid="2393949909051183652">"Uyanık geçen süre"</string>
-    <string name="internal_memory" msgid="1130932766236387454">"Dahili telefon depolama alanı"</string>
-    <string name="sd_memory" msgid="151871913888051515">"SD kart"</string>
+    <string name="internal_memory" msgid="9129595691484260784">"Dahili dep birm"</string>
+    <string name="sd_memory" product="nosdcard" msgid="2510246194083052841">"USB depolama birimi"</string>
+    <string name="sd_memory" product="default" msgid="151871913888051515">"SD kart"</string>
     <string name="memory_available" msgid="418542433817289474">"Kullanılabilir alan"</string>
     <string name="memory_size" msgid="6629067715017232195">"Toplam alan"</string>
-    <string name="sd_eject" msgid="6915293408836853020">"SD kartının bağlantısını kes"</string>
-    <string name="sd_eject_summary" msgid="3315557796211542962">"SD kartı güvenle çıkarmak için bağlantısını kesin"</string>
-    <string name="sd_insert_summary" msgid="2048640010381803841">"Eklemek için bir SD kart yerleştirin"</string>
-    <string name="sd_mount" msgid="5940523765187704135">"SD kartı ekle"</string>
-    <string name="sd_mount_summary" msgid="4936591681679097699">"SD kartı ekle"</string>
-    <string name="sd_format" msgid="5448738337382712203">"SD kartı biçimlendir"</string>
-    <string name="sd_format_summary" msgid="6616491027883134004">"SD kartı biçimlendir (sil)"</string>
+    <string name="sd_eject" product="default" msgid="6915293408836853020">"SD kartının bağlantısını kes"</string>
+    <string name="sd_eject_summary" product="nosdcard" msgid="5009296896648072891">"Dahili USB depolamanın bağ kes"</string>
+    <string name="sd_eject_summary" product="default" msgid="3300599435073550246">"Güvenle çıkarabilmnz için SD kartın bağl kesin"</string>
+    <string name="sd_insert_summary" product="nosdcard" msgid="5264016886409577313">"Bğl için USB dep brm takn"</string>
+    <string name="sd_insert_summary" product="default" msgid="2048640010381803841">"Eklemek için bir SD kart yerleştirin"</string>
+    <string name="sd_mount" product="nosdcard" msgid="8966695015677343116">"USB depl birimini ekleyin"</string>
+    <string name="sd_mount" product="default" msgid="5940523765187704135">"SD kartı ekle"</string>
+    <!-- outdated translation 6733254203291665551 -->     <string name="sd_mount_summary" product="nosdcard" msgid="1794150364965145726">"Dahili USB depol birimini ekle"</string>
+    <string name="sd_mount_summary" product="default" msgid="4936591681679097699">"SD kartı ekle"</string>
+    <string name="sd_format" product="nosdcard" msgid="2148179271623099054">"USB depolama birimini sil"</string>
+    <string name="sd_format" product="default" msgid="2576054280507119870">"SD kartı sil"</string>
+    <string name="sd_format_summary" product="nosdcard" msgid="1504606546865152514">"Telefonunun USB depolama birimindeki müzik ve foto gibi tüm veriler silinir."</string>
+    <string name="sd_format_summary" product="default" msgid="915849621390821841">"Telefonun SD kartındaki müzik ve foto gibi tüm veriler silinir."</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"Kullanılamıyor"</string>
     <string name="read_only" msgid="6702420168629076340">" (Salt okunur)"</string>
-    <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"SD kartının bağlantısını kes"</string>
-    <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"SD kartı çıkarırsanız, kullanmakta olduğunuz bazı uygulamalar durur ve SD kart yeniden takılıncaya kadar kullanılamayabilir."</string>
-    <string name="dlg_error_unmount_title" msgid="4004106918266783081">"SD kartın bağlantısı kesilemedi"</string>
-    <string name="dlg_error_unmount_text" msgid="9188972789897713180">"SD kartın bağlantısı kesilemiyor. Daha sonra yeniden deneyin."</string>
-    <string name="unmount_inform_text" msgid="3213378327712151498">"SD kart çıkarılacak. Durum bilgisi için bildirim alanını kontrol edin."</string>
+    <string name="dlg_confirm_unmount_title" product="nosdcard" msgid="2349876662428231297">"USB dep brmnn bağln kes"</string>
+    <string name="dlg_confirm_unmount_title" product="default" msgid="8612140627310646730">"SD kartının bağlantısını kes"</string>
+    <string name="dlg_confirm_unmount_text" product="nosdcard" msgid="3390169455621185223">"USB depolama biriminin bağlantısını keserseniz, kullanmakta olduğunuz bazı uygulamalar durur ve USB depolama birimi yeniden bağlanıncaya kadar kullanılamayabilir."</string>
+    <string name="dlg_confirm_unmount_text" product="default" msgid="5851214273718817727">"SD kartı çıkarırsanız, kullanmakta olduğunuz bazı uygulamalar durur ve SD kart yeniden takılıncaya kadar kullanılamayabilir."</string>
+    <string name="dlg_error_unmount_title" product="nosdcard" msgid="7695491947411836733">"USB depl birm bağln kesilemedi"</string>
+    <string name="dlg_error_unmount_title" product="default" msgid="4004106918266783081">"SD kartın bağlantısı kesilemedi"</string>
+    <string name="dlg_error_unmount_text" product="nosdcard" msgid="1450864147013376592">"USB depolama biriminin bağlantısı kesilemiyor. Daha sonra tekrar deneyin."</string>
+    <string name="dlg_error_unmount_text" product="default" msgid="9188972789897713180">"SD kartın bağlantısı kesilemiyor. Daha sonra yeniden deneyin."</string>
+    <string name="unmount_inform_text" product="nosdcard" msgid="7120241136790744265">"USB depolama biriminin bağlantısı kesilecek."</string>
+    <string name="unmount_inform_text" product="default" msgid="1904212716075458402">"SD kart bağlantısı kesilecek."</string>
     <string name="sd_ejecting_title" msgid="8824572198034365468">"Kaldırılıyor"</string>
     <string name="sd_ejecting_summary" msgid="2028753069184908491">"Kaldırma işlemi devam ediyor"</string>
     <string name="battery_status_title" msgid="9159414319574976203">"Pil durumu"</string>
@@ -571,21 +600,32 @@
     <string name="restore_default_apn_completed" msgid="3990449939234957281">"Varsayılan APN ayarlarını sıfırlama tamamlandı"</string>
     <string name="master_clear_title" msgid="5907939616087039756">"Fabrika verilerine sıfırla"</string>
     <string name="master_clear_summary" msgid="4986154238001088492">"Telefondaki tüm verileri siler"</string>
-    <string name="master_clear_desc" msgid="7823268823499739178">"Bu, şunlar da dahil olmak üzere telefonunuzdaki tüm verileri silecektir:"\n<li>"Google hesabınız"</li>\n<li>"Sistem ve uygulama verisi ve ayarları"</li>\n<li>"İndirilmiş uygulamalar"</li>\n"Şunlar silinmeyecektir:"\n<li>"Geçerli sistem yazılımı ve donanımla gelen uygulamalar"</li>\n<li>"Müzik veya resim gibi SD kart dosyaları"</li></string>
+    <string name="master_clear_desc" product="nosdcard" msgid="2163013814299528247">"Bu işlem, "<b></b>\n"Google hesabınız"\n<li></li>"Sistem ve uygulama verileri ve ayarları"\n<li></li>"İndirilen uygulamalar"\n<li></li>" da dahil olmak üzere telefonunuzun "\n"dahili depolama birimindeki"\n" tüm verilerin silinmesine neden olur. Bu telefondaki tüm verilerin silinmesi için "<b>"USB depolama biriminin"</b>" silinmesi gerekir."\n\n</string>
+    <string name="master_clear_desc" product="default" msgid="1741944496458365969">"Bu işlem, "\n\n<li>"Google hesabınız"</li>\n<li>"Sistem ve uygulama verileri ve ayarları"</li>\n<li>"İndirilen uygulamalar"</li>\n\n" da dahil olmak üzere telefonunuzun "<b>"dahili depolama birimindeki"</b>" tüm verilerin silinmesine neden olur. Müzik, resimler ve diğer kullanıcı verilerinin de silinmesi için "<b>"SD kartın"</b>" silinmesi gerekir."\n\n</string>
+    <string name="erase_external_storage" product="nosdcard" msgid="969364037450286809">"USB depolama birimini sil"</string>
+    <string name="erase_external_storage" product="default" msgid="1397239046334307625">"SD kartı sil"</string>
+    <string name="erase_external_storage_description" product="nosdcard" msgid="1657838142707381027">"Telefonunun USB depolama birimindeki müzik veya foto gibi tüm veriler silinir."</string>
+    <string name="erase_external_storage_description" product="default" msgid="8100175974635894073">"Telefonunun SD kartındaki müzik ve foto gibi tüm veriler silinir."</string>
     <string name="master_clear_button_text" msgid="7550632653343157971">"Telefonu sıfırla"</string>
     <string name="master_clear_final_desc" msgid="6917971132484622696">"Tüm kişisel bilgilerinizi ve indirilen tüm uygulamaları silmek istiyor musunuz? Bu işlem geri döndürülemez!"</string>
     <string name="master_clear_final_button_text" msgid="5390908019019242910">"Her şeyi sil"</string>
     <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"Kilit açma deseninizi çizin"</string>
     <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"Telefon sıfırlamayı onaylamak için kilit açma deseninizi çizmelisiniz."</string>
     <string name="master_clear_failed" msgid="8655202125010189406">"Sistem Temizleme hizmeti kullanılamadığından sıfırlama yapılmadı."</string>
-    <string name="media_format_title" msgid="4671276096695789895">"SD kartı biçimlendir."</string>
-    <string name="media_format_summary" msgid="3805714639375830120">"SD karttaki tüm verileri siler"</string>
-    <string name="media_format_desc" msgid="1142563222357820834">"Bu işlem telefondaki SD kartı siler. Karttaki TÜM verileri kaybedersiniz!"</string>
-    <string name="media_format_button_text" msgid="370856400090190151">"SD kartı biçimlendir"</string>
-    <string name="media_format_final_desc" msgid="1776666694910717198">"SD kartı, üzerindeki tüm medya verileriniz silinerek biçimlendirilsin mi? İşlem geri alınamaz!"</string>
+    <string name="media_format_title" product="nosdcard" msgid="3999653431422767156">"USB depolama birimini sil"</string>
+    <string name="media_format_title" product="default" msgid="4427528440306787972">"SD kartı sil"</string>
+    <string name="media_format_summary" product="nosdcard" msgid="776603298628082065">"USB dep brmdki tüm verlr siler"</string>
+    <string name="media_format_summary" product="default" msgid="3805714639375830120">"SD karttaki tüm verileri siler"</string>
+    <string name="media_format_desc" product="nosdcard" msgid="4553860683952763905">"Bu işlem, USB depolama biriminin silinmesine neden olur. Burada saklanan "<b>"tüm"</b>" verileri kaybedersiniz!"</string>
+    <string name="media_format_desc" product="default" msgid="1598627584181935513">"Bu işlem SD kartı siler. Karttaki "<b>"tüm"</b>" verileri kaybedersiniz!"</string>
+    <string name="media_format_button_text" product="nosdcard" msgid="6293669371185352810">"USB depolama birimini sil"</string>
+    <string name="media_format_button_text" product="default" msgid="6721544380069373626">"SD kartı sil"</string>
+    <string name="media_format_final_desc" product="nosdcard" msgid="8094635533378487255">"USB dep br silinsin mi? Dep brmdde saklanan tüm dosylr silinir. Geri alınamaz!"</string>
+    <string name="media_format_final_desc" product="default" msgid="9015504991522581434">"SD kart silinsin mi? Burada saklanan tüm dosyalar silinir. Geri alınamaz!"</string>
     <string name="media_format_final_button_text" msgid="4881713344315923175">"Her şeyi sil"</string>
     <string name="media_format_gesture_prompt" msgid="3109349468816856670">"Kilit açma deseninizi çizin"</string>
-    <string name="media_format_gesture_explanation" msgid="4239529439389660159">"Bir SD kart biçimini onaylamak için kilit açma deseninizi çizmelisiniz."</string>
+    <string name="media_format_gesture_explanation" product="nosdcard" msgid="1379736318750958338">"USB depolama birimini biçimlendirmek istediğinizi onaylamak için kilit açma deseninizi çizmelisiniz."</string>
+    <string name="media_format_gesture_explanation" product="default" msgid="1681213416497647321">"SD kartı silmek istediğinizi onaylamak için kilit açma deseninizi çizmelisiniz."</string>
     <string name="call_settings_title" msgid="5188713413939232801">"Çağrı ayarları"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"Sesli mesaj, çağrı yönlendirme ve bekletme, arayan kimliğini ayarla"</string>
     <string name="tether_settings_title_usb" msgid="4315031513434087777">"Doğrudan bağlantı oluşturma"</string>
@@ -609,7 +649,7 @@
     <string name="location_networks_disabled" msgid="2708968452901433980">"Kablosuz ağları kullanarak uygulamalarda (Google Haritalar gibi) konumu gör"</string>
     <string name="location_neighborhood_level" msgid="4656658097932515921">"Konum kablosuz ve/veya cep telefonu ağları tarafından belirlenir"</string>
     <string name="location_gps" msgid="6296125378829097831">"GPS uydularını kullan"</string>
-    <string name="location_street_level" msgid="6460740847018275745">"Konum bulunurken sokak düzeyinde kesinliğe ayarlayın (pilden tasarruf etmek için onay işaretini kaldırın)"</string>
+    <string name="location_street_level" msgid="7456259025474443314">"Yer bulunurken sokak düzeyinde kesinlik"</string>
     <string name="location_gps_disabled" msgid="6632537158777308128">"Sokak düzeyinde yer bul (daha fazla pil ve gökyüzü görünümü gerektirir)"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"Desteklenen GPS kullan"</string>
     <string name="assisted_gps_enabled" msgid="8751899609589792803">"GPS\'ye destek olmak için sunucu kullan (ağ kullanımını azaltmak için onay işaretini kaldırın)"</string>
@@ -692,22 +732,31 @@
     <string name="application_size_label" msgid="5055196275624686382">"Uygulama"</string>
     <string name="data_size_label" msgid="8679376373625710107">"Veri"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"Kaldır"</string>
+    <string name="disable_text" msgid="6544054052049395202">"Devre dışı bırak"</string>
+    <string name="enable_text" msgid="9217362512327828987">"Etkinleştir"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"Verileri temizle"</string>
     <string name="app_factory_reset" msgid="6635744722502563022">"Güncellemeleri kaldır"</string>
     <string name="auto_launch_enable_text" msgid="2630656657744196691">"Bu uygulamayı bazı işlemler için varsayılan olarak başlatmayı seçtiniz."</string>
     <string name="auto_launch_disable_text" msgid="7800385822185540166">"Hiçbir varsayılan ayarlanmadı."</string>
     <string name="clear_activities" msgid="7408923511535174430">"Varsayılanları temizle"</string>
     <string name="unknown" msgid="1592123443519355854">"Bilinmiyor"</string>
-    <string name="sort_order_alpha" msgid="8622029358896599842">"Sırala"</string>
+    <string name="sort_order_alpha" msgid="1410278099123670628">"Ada göre sırala"</string>
     <string name="sort_order_size" msgid="7024513286636502362">"Boyuta göre sırala"</string>
+    <string name="show_running_services" msgid="5736278767975544570">"Çalışan hizmetleri göster"</string>
+    <string name="show_background_processes" msgid="2009840211972293429">"Önbllğe alınan işlm göstr"</string>
     <string name="manage_space_text" msgid="8852711522447794676">"Alanı yönet"</string>
     <string name="filter" msgid="2018011724373033887">"Filtre"</string>
     <string name="filter_dlg_title" msgid="6507663329723966854">"Filtre seçeneklerini belirle"</string>
     <string name="filter_apps_all" msgid="5142129378749391876">"Tümü"</string>
     <string name="filter_apps_third_party" msgid="7786348047690140979">"İndirilen"</string>
     <string name="filter_apps_running" msgid="7767071454371350486">"Çalışıyor"</string>
-    <string name="filter_apps_onsdcard" msgid="1477351142334784771">"SD kartta"</string>
-    <string name="loading" msgid="3200408047793887917">"Yükleniyor…"</string>
+    <string name="filter_apps_onsdcard" product="nosdcard" msgid="4843063154701023349">"USB depolama birimi"</string>
+    <string name="filter_apps_onsdcard" product="default" msgid="1477351142334784771">"SD kartta"</string>
+    <string name="disabled" msgid="9206776641295849915">"Devre dışı"</string>
+    <string name="no_applications" msgid="5190227407135243904">"Uygulama yok."</string>
+    <string name="internal_storage" msgid="1584700623164275282">"Dahili dep brm"</string>
+    <string name="sd_card_storage" product="nosdcard" msgid="2673203150465132465">"USB dep birimi"</string>
+    <string name="sd_card_storage" product="default" msgid="7623513618171928235">"SD kart dep brm"</string>
     <string name="recompute_size" msgid="7722567982831691718">"Boyut yeniden hesaplanıyor…"</string>
     <string name="clear_data_dlg_title" msgid="4470209520936375508">"Sil"</string>
     <string name="clear_data_dlg_text" msgid="8368035073300828451">"Bu uygulamanın tüm verileri kalıcı olarak silinecek. Bu veriler arasında tüm dosyalar, ayarlar, hesaplar, veritabanları vs. yer alıyor."</string>
@@ -727,7 +776,8 @@
     <string name="version_text" msgid="9189073826278676425">"sürüm <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5042838441401731346">"Taşı"</string>
     <string name="move_app_to_internal" msgid="3895430471913858185">"Telefona taşı"</string>
-    <string name="move_app_to_sdcard" msgid="1143379049903056407">"SD karta taşı"</string>
+    <string name="move_app_to_sdcard" product="nosdcard" msgid="4350451696315265420">"USB depl birimine taşı"</string>
+    <string name="move_app_to_sdcard" product="default" msgid="1143379049903056407">"SD karta taşı"</string>
     <string name="moving" msgid="6431016143218876491">"Taşınıyor"</string>
     <string name="insufficient_storage" msgid="8566913062094452962">"Yeterli depolama alanı kalmadı."</string>
     <string name="does_not_exist" msgid="837163572898468245">"Uygulama mevcut değil."</string>
@@ -735,29 +785,49 @@
     <string name="invalid_location" msgid="4934491353200240499">"Belirtilen yükleme konumu geçerli değil."</string>
     <string name="system_package" msgid="1030561474413022831">"Sistem güncellemeleri, harici medyaya yüklenemez."</string>
     <string name="force_stop_dlg_title" msgid="4289453224368188476">"Durmaya zorla"</string>
-    <string name="force_stop_dlg_text" msgid="3381302041569982075">"Bu uygulama hemen yeniden başlatılacak. Durmaya zorlamak istediğinizden emin misiniz?"</string>
+    <string name="force_stop_dlg_text" msgid="5157374701213502922">"Bir uygulamayı zorla durdurmak hatalı davranmasına neden olabilir. Emin misiniz?"</string>
     <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"Uygulamayı taşı"</string>
     <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"Uygulama taşınamadı. <xliff:g id="REASON">%1$s</xliff:g>"</string>
     <string name="app_install_location_title" msgid="2068975150026852168">"Tercih edilen yükleme konumu"</string>
     <string name="app_install_location_summary" msgid="879753854530300436">"Yeni uygulamalar için tercih edilen yükleme konumunu değiştirin."</string>
+    <string name="storageuse_settings_title" msgid="5657014373502630403">"Depolama kullanımı"</string>
+    <string name="storageuse_settings_summary" msgid="2556057379120846792">"Uygulamalar tarafından kullanılan depolama alanını görüntüle"</string>
     <string name="runningservices_settings_title" msgid="8097287939865165213">"Çalışan hizmetler"</string>
     <string name="runningservices_settings_summary" msgid="854608995821032748">"Şu anda çalışan hizmetleri görüntüleyin ve denetleyin"</string>
     <string name="service_restarting" msgid="2242747937372354306">"Yeniden başlatılıyor"</string>
-    <string name="no_running_services" msgid="6981216347270280598">"Çalışan hizmet yok"</string>
-    <string name="confirm_stop_service" msgid="5700448757318301681">"Hizmet durdurulsun mu?"</string>
-    <string name="confirm_stop_service_msg" msgid="1166661293369421272">"Bu hizmet, yeniden başlatılana kadar çalışmayacak. Bu durum, <xliff:g id="APPLICATION">%1$s</xliff:g> uygulamasında istenmeyen sonuçlara yol açabilir."</string>
-    <string name="confirm_stop_stop" msgid="7382363913280993331">"Durdur"</string>
-    <string name="confirm_stop_cancel" msgid="206495326622692381">"İptal"</string>
-    <string name="service_started_by_app" msgid="8432097226392386802">"Uygulama tarafından başlatıldı: durdurmak için dokunun"</string>
-    <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: yönetmek için dokunun"</string>
-    <string name="service_background_processes" msgid="5158600475629177758">"Kullanılabilir: <xliff:g id="COUNT">%1$d</xliff:g> hesabında <xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g>"</string>
-    <string name="service_foreground_processes" msgid="4013890350284680796">"Diğer: <xliff:g id="COUNT">%1$d</xliff:g> hesabında <xliff:g id="MEMORY">%2$s</xliff:g>"</string>
-    <string name="service_process_name" msgid="8630408984456958400">"İşlem: <xliff:g id="PROCESS">%1$s</xliff:g>"</string>
+    <string name="cached" msgid="1059590879740175019">"Önblğe alınan arka plan işlemi"</string>
+    <string name="no_running_services" msgid="2059536495597645347">"Hiçbir şey çalışmıyor."</string>
+    <string name="service_started_by_app" msgid="6575184738671598131">"Uygulama tarafından başlatıldı."</string>
+    <!-- no translation found for service_client_name (4037193625611815517) -->
+    <skip />
+    <string name="service_background_processes" msgid="6844156253576174488">"<xliff:g id="MEMORY">%1$s</xliff:g> boş"</string>
+    <string name="service_foreground_processes" msgid="7583975676795574276">"<xliff:g id="MEMORY">%1$s</xliff:g> kull."</string>
+    <string name="memory" msgid="6609961111091483458">"RAM"</string>
+    <!-- no translation found for service_process_name (4098932168654826656) -->
+    <skip />
+    <string name="running_processes_item_description_s_s" msgid="5790575965282023145">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> işlem ve <xliff:g id="NUMSERVICES">%2$d</xliff:g> hizmet"</string>
+    <string name="running_processes_item_description_s_p" msgid="8019860457123222953">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> işlem ve <xliff:g id="NUMSERVICES">%2$d</xliff:g> hizmet"</string>
+    <string name="running_processes_item_description_p_s" msgid="744424668287252915">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> işlem ve<xliff:g id="NUMSERVICES">%2$d</xliff:g> hizmet"</string>
+    <string name="running_processes_item_description_p_p" msgid="1607384595790852782">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> işlem ve <xliff:g id="NUMSERVICES">%2$d</xliff:g> hizmet"</string>
+    <string name="runningservicedetails_settings_title" msgid="6188692418986988288">"Çalışan uygulama"</string>
+    <string name="no_services" msgid="7133900764462288263">"Etkin değil"</string>
+    <string name="runningservicedetails_services_title" msgid="391168243725357375">"Hizmetler"</string>
+    <string name="runningservicedetails_processes_title" msgid="928115582044655268">"İşlemler"</string>
+    <string name="service_stop" msgid="6369807553277527248">"Durdur"</string>
+    <string name="service_manage" msgid="1876642087421959194">"Ayarlar"</string>
+    <string name="service_stop_description" msgid="3261798282116866961">"Bu hizmet, uygulaması tarafından başlatıldı. Hizmetin durdurulması uygulamanın başarısız olmasına neden olabilir."</string>
+    <string name="heavy_weight_stop_description" msgid="6855241582643136019">"Bu uygulama güvenli bir şekilde durdurulamıyor. Bu, bazı mevcut işlerinizin kaybına neden olabilir."</string>
+    <string name="background_process_stop_description" msgid="1728354083304746737">"Bu, tekrar ihtiyaç duyl halinde daha yüksek hız elde etmek için kullanılan eski bir uyg işlemidir. Genellikle bunu durdurmanız gerekmez."</string>
+    <string name="service_manage_description" msgid="7050092269951613102">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>: şu anda kullanılıyor. Kontrol etmek için Ayarlar\'a dokunun."</string>
+    <string name="main_running_process_description" msgid="929204645380391397">"Kullanımda olan ana işlem."</string>
+    <string name="process_service_in_use_description" msgid="8993335064403217080">"<xliff:g id="COMP_NAME">%1$s</xliff:g> hizmeti kullanımda."</string>
+    <string name="process_provider_in_use_description" msgid="5586603325677678940">"Sağlayıcı <xliff:g id="COMP_NAME">%1$s</xliff:g> kullanımda."</string>
+    <string name="runningservicedetails_stop_dlg_title" msgid="4253292537154337233">"Sis hiz durdrlsn mu?"</string>
+    <string name="runningservicedetails_stop_dlg_text" msgid="6929716497425738387">"Bu sistem hiz durdurulmasını istediğinize emin misiniz? Durdurulursa, telefonunuzun bazı özellikleri, telfn kapatılıp yeniden açılmadan düzgün çalışmayabilir."</string>
     <string name="language_settings" msgid="502219872342167227">"Dil ve klavye"</string>
     <string name="language_keyboard_settings_title" msgid="3455826933385341107">"Dil ve klavye ayarları"</string>
-    <string name="language_settings_summary" msgid="595647729475399987">"Yer (dil ve bölge), metin girişi ve ot. düzeltme seçeneklerini ayarla"</string>
-    <string name="language_category" msgid="3391756582724541530">"Yerel ayar"</string>
-    <string name="text_category" msgid="6342540511465136739">"Metin ayarları"</string>
+    <string name="language_settings_category" msgid="2288258489940617043">"Dil ayarları"</string>
+    <string name="keyboard_settings_category" msgid="7060453865544070642">"Klavye ayarları"</string>
     <string name="phone_language" msgid="1165758957501090679">"Dil seçin"</string>
     <string name="phone_language_summary" msgid="3871309445655554211"></string>
     <string name="auto_replace" msgid="6199184757891937822">"Otomatik değiştir"</string>
@@ -782,7 +852,6 @@
     <string name="testing" msgid="6584352735303604146">"Test ediliyor"</string>
     <string name="testing_phone_info" msgid="8656693364332840056">"Telefon bilgileri"</string>
     <string name="testing_battery_info" msgid="3497865525976497848">"Pil bilgileri"</string>
-    <string name="testing_battery_history" msgid="3043329445810695647">"Pil geçmişi"</string>
     <string name="quick_launch_title" msgid="7904609846945905306">"Hızlı başlat"</string>
     <string name="quick_launch_summary" msgid="3453825712466417452">"Uygulama başlatma klavye kısayollarını ayarla"</string>
     <string name="quick_launch_assign_application" msgid="4521368464929956350">"Uygulama ata"</string>
@@ -798,8 +867,8 @@
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"Metin giriş seçeneklerini yönet"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"<xliff:g id="IME_NAME">%1$s</xliff:g> ayarları"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"Ekran klavyesi ayarları"</string>
-    <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"Cihaz klavyesi"</string>
-    <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"Yerleşik klavye ayarları"</string>
+    <string name="builtin_keyboard_settings_title" msgid="5274990495405941804">"Yerleşik klavye"</string>
+    <string name="builtin_keyboard_settings_summary" msgid="7990296351888096836">"Yerleşik, fiziksel klavye ayarları"</string>
     <string name="development_settings_title" msgid="6719732334835420989">"Geliştirme"</string>
     <string name="development_settings_summary" msgid="2151320488701538355">"Uygulama geliştirme için seçenekleri ayarla"</string>
     <string name="enable_adb" msgid="7982306934419797485">"USB hata ayıklaması"</string>
@@ -812,36 +881,10 @@
     <string name="adb_warning_message" msgid="5352555112049663033">"USB hata ayıklaması yalnızca geliştirme amaçlıdır. Verileri bilgisayarınızla cihazınız arasında kopyalamak, bildirim göndermeksizin uygulamaları cihazınıza yüklemek ve günlük verilerini okumak için kullanılabilir."</string>
     <string name="gadget_picker_title" msgid="98374951396755811">"Gadget seç"</string>
     <string name="widget_picker_title" msgid="9130684134213467557">"Widget seç"</string>
-    <string name="battery_history_details_for" msgid="5924639922153109669">"UID <xliff:g id="NUMBER">%d</xliff:g> ayrıntıları"</string>
-    <string name="battery_history_uid" msgid="1016606150528436298">"UID <xliff:g id="USER_ID">%1$d</xliff:g>"</string>
-    <string name="battery_history_network_usage" msgid="8010852371665217020">"<xliff:g id="APP_NAME">%1$s</xliff:g> için ağ kullanım ayrıntıları:"</string>
-    <string name="battery_history_bytes_received" msgid="980307569180518302">"Alınan bayt: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_sent" msgid="2501748768602119159">"Gönderilen bayt: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_total" msgid="4444807574361642753">"Toplam bayt: <xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_cpu_usage" msgid="2597353713014790877">"<xliff:g id="APP_NAME">%1$s</xliff:g> için CPU kullanım ayrıntıları:"</string>
-    <string name="battery_history_user_time" msgid="6227507614894791359">"Kullanıcı süresi:"</string>
-    <string name="battery_history_system_time" msgid="2015862072724507547">"Sistem saati:"</string>
-    <string name="battery_history_total_time" msgid="3618703970098556104">"Toplam süre:"</string>
-    <string name="battery_history_starts" msgid="9137453931978571696">"Başlama: <xliff:g id="STARTS">%1$d</xliff:g>"</string>
     <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g>g <xliff:g id="HOURS">%2$d</xliff:g>s <xliff:g id="MINUTES">%3$d</xliff:g>d <xliff:g id="SECONDS">%4$d</xliff:g>s"</string>
     <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g>s <xliff:g id="MINUTES">%2$d</xliff:g>d <xliff:g id="SECONDS">%3$d</xliff:g>s"</string>
     <string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g>d <xliff:g id="SECONDS">%2$d</xliff:g>s"</string>
     <string name="battery_history_seconds" msgid="4283492130945761685">"<xliff:g id="SECONDS">%1$d</xliff:g>s"</string>
-    <string name="battery_history_packages_sharing_this_uid" msgid="4101596071379250050">"Bu UID\'yi paylaşan paketler:"</string>
-    <string name="battery_history_no_data" msgid="1177238743237067617">"Pil kullanım verisi yok"</string>
-    <string name="battery_history_sensor" msgid="2333488996028993982">"Algılayıcı:"</string>
-    <string name="battery_history_wakelock" msgid="608683447522396293">"Kısmi Uyandırma kilidi:"</string>
-    <string name="battery_history_used_by_packages" msgid="3000711380023436470">"Paketlerin kullandığını algılayıcı:"</string>
-    <string name="battery_history_sensor_usage" msgid="3593133338613209024">"<xliff:g id="PACKAGE">%2$s</xliff:g> tarafından <xliff:g id="COUNT">%1$d</xliff:g> kez kullanıldı"</string>
-    <string name="battery_history_sensor_usage_multi" msgid="4536084375991014508">"Şunlardan biri tarafından <xliff:g id="COUNT">%1$d</xliff:g> kez kullanıldı:"</string>
-    <string name="battery_history_awake_label" msgid="8449792868990080882">"Çalışıyor"</string>
-    <string name="battery_history_screen_on_label" msgid="1848936521786339362">"Ekran açık"</string>
-    <string name="battery_history_phone_on_label" msgid="700191958853142297">"Telefon açık"</string>
-    <string name="battery_history_awake" msgid="4350886665719031057">"Uyku dışında harcanan zaman:"</string>
-    <string name="battery_history_screen_on" msgid="1377240025275657277">"Ekran açıkken harcanan süre:"</string>
-    <string name="battery_history_phone_on" msgid="4891504401623839532">"Telefon açıkken harcanan süre:"</string>
-    <string name="battery_history_screen_on_battery" msgid="536058210445081888">"Pilde:"</string>
-    <string name="battery_history_screen_on_plugged" msgid="5019127390021871260">"Takıldı:"</string>
     <string name="usage_stats_label" msgid="5890846333487083609">"Kullanım istatistikleri"</string>
     <string name="testing_usage_stats" msgid="7823048598893937339">"Kullanım istatistikleri"</string>
     <string name="display_order_text" msgid="8592776965827565271">"Sıralama ölçütü:"</string>
@@ -865,12 +908,19 @@
     <string name="power_usage_summary" msgid="7237084831082848168">"Pili ne kullanıyor?"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Fişten çekildikten sonra pil kullanımı"</string>
     <string name="battery_since_reset" msgid="7464546661121187045">"Sıfırlamadan itibaren pil kullanımı"</string>
+    <string name="battery_stats_on_battery" msgid="4970762168505236033">"<xliff:g id="TIME">%1$s</xliff:g> pilde"</string>
     <string name="battery_stats_duration" msgid="7464501326709469282">"Fişten çekildikten itibaren <xliff:g id="TIME">%1$s</xliff:g>"</string>
+    <string name="battery_stats_charging_label" msgid="4223311142875178785">"Şarj oluyor"</string>
+    <string name="battery_stats_screen_on_label" msgid="7150221809877509708">"Ekran açık"</string>
+    <string name="battery_stats_gps_on_label" msgid="1193657533641951256">"GPS açık"</string>
+    <string name="battery_stats_wifi_running_label" msgid="3093545080361658269">"Kablosuz"</string>
+    <string name="battery_stats_wake_lock_label" msgid="1908942681902324095">"Uyanık"</string>
+    <string name="battery_stats_phone_signal_label" msgid="6822042940376636775">"Telefon sinyali"</string>
     <!-- no translation found for battery_stats_last_duration (1535831453827905957) -->
     <skip />
     <string name="awake" msgid="387122265874485088">"Cihazın açılma zamanı"</string>
-    <string name="wifi_on_time" msgid="4630925382578609056">"Kablosuz özelliğinin açık olduğu süre"</string>
-    <string name="bluetooth_on_time" msgid="4478515071957280711">"Kablosuz özelliğinin açık olduğu süre"</string>
+    <string name="wifi_on_time" msgid="6310209835617490616">"Zamnnd kablsz"</string>
+    <string name="bluetooth_on_time" msgid="6157799524996162271">"Zamnnd kablsz"</string>
     <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g> -  <xliff:g id="NUMBER">%2$s</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
     <string name="details_title" msgid="7564809986329021063">"Pil kullanım bilgileri"</string>
     <string name="details_subtitle" msgid="32593908269911734">"Ayrıntıları kullan"</string>
@@ -884,7 +934,9 @@
     <string name="power_idle" msgid="9055659695602194990">"Telefon boşta"</string>
     <string name="usage_type_cpu" msgid="715162150698338714">"Toplam CPU"</string>
     <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"CPU ön planı"</string>
+    <string name="usage_type_wake_lock" msgid="5125438890233677880">"Uyanık tut"</string>
     <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string>
+    <string name="usage_type_wifi_running" msgid="8234997940652067049">"Kablosuz çalışıyor"</string>
     <string name="usage_type_phone" msgid="9108247984998041853">"Telefon"</string>
     <string name="usage_type_data_send" msgid="2857401966985425427">"Gönderilen veriler"</string>
     <string name="usage_type_data_recv" msgid="7251090882025234185">"Alınan veriler"</string>
@@ -896,7 +948,7 @@
     <string name="battery_action_app_details" msgid="3275013531871113681">"Uygulama bilgileri"</string>
     <string name="battery_action_app_settings" msgid="350562653472577250">"Uygulama ayarları"</string>
     <string name="battery_action_display" msgid="5302763261448580102">"Ekran ayarları"</string>
-    <string name="battery_action_wifi" msgid="5452076674659927993">"Kablosuz ayarları"</string>
+    <string name="battery_action_wifi" msgid="2272741639606146903">"Kablosuz ayarları"</string>
     <string name="battery_action_bluetooth" msgid="8374789049507723142">"Bluetooth ayarları"</string>
     <string name="battery_desc_voice" msgid="8980322055722959211">"Sesli aramalar tarafından kullanılan pil"</string>
     <string name="battery_desc_standby" msgid="3009080001948091424">"Telefon boştayken kullanılan pil"</string>
@@ -909,9 +961,9 @@
     <string name="battery_desc_bluetooth" msgid="7535520658674621902">"Bluetooth tarafından kullanılan pil"</string>
     <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"Bluetooth\'u kullanmadığınız zamanlarda kapatın"</string>
     <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"Farklı bir Bluetooth cihazına bağlanmaya çalış"</string>
-    <string name="battery_desc_apps" msgid="8123202939321333639">"Çalışan uygulamalar tarafından kullanılan pil"</string>
+    <string name="battery_desc_apps" msgid="6665712811746233450">"Uygulama tarafından kullanılan pil"</string>
     <string name="battery_sugg_apps_info" msgid="6065882899391322442">"Uygulamayı durdur veya kaldır"</string>
-    <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"Kullanmadığınız zamanlarda GPS\'yi kapatın"</string>
+    <string name="battery_sugg_apps_gps" msgid="4545056413090932541">"Uygulamanın kullanmaması için GPS\'yi manuel olarak denetleyin"</string>
     <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"Uygulama, pil kullanımını azaltmak için ayarlar önerebilir"</string>
     <string name="menu_stats_unplugged" msgid="8296577130840261624">"Fişten çekildikten itibaren <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> için fişten son çekildikten itibaren"</string>
@@ -961,6 +1013,8 @@
     <string name="pico_not_installed" msgid="6266845418419994311">"Yüklü değil"</string>
     <string name="pico_voice_summary_female" msgid="8047327176247727492">"Bayan"</string>
     <string name="pico_voice_summary_male" msgid="8331266854058577610">"Bay"</string>
+    <string name="tts_notif_engine_install_title" msgid="7000346872482649034">"Konuşma sentezi motoru yüklendi"</string>
+    <string name="tts_notif_engine_install_message" msgid="5304661142202662693">"Kull önce yeni motoru etknlştr"</string>
     <string name="gadget_title" msgid="7455548605888590466">"Güç Denetimi"</string>
     <string name="gadget_toggle_wifi" msgid="2382963973155082629">"Kablosuz ayarı güncelleniyor"</string>
     <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"Bluetooth ayarları güncelleniyor"</string>
@@ -1047,8 +1101,10 @@
     <string name="credentials_access_summary" msgid="319662078718574168">"Uygulamaların güvenli sertifikalara ve diğer kimlik bilgilerine erişmesine izin verin"</string>
     <string name="credentials_unlock" msgid="1463040326264133844">"Şifreyi girin"</string>
     <string name="credentials_unlock_hint" msgid="594679530407918031">"Kimlik bilgileri deposunun şifresini girin."</string>
-    <string name="credentials_install_certificates" msgid="177337517568022236">"SD karttan yükle"</string>
-    <string name="credentials_install_certificates_summary" msgid="7737001268684193093">"SD karttan şifrelenmiş sertifikaları yükleyin"</string>
+    <string name="credentials_install_certificates" product="nosdcard" msgid="619171634797689906">"USB dep biriminden yükle"</string>
+    <string name="credentials_install_certificates" product="default" msgid="177337517568022236">"SD karttan yükle"</string>
+    <string name="credentials_install_certificates_summary" product="nosdcard" msgid="8920330112631198575">"USB dep br şifr srtfk ykl"</string>
+    <string name="credentials_install_certificates_summary" product="default" msgid="7737001268684193093">"SD karttan şifrelenmiş sertifikaları yükleyin"</string>
     <string name="credentials_set_password" msgid="9104473585811899989">"Şifreyi ayarla"</string>
     <string name="credentials_set_password_summary" msgid="8287876917562085701">"Kimlik bilgileri deposunun şifresini ayarlayın veya değiştirin"</string>
     <string name="credentials_reset" msgid="9170150870552453457">"Depoyu temizle"</string>
@@ -1068,6 +1124,16 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Kimlik bilgileri deposu silindi."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Kimlik bilgileri deposu etkin."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Kimlik bilgileri deposu devre dışı."</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"Şifrelenmiş Dosya Sistemi"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"Özel kullanıcı verilerini şifrele"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"Bu cihazdaki özel kullanıcı verileri için şifrelenmiş dosya sistemi depolamasını etkinleştir"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"Şifrelenmiş Dosya Sistemlerini etkinleştirilmek, cihazda veri silme işlemi yapılmasını gerektirir."</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"Şifrelenmiş Dosya Sistemlerini devre dışı bırakmak, cihazda veri silme işlemi yapılmasını gerektirir."</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"Etkinleştir"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"Devre dışı bırak"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"İptal"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"Şifrelenmiş Dosya Sistemleri modu değişikliği iptal edildi."</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"Şifrelenmiş Dosya Sistemi Uyarısı."</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"Acil sesi"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Acil çağrı yapıldığında nasıl işlev göreceğini ayarlayın"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Gizlilik"</string>
@@ -1075,11 +1141,11 @@
     <string name="backup_section_title" msgid="8856083167469467588">"Yedekleme ve geri yükleme"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"Kişisel veriler"</string>
     <string name="backup_data_title" msgid="1239105919852668016">"Verilerimi yedekle"</string>
-    <string name="backup_data_summary" msgid="5662190190240860035">"Ayarlarımı ve diğer uygulama verilerimi yedekle."</string>
+    <string name="backup_data_summary" msgid="6515285107793232815">"Uyg verilerini, kablsz kulnm şifre ve diğ ayarları Google sunuclrnda yedekleyin"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"Otomatik geri yükle"</string>
-    <string name="auto_restore_summary" msgid="6867766474057290177">"Bir uygulamayı yeniden yüklersem, yedeklenen ayarları veya diğer verileri geri yükle."</string>
+    <string name="auto_restore_summary" msgid="83177150536734378">"Bir uyg\'ı tekr yüklersem, yedeklenen ayarlr veya diğr verilr geri yükle"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"Yedekle"</string>
-    <string name="backup_erase_dialog_message" msgid="2948090854996352245">"Ayarlarınızın ve uygulama verilerinizin yedeklenmesini durdurmak ve Google sunucularındaki tüm kopyaları silmek istediğinizden emin misiniz?"</string>
+    <string name="backup_erase_dialog_message" msgid="7766283133557587608">"Kablsz şifrelernzn, yer işaretlerinzn ve diğ ayarlrnz ile uyg verilernzn yedeklnmsn durdurmak ve Google sunclrndki tüm kopylr silmek istdğn emin misiniz?"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"Aygıt yönetimi ayarları"</string>
     <string name="active_device_admin_msg" msgid="6930903262612422111">"Cihaz yöneticisi"</string>
     <string name="remove_device_admin" msgid="3596845261596451437">"Etkinliğini Kaldır"</string>
diff --git a/res/values-zh-rCN/arrays.xml b/res/values-zh-rCN/arrays.xml
index dee805a..18cd1a4 100644
--- a/res/values-zh-rCN/arrays.xml
+++ b/res/values-zh-rCN/arrays.xml
@@ -115,19 +115,6 @@
     <item msgid="1549288661423279207">"充电时永不休眠"</item>
     <item msgid="1986753720941888596">"永不休眠"</item>
   </string-array>
-  <string-array name="battery_history_type_spinner">
-    <item msgid="2193799199027871385">"CPU 使用率"</item>
-    <item msgid="6401018715947316517">"网络使用率"</item>
-    <item msgid="188092590354892392">"GPS 使用率"</item>
-    <item msgid="8414109131222049141">"传感器使用情况"</item>
-    <item msgid="1327904325081257093">"部分唤醒使用情况"</item>
-    <item msgid="4832254146664706277">"其他使用情况"</item>
-  </string-array>
-  <string-array name="battery_history_which_spinner">
-    <item msgid="3451981114763440074">"自上次拔下电源后的时间"</item>
-    <item msgid="166936313535197598">"自启动以来的总时间"</item>
-    <item msgid="4793941382744963893">"所有时间总计"</item>
-  </string-array>
   <string-array name="usage_stats_display_order_types">
     <item msgid="9077371706468756228">"使用时间"</item>
     <item msgid="1908750532762193304">"启动次数"</item>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 99d1f89..ac417c1 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -45,13 +45,16 @@
     <string name="radioInfo_display_asu" msgid="1422248392727818082">"asu"</string>
     <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string>
     <string name="radioInfo_cid" msgid="4362599198392643138">"CID"</string>
-    <string name="sdcard_unmount" msgid="3364184561355611897">"卸载 SD 卡"</string>
-    <string name="sdcard_format" msgid="362497552060004057">"格式化 SD 卡"</string>
+    <string name="sdcard_unmount" product="nosdcard" msgid="6325292633327972272">"卸载 USB 存储设备"</string>
+    <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"卸载 SD 卡"</string>
+    <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"格式化 USB 存储设备"</string>
+    <string name="sdcard_format" product="default" msgid="6713185532039187532">"格式化 SD 卡"</string>
     <string name="small_font" msgid="2295331917424072635">"小"</string>
     <string name="medium_font" msgid="2068475425515133701">"中"</string>
     <string name="large_font" msgid="599055175160971446">"大"</string>
     <string name="font_size_save" msgid="3450855718056759095">"确定"</string>
-    <string name="sdcard_setting" msgid="5922637503871474866">"SD 卡"</string>
+    <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB 存储设备"</string>
+    <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD 卡"</string>
     <string name="battery_info_status_label" msgid="8109155295509700309">"电池状态："</string>
     <string name="battery_info_power_label" msgid="7465140230991349382">"是否已插电："</string>
     <string name="battery_info_scale_label" msgid="3649763192389778437">"电池电量："</string>
@@ -178,29 +181,36 @@
     <string name="band_mode_failed" msgid="1495968863884716379">"失败"</string>
     <string name="band_mode_succeeded" msgid="2701016190055887575">"成功"</string>
     <string name="sdcard_changes_instructions" msgid="1364712901180556244">"重新连接 USB 线后更改生效"</string>
-    <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"启用 USB 大容量存储模式"</string>
+    <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"启用 USB 大容量存储设备"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"总字节数："</string>
-    <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"无 SD 卡"</string>
+    <string name="sdcard_settings_not_present_status" product="nosdcard" msgid="2902787003418172125">"未装载 USB 存储设备"</string>
+    <string name="sdcard_settings_not_present_status" product="default" msgid="6666688653496819947">"无 SD 卡"</string>
     <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"可用的字节数："</string>
-    <string name="sdcard_settings_mass_storage_status" msgid="4786433969313661655">"SD 卡已被视为大容量存储设备"</string>
-    <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"现在可以安全移除 SD 卡"</string>
-    <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"SD 卡仍在使用中便被移除！"</string>
+    <string name="sdcard_settings_mass_storage_status" product="nosdcard" msgid="2736378870889777857">"USB 存储设备已被用作大容量存储设备"</string>
+    <string name="sdcard_settings_mass_storage_status" product="default" msgid="4786433969313661655">"SD 卡已被视为大容量存储设备"</string>
+    <string name="sdcard_settings_unmounted_status" product="nosdcard" msgid="7503300818792750913">"现在可以安全移除 USB 存储设备了"</string>
+    <string name="sdcard_settings_unmounted_status" product="default" msgid="3812022095683863087">"现在可以安全移除 SD 卡"</string>
+    <string name="sdcard_settings_bad_removal_status" product="nosdcard" msgid="7761390725880773697">"USB 存储设备仍在使用中便被移除！"</string>
+    <string name="sdcard_settings_bad_removal_status" product="default" msgid="5145797653495907970">"SD 卡仍在使用中便被移除！"</string>
     <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"已使用的字节数："</string>
-    <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"正从 SD 卡扫描媒体..."</string>
-    <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"安装的 SD 卡为只读状态"</string>
+    <string name="sdcard_settings_scanning_status" product="nosdcard" msgid="7503429447676219564">"正在扫描 USB 存储设备中的媒体..."</string>
+    <string name="sdcard_settings_scanning_status" product="default" msgid="2763464949274455656">"正从 SD 卡扫描媒体..."</string>
+    <string name="sdcard_settings_read_only_status" product="nosdcard" msgid="3771783090621312312">"已将 USB 存储设备装载为只读设备"</string>
+    <string name="sdcard_settings_read_only_status" product="default" msgid="5706115860484118911">"安装的 SD 卡为只读状态"</string>
     <string name="next_label" msgid="4693520878012668114">"下一步"</string>
     <string name="language_picker_title" msgid="4034157617842965844">"语言区域"</string>
     <string name="select_your_language" msgid="1146235168951906084">"选择您使用的语言"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"选择活动"</string>
     <string name="device_info_label" msgid="6551553813651711205">"设备信息"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"电池信息"</string>
-    <string name="battery_history_label" msgid="8242244969757414501">"电池历史记录"</string>
     <string name="display_label" msgid="7403874003169865762">"显示"</string>
     <string name="phone_info_label" msgid="2127552523124277664">"手机信息"</string>
-    <string name="sd_card_settings_label" msgid="5743100901106177102">"SD 卡"</string>
+    <string name="sd_card_settings_label" product="nosdcard" msgid="8101475181301178428">"USB 存储设备"</string>
+    <string name="sd_card_settings_label" product="default" msgid="5743100901106177102">"SD 卡"</string>
     <string name="proxy_settings_label" msgid="3271174136184391743">"代理设置"</string>
     <string name="cancel" msgid="6859253417269739139">"取消"</string>
     <string name="settings_label" msgid="1626402585530130914">"设置"</string>
+    <string name="settings_label_launcher" msgid="8344735489639482340">"设置"</string>
     <string name="settings_shortcut" msgid="3672145147925639262">"设置"</string>
     <string name="airplane_mode" msgid="8837269988154128601">"飞行模式"</string>
     <string name="airplane_mode_summary" msgid="3154817401368780988">"停用所有无线连接"</string>
@@ -323,6 +333,11 @@
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"将底座用作免提电话"</string>
     <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"用于音乐和媒体"</string>
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"记住设置"</string>
+    <string name="nfc_quick_toggle_title" msgid="6769159366307299004">"NFC"</string>
+    <string name="nfc_quick_toggle_summary" msgid="1988408027741447231">"使用近距离通信读取和交换标签"</string>
+    <!-- no translation found for nfc_toggle_error (2233172102497535522) -->
+    <!-- no translation found for nfc_toggle_error (8998642457947607263) -->
+    <skip />
     <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"打开 Wi-Fi"</string>
     <string name="wifi_settings" msgid="4746946030627213196">"Wi-Fi 设置"</string>
@@ -376,6 +391,7 @@
     <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"指定何时要从 Wi-Fi 切换到手机数据"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"设置休眠策略时出现问题。"</string>
     <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MAC 地址"</string>
+    <string name="wifi_advanced_ip_address_title" msgid="6215297094363164846">"IP 地址"</string>
     <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP 设置"</string>
     <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"保存"</string>
     <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"取消"</string>
@@ -496,9 +512,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"状态消息"</string>
     <string name="device_status" msgid="607405385799807324">"状态消息"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"电话号码、信号等"</string>
-    <string name="storage_settings" msgid="6681164315506788024">"SD 卡和手机内存"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"SD 卡和手机内存设置"</string>
-    <string name="storage_settings_summary" msgid="9176693537325988610">"卸载 SD 卡，查看可用存储设备"</string>
+    <string name="storage_settings" msgid="4211799979832404953">"存储"</string>
+    <string name="storage_settings_title" msgid="8746016738388094064">"存储设置"</string>
+    <string name="storage_settings_summary" product="nosdcard" msgid="3543813623294870759">"卸载 USB 存储设备，查看可用存储设备"</string>
+    <string name="storage_settings_summary" product="default" msgid="9176693537325988610">"卸载 SD 卡，查看可用存储设备"</string>
     <string name="status_number" msgid="5123197324870153205">"本机号码"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
     <string name="status_prl_version" msgid="8499039751817386529">"PRL 版本"</string>
@@ -514,24 +531,36 @@
     <string name="status_unavailable" msgid="7862009036663793314">"不可用"</string>
     <string name="status_up_time" msgid="7294859476816760399">"开机时间"</string>
     <string name="status_awake_time" msgid="2393949909051183652">"唤醒时间"</string>
-    <string name="internal_memory" msgid="1130932766236387454">"手机内存"</string>
-    <string name="sd_memory" msgid="151871913888051515">"SD 卡"</string>
+    <string name="internal_memory" msgid="9129595691484260784">"内部存储设备"</string>
+    <string name="sd_memory" product="nosdcard" msgid="2510246194083052841">"USB 存储设备"</string>
+    <string name="sd_memory" product="default" msgid="151871913888051515">"SD 卡"</string>
     <string name="memory_available" msgid="418542433817289474">"可用空间"</string>
     <string name="memory_size" msgid="6629067715017232195">"总容量"</string>
-    <string name="sd_eject" msgid="6915293408836853020">"卸载 SD 卡"</string>
-    <string name="sd_eject_summary" msgid="3315557796211542962">"必须先卸载 SD 卡，才能将其安全移除"</string>
-    <string name="sd_insert_summary" msgid="2048640010381803841">"插入 SD 卡进行安装"</string>
-    <string name="sd_mount" msgid="5940523765187704135">"安装 SD 卡"</string>
-    <string name="sd_mount_summary" msgid="4936591681679097699">"安装 SD 卡"</string>
-    <string name="sd_format" msgid="5448738337382712203">"格式化 SD 卡"</string>
-    <string name="sd_format_summary" msgid="6616491027883134004">"格式化（清除）SD 卡"</string>
+    <string name="sd_eject" product="default" msgid="6915293408836853020">"卸载 SD 卡"</string>
+    <string name="sd_eject_summary" product="nosdcard" msgid="5009296896648072891">"卸载内部 USB 存储设备"</string>
+    <string name="sd_eject_summary" product="default" msgid="3300599435073550246">"需要先卸载 SD 卡，然后才能将其安全移除"</string>
+    <string name="sd_insert_summary" product="nosdcard" msgid="5264016886409577313">"插入要装载的 USB 存储设备"</string>
+    <string name="sd_insert_summary" product="default" msgid="2048640010381803841">"插入 SD 卡进行安装"</string>
+    <string name="sd_mount" product="nosdcard" msgid="8966695015677343116">"装载 USB 存储设备"</string>
+    <string name="sd_mount" product="default" msgid="5940523765187704135">"安装 SD 卡"</string>
+    <!-- outdated translation 6733254203291665551 -->     <string name="sd_mount_summary" product="nosdcard" msgid="1794150364965145726">"装载内部 USB 存储设备"</string>
+    <string name="sd_mount_summary" product="default" msgid="4936591681679097699">"安装 SD 卡"</string>
+    <string name="sd_format" product="nosdcard" msgid="2148179271623099054">"格式化 USB 存储设备"</string>
+    <string name="sd_format" product="default" msgid="2576054280507119870">"格式化 SD 卡"</string>
+    <string name="sd_format_summary" product="nosdcard" msgid="1504606546865152514">"清除手机的内部 USB 存储设备中的全部数据，例如音乐和照片"</string>
+    <string name="sd_format_summary" product="default" msgid="915849621390821841">"清除手机的 SD 卡中的全部数据，例如音乐和照片"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"不可用"</string>
     <string name="read_only" msgid="6702420168629076340">" （只读）"</string>
-    <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"卸载 SD 卡"</string>
-    <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"如果您卸载 SD 卡，则您当前使用的某些应用程序会停止，而且在您重新安装 SD 卡前可能都无法使用。"</string>
-    <string name="dlg_error_unmount_title" msgid="4004106918266783081">"无法卸载 SD 卡"</string>
-    <string name="dlg_error_unmount_text" msgid="9188972789897713180">"无法卸载 SD 卡，请稍后重试。"</string>
-    <string name="unmount_inform_text" msgid="3213378327712151498">"系统将要卸载 SD 卡。请在通知区域查看状态。"</string>
+    <string name="dlg_confirm_unmount_title" product="nosdcard" msgid="2349876662428231297">"卸载 USB 存储设备"</string>
+    <string name="dlg_confirm_unmount_title" product="default" msgid="8612140627310646730">"卸载 SD 卡"</string>
+    <string name="dlg_confirm_unmount_text" product="nosdcard" msgid="3390169455621185223">"如果您卸载 USB 存储设备，则您当前使用的某些应用程序会停止，而且在您重新装载 USB 存储设备前可能都无法使用。"</string>
+    <string name="dlg_confirm_unmount_text" product="default" msgid="5851214273718817727">"如果您卸载 SD 卡，则您当前使用的某些应用程序会停止，而且在您重新安装 SD 卡前可能都无法使用。"</string>
+    <string name="dlg_error_unmount_title" product="nosdcard" msgid="7695491947411836733">"卸载 USB 存储设备时失败"</string>
+    <string name="dlg_error_unmount_title" product="default" msgid="4004106918266783081">"无法卸载 SD 卡"</string>
+    <string name="dlg_error_unmount_text" product="nosdcard" msgid="1450864147013376592">"无法卸载 USB 存储设备。请稍后再试。"</string>
+    <string name="dlg_error_unmount_text" product="default" msgid="9188972789897713180">"无法卸载 SD 卡，请稍后重试。"</string>
+    <string name="unmount_inform_text" product="nosdcard" msgid="7120241136790744265">"系统将会卸载 USB 存储设备。"</string>
+    <string name="unmount_inform_text" product="default" msgid="1904212716075458402">"系统将会卸载 SD 卡。"</string>
     <string name="sd_ejecting_title" msgid="8824572198034365468">"正在卸载"</string>
     <string name="sd_ejecting_summary" msgid="2028753069184908491">"正在卸载"</string>
     <string name="battery_status_title" msgid="9159414319574976203">"电池状态"</string>
@@ -571,21 +600,32 @@
     <string name="restore_default_apn_completed" msgid="3990449939234957281">"重置默认 APN 设置已完成"</string>
     <string name="master_clear_title" msgid="5907939616087039756">"恢复出厂设置"</string>
     <string name="master_clear_summary" msgid="4986154238001088492">"清除手机上的所有数据"</string>
-    <string name="master_clear_desc" msgid="7823268823499739178">"这会从手机中删除所有数据，包括："\n<li>"Google 帐户"</li>\n<li>"系统与应用程序的数据和设置"</li>\n<li>"下载的应用程序"</li>\n"不会删除："\n<li>"当前系统软件和捆绑的应用程序"</li>\n<li>"SD 卡文件，如音乐或照片"</li></string>
+    <string name="master_clear_desc" product="nosdcard" msgid="2163013814299528247">"这会清除您手机的"<b>"内部存储设备"</b>"中的全部数据，包括："\n\n<li>"您的 Google 帐户"</li>\n<li>"系统和应用程序数据和设置"</li>\n<li>"已下载的应用程序"</li>\n\n"要清除手机中的全部数据，请格式化 "<b>"USB 存储设备"</b>"。"\n\n</string>
+    <string name="master_clear_desc" product="default" msgid="1741944496458365969">"这会清除您手机的"<b>"内部存储设备"</b>"中的全部数据，包括："\n\n<li>"您的 Google 帐户"</li>\n<li>"系统和应用程序数据和设置"</li>\n<li>"已下载的应用程序"</li>\n\n"要清除音乐、照片和其他用户数据，请格式化 "<b>"SD 卡"</b>"。"\n\n</string>
+    <string name="erase_external_storage" product="nosdcard" msgid="969364037450286809">"格式化 USB 存储设备"</string>
+    <string name="erase_external_storage" product="default" msgid="1397239046334307625">"格式化 SD 卡"</string>
+    <string name="erase_external_storage_description" product="nosdcard" msgid="1657838142707381027">"清除手机的内部 USB 存储设备中的全部数据，例如音乐或照片。"</string>
+    <string name="erase_external_storage_description" product="default" msgid="8100175974635894073">"清除手机的 SD 卡中的全部数据，例如音乐或照片。"</string>
     <string name="master_clear_button_text" msgid="7550632653343157971">"重置手机"</string>
     <string name="master_clear_final_desc" msgid="6917971132484622696">"是否删除所有个人信息和下载的所有应用程序？此操作无法还原！"</string>
     <string name="master_clear_final_button_text" msgid="5390908019019242910">"清除全部内容"</string>
     <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"绘制您的解锁图案"</string>
     <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"您必须绘制解锁图案才能确认重置手机。"</string>
     <string name="master_clear_failed" msgid="8655202125010189406">"未执行重置，因为系统清除服务不可用。"</string>
-    <string name="media_format_title" msgid="4671276096695789895">"格式化 SD 卡。"</string>
-    <string name="media_format_summary" msgid="3805714639375830120">"清除 SD 卡上的所有数据"</string>
-    <string name="media_format_desc" msgid="1142563222357820834">"该操作会清除手机中 SD 卡上的数据。卡上的所有数据都将丢失。"</string>
-    <string name="media_format_button_text" msgid="370856400090190151">"格式化 SD 卡"</string>
-    <string name="media_format_final_desc" msgid="1776666694910717198">"确定要将 SD 卡格式化、清除所有媒体吗？该操作将不能撤消！"</string>
+    <string name="media_format_title" product="nosdcard" msgid="3999653431422767156">"格式化 USB 存储设备"</string>
+    <string name="media_format_title" product="default" msgid="4427528440306787972">"格式化 SD 卡"</string>
+    <string name="media_format_summary" product="nosdcard" msgid="776603298628082065">"清除 USB 存储设备中的全部数据"</string>
+    <string name="media_format_summary" product="default" msgid="3805714639375830120">"清除 SD 卡上的所有数据"</string>
+    <string name="media_format_desc" product="nosdcard" msgid="4553860683952763905">"此操作会格式化 USB 存储设备，会让您丢失其中存储的"<b>"全部"</b>"数据！"</string>
+    <string name="media_format_desc" product="default" msgid="1598627584181935513">"此操作会格式化 SD 卡，会让您丢失其中存储的"<b>"全部"</b>"数据！"</string>
+    <string name="media_format_button_text" product="nosdcard" msgid="6293669371185352810">"格式化 USB 存储设备"</string>
+    <string name="media_format_button_text" product="default" msgid="6721544380069373626">"格式化 SD 卡"</string>
+    <string name="media_format_final_desc" product="nosdcard" msgid="8094635533378487255">"确定要格式化 USB 存储设备，删除其中存储的全部文件吗？该操作将无法撤消！"</string>
+    <string name="media_format_final_desc" product="default" msgid="9015504991522581434">"确定要格式化 SD 卡，删除其中存储的全部文件吗？该操作将无法撤消！"</string>
     <string name="media_format_final_button_text" msgid="4881713344315923175">"清除全部内容"</string>
     <string name="media_format_gesture_prompt" msgid="3109349468816856670">"绘制您的解锁图案"</string>
-    <string name="media_format_gesture_explanation" msgid="4239529439389660159">"您必须绘制解锁图案以确认将 SD 卡格式化。"</string>
+    <string name="media_format_gesture_explanation" product="nosdcard" msgid="1379736318750958338">"您必须绘制解锁图案，以确认对 USB 存储设备执行格式化操作。"</string>
+    <string name="media_format_gesture_explanation" product="default" msgid="1681213416497647321">"您必须绘制解锁图案，以确认对 SD 卡执行格式化操作。"</string>
     <string name="call_settings_title" msgid="5188713413939232801">"通话设置"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"设置语音信箱、来电转接、来电等待和本机号码显示"</string>
     <string name="tether_settings_title_usb" msgid="4315031513434087777">"绑定"</string>
@@ -609,7 +649,7 @@
     <string name="location_networks_disabled" msgid="2708968452901433980">"使用无线网络在应用程序（例如 Google 地图）中查看位置"</string>
     <string name="location_neighborhood_level" msgid="4656658097932515921">"通过 Wi-Fi 和/或移动网络确定的位置"</string>
     <string name="location_gps" msgid="6296125378829097831">"使用 GPS 卫星"</string>
-    <string name="location_street_level" msgid="6460740847018275745">"定位时，精确度设定为街道级别（取消选中可节约电量）"</string>
+    <string name="location_street_level" msgid="7456259025474443314">"定位级别可精确到街道"</string>
     <string name="location_gps_disabled" msgid="6632537158777308128">"定位到街道级别（需要消耗更多电量以及天气允许）"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"使用增强型 GPS"</string>
     <string name="assisted_gps_enabled" msgid="8751899609589792803">"使用服务器来辅助 GPS（取消选中可降低网络使用率）"</string>
@@ -692,22 +732,31 @@
     <string name="application_size_label" msgid="5055196275624686382">"应用程序"</string>
     <string name="data_size_label" msgid="8679376373625710107">"数据"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"卸载"</string>
+    <string name="disable_text" msgid="6544054052049395202">"停用"</string>
+    <string name="enable_text" msgid="9217362512327828987">"启用"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"清除数据"</string>
     <string name="app_factory_reset" msgid="6635744722502563022">"卸载更新"</string>
     <string name="auto_launch_enable_text" msgid="2630656657744196691">"您已选择在默认情况下对某些操作启动此应用程序。"</string>
     <string name="auto_launch_disable_text" msgid="7800385822185540166">"无默认设置。"</string>
     <string name="clear_activities" msgid="7408923511535174430">"清除默认设置"</string>
     <string name="unknown" msgid="1592123443519355854">"未知"</string>
-    <string name="sort_order_alpha" msgid="8622029358896599842">"排序"</string>
+    <string name="sort_order_alpha" msgid="1410278099123670628">"按姓名排序"</string>
     <string name="sort_order_size" msgid="7024513286636502362">"按大小排序"</string>
+    <string name="show_running_services" msgid="5736278767975544570">"显示当前运行的服务"</string>
+    <string name="show_background_processes" msgid="2009840211972293429">"显示缓存进程"</string>
     <string name="manage_space_text" msgid="8852711522447794676">"管理空间"</string>
     <string name="filter" msgid="2018011724373033887">"过滤"</string>
     <string name="filter_dlg_title" msgid="6507663329723966854">"选择过滤选项"</string>
     <string name="filter_apps_all" msgid="5142129378749391876">"全部"</string>
     <string name="filter_apps_third_party" msgid="7786348047690140979">"已下载"</string>
     <string name="filter_apps_running" msgid="7767071454371350486">"正在运行"</string>
-    <string name="filter_apps_onsdcard" msgid="1477351142334784771">"SD 卡中"</string>
-    <string name="loading" msgid="3200408047793887917">"正在载入..."</string>
+    <string name="filter_apps_onsdcard" product="nosdcard" msgid="4843063154701023349">"USB 存储设备"</string>
+    <string name="filter_apps_onsdcard" product="default" msgid="1477351142334784771">"SD 卡中"</string>
+    <string name="disabled" msgid="9206776641295849915">"已停用"</string>
+    <string name="no_applications" msgid="5190227407135243904">"无应用程序。"</string>
+    <string name="internal_storage" msgid="1584700623164275282">"内部存储设备"</string>
+    <string name="sd_card_storage" product="nosdcard" msgid="2673203150465132465">"USB 存储设备"</string>
+    <string name="sd_card_storage" product="default" msgid="7623513618171928235">"SD 卡存储设备"</string>
     <string name="recompute_size" msgid="7722567982831691718">"正在重新计算大小..."</string>
     <string name="clear_data_dlg_title" msgid="4470209520936375508">"删除"</string>
     <string name="clear_data_dlg_text" msgid="8368035073300828451">"此应用程序的所有数据将被永久删除。删除的内容包括所有文件、设置、帐户、数据库等。"</string>
@@ -727,7 +776,8 @@
     <string name="version_text" msgid="9189073826278676425">"版本 <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5042838441401731346">"移动"</string>
     <string name="move_app_to_internal" msgid="3895430471913858185">"移至手机内存"</string>
-    <string name="move_app_to_sdcard" msgid="1143379049903056407">"移至 SD 卡"</string>
+    <string name="move_app_to_sdcard" product="nosdcard" msgid="4350451696315265420">"移至 USB 存储设备"</string>
+    <string name="move_app_to_sdcard" product="default" msgid="1143379049903056407">"移至 SD 卡"</string>
     <string name="moving" msgid="6431016143218876491">"正在移动"</string>
     <string name="insufficient_storage" msgid="8566913062094452962">"存储空间不足。"</string>
     <string name="does_not_exist" msgid="837163572898468245">"该应用程序不存在。"</string>
@@ -735,29 +785,49 @@
     <string name="invalid_location" msgid="4934491353200240499">"指定的安装位置无效。"</string>
     <string name="system_package" msgid="1030561474413022831">"无法在外部媒体上安装系统更新。"</string>
     <string name="force_stop_dlg_title" msgid="4289453224368188476">"强行停止"</string>
-    <string name="force_stop_dlg_text" msgid="3381302041569982075">"此应用程序将立即重新启动。您确定要强行停止应用程序吗？"</string>
+    <string name="force_stop_dlg_text" msgid="5157374701213502922">"强制关闭应用程序会导致其出现异常，您确定要这么做吗？"</string>
     <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"移动应用程序"</string>
     <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"无法移动应用程序。<xliff:g id="REASON">%1$s</xliff:g>"</string>
     <string name="app_install_location_title" msgid="2068975150026852168">"首选安装位置"</string>
     <string name="app_install_location_summary" msgid="879753854530300436">"更改安装新应用程序时使用的首选安装位置"</string>
+    <string name="storageuse_settings_title" msgid="5657014373502630403">"存储空间使用情况"</string>
+    <string name="storageuse_settings_summary" msgid="2556057379120846792">"查看应用程序所用的存储空间"</string>
     <string name="runningservices_settings_title" msgid="8097287939865165213">"正在运行的服务"</string>
     <string name="runningservices_settings_summary" msgid="854608995821032748">"查看和控制当前正在运行的服务"</string>
     <string name="service_restarting" msgid="2242747937372354306">"正在重新启动"</string>
-    <string name="no_running_services" msgid="6981216347270280598">"当前未运行任何服务"</string>
-    <string name="confirm_stop_service" msgid="5700448757318301681">"是否停止服务？"</string>
-    <string name="confirm_stop_service_msg" msgid="1166661293369421272">"服务只有在重新启动后，才可以继续运行。但这可能会给<xliff:g id="APPLICATION">%1$s</xliff:g>应用程序带来意想不到的结果。"</string>
-    <string name="confirm_stop_stop" msgid="7382363913280993331">"停止"</string>
-    <string name="confirm_stop_cancel" msgid="206495326622692381">"取消"</string>
-    <string name="service_started_by_app" msgid="8432097226392386802">"由应用程序启动：触摸可停止"</string>
-    <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>：触摸可进行管理"</string>
-    <string name="service_background_processes" msgid="5158600475629177758">"可用：<xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g>，合计 <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_foreground_processes" msgid="4013890350284680796">"其他：<xliff:g id="MEMORY">%2$s</xliff:g>，合计 <xliff:g id="COUNT">%1$d</xliff:g>"</string>
-    <string name="service_process_name" msgid="8630408984456958400">"进程：<xliff:g id="PROCESS">%1$s</xliff:g>"</string>
+    <string name="cached" msgid="1059590879740175019">"缓存的后台进程"</string>
+    <string name="no_running_services" msgid="2059536495597645347">"当前未运行任何服务。"</string>
+    <string name="service_started_by_app" msgid="6575184738671598131">"已由应用程序启动。"</string>
+    <!-- no translation found for service_client_name (4037193625611815517) -->
+    <skip />
+    <string name="service_background_processes" msgid="6844156253576174488">"可用空间：<xliff:g id="MEMORY">%1$s</xliff:g>"</string>
+    <string name="service_foreground_processes" msgid="7583975676795574276">"已用空间：<xliff:g id="MEMORY">%1$s</xliff:g>"</string>
+    <string name="memory" msgid="6609961111091483458">"RAM"</string>
+    <!-- no translation found for service_process_name (4098932168654826656) -->
+    <skip />
+    <string name="running_processes_item_description_s_s" msgid="5790575965282023145">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> 个进程和 <xliff:g id="NUMSERVICES">%2$d</xliff:g> 个服务"</string>
+    <string name="running_processes_item_description_s_p" msgid="8019860457123222953">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> 个进程和 <xliff:g id="NUMSERVICES">%2$d</xliff:g> 个服务"</string>
+    <string name="running_processes_item_description_p_s" msgid="744424668287252915">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> 个进程和 <xliff:g id="NUMSERVICES">%2$d</xliff:g> 个服务"</string>
+    <string name="running_processes_item_description_p_p" msgid="1607384595790852782">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> 个进程和 <xliff:g id="NUMSERVICES">%2$d</xliff:g> 个服务"</string>
+    <string name="runningservicedetails_settings_title" msgid="6188692418986988288">"正在运行的应用程序"</string>
+    <string name="no_services" msgid="7133900764462288263">"无活动服务"</string>
+    <string name="runningservicedetails_services_title" msgid="391168243725357375">"服务"</string>
+    <string name="runningservicedetails_processes_title" msgid="928115582044655268">"进程"</string>
+    <string name="service_stop" msgid="6369807553277527248">"停止"</string>
+    <string name="service_manage" msgid="1876642087421959194">"设置"</string>
+    <string name="service_stop_description" msgid="3261798282116866961">"此服务由其应用程序启动。停止服务可能会导致应用程序失败。"</string>
+    <string name="heavy_weight_stop_description" msgid="6855241582643136019">"无法安全地停止该应用程序。强行停止可能会导致您目前的部分工作内容丢失。"</string>
+    <string name="background_process_stop_description" msgid="1728354083304746737">"这是旧应用程序进程，用于保持手机的快速运行，以防随时需要。通常不建议停止。"</string>
+    <string name="service_manage_description" msgid="7050092269951613102">"目前正在使用“<xliff:g id="CLIENT_NAME">%1$s</xliff:g>”。触摸“设置”可以对其进行控制。"</string>
+    <string name="main_running_process_description" msgid="929204645380391397">"正在使用的主要进程。"</string>
+    <string name="process_service_in_use_description" msgid="8993335064403217080">"正在使用服务<xliff:g id="COMP_NAME">%1$s</xliff:g>。"</string>
+    <string name="process_provider_in_use_description" msgid="5586603325677678940">"正在使用提供商<xliff:g id="COMP_NAME">%1$s</xliff:g>。"</string>
+    <string name="runningservicedetails_stop_dlg_title" msgid="4253292537154337233">"要停止系统服务吗？"</string>
+    <string name="runningservicedetails_stop_dlg_text" msgid="6929716497425738387">"确定要停止此系统服务吗？如果停止，您手机上的某些功能也会立即停止工作，除非您将其关闭后再重新打开。"</string>
     <string name="language_settings" msgid="502219872342167227">"语言和键盘"</string>
     <string name="language_keyboard_settings_title" msgid="3455826933385341107">"语言和键盘设置"</string>
-    <string name="language_settings_summary" msgid="595647729475399987">"设置语言区域（语言和区域）、文字输入和自动更正选项"</string>
-    <string name="language_category" msgid="3391756582724541530">"语言区域设置"</string>
-    <string name="text_category" msgid="6342540511465136739">"文字设置"</string>
+    <string name="language_settings_category" msgid="2288258489940617043">"语言设置"</string>
+    <string name="keyboard_settings_category" msgid="7060453865544070642">"键盘设置"</string>
     <string name="phone_language" msgid="1165758957501090679">"选择语言"</string>
     <string name="phone_language_summary" msgid="3871309445655554211"></string>
     <string name="auto_replace" msgid="6199184757891937822">"自动替换"</string>
@@ -782,7 +852,6 @@
     <string name="testing" msgid="6584352735303604146">"测试"</string>
     <string name="testing_phone_info" msgid="8656693364332840056">"手机信息"</string>
     <string name="testing_battery_info" msgid="3497865525976497848">"电池信息"</string>
-    <string name="testing_battery_history" msgid="3043329445810695647">"电池历史记录"</string>
     <string name="quick_launch_title" msgid="7904609846945905306">"快速启动"</string>
     <string name="quick_launch_summary" msgid="3453825712466417452">"设置启动应用程序的键盘快捷键"</string>
     <string name="quick_launch_assign_application" msgid="4521368464929956350">"分配应用程序"</string>
@@ -798,8 +867,8 @@
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"管理文字输入选项"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"<xliff:g id="IME_NAME">%1$s</xliff:g> 设置"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"屏幕键盘设置"</string>
-    <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"设备键盘"</string>
-    <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"内置键盘设置"</string>
+    <string name="builtin_keyboard_settings_title" msgid="5274990495405941804">"内置键盘"</string>
+    <string name="builtin_keyboard_settings_summary" msgid="7990296351888096836">"内置物理键盘设置"</string>
     <string name="development_settings_title" msgid="6719732334835420989">"开发"</string>
     <string name="development_settings_summary" msgid="2151320488701538355">"设置应用程序开发选项"</string>
     <string name="enable_adb" msgid="7982306934419797485">"USB 调试"</string>
@@ -812,36 +881,10 @@
     <string name="adb_warning_message" msgid="5352555112049663033">"USB 调试仅用于开发工作。使用该功能可在计算机和移动设备之间复制数据、在移动设备上安装应用程序而不进行通知，以及读取日志数据。"</string>
     <string name="gadget_picker_title" msgid="98374951396755811">"选择小工具"</string>
     <string name="widget_picker_title" msgid="9130684134213467557">"选择窗口小部件"</string>
-    <string name="battery_history_details_for" msgid="5924639922153109669">"有关用户 ID <xliff:g id="NUMBER">%d</xliff:g> 的详情"</string>
-    <string name="battery_history_uid" msgid="1016606150528436298">"用户 ID <xliff:g id="USER_ID">%1$d</xliff:g>"</string>
-    <string name="battery_history_network_usage" msgid="8010852371665217020">"有关<xliff:g id="APP_NAME">%1$s</xliff:g>的网络使用详情："</string>
-    <string name="battery_history_bytes_received" msgid="980307569180518302">"收到的字节数：<xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_sent" msgid="2501748768602119159">"发送的字节数：<xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_total" msgid="4444807574361642753">"总字节数：<xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_cpu_usage" msgid="2597353713014790877">"有关<xliff:g id="APP_NAME">%1$s</xliff:g>的 CPU 使用详情："</string>
-    <string name="battery_history_user_time" msgid="6227507614894791359">"用户时间："</string>
-    <string name="battery_history_system_time" msgid="2015862072724507547">"系统时间："</string>
-    <string name="battery_history_total_time" msgid="3618703970098556104">"合计时间："</string>
-    <string name="battery_history_starts" msgid="9137453931978571696">"启动次数：<xliff:g id="STARTS">%1$d</xliff:g>"</string>
     <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g> 天 <xliff:g id="HOURS">%2$d</xliff:g> 小时 <xliff:g id="MINUTES">%3$d</xliff:g> 分 <xliff:g id="SECONDS">%4$d</xliff:g> 秒"</string>
     <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g> 小时 <xliff:g id="MINUTES">%2$d</xliff:g> 分 <xliff:g id="SECONDS">%3$d</xliff:g> 秒"</string>
     <string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g> 分 <xliff:g id="SECONDS">%2$d</xliff:g> 秒"</string>
     <string name="battery_history_seconds" msgid="4283492130945761685">"<xliff:g id="SECONDS">%1$d</xliff:g> 秒"</string>
-    <string name="battery_history_packages_sharing_this_uid" msgid="4101596071379250050">"共享该用户 ID 的数据包："</string>
-    <string name="battery_history_no_data" msgid="1177238743237067617">"没有可用的电池使用数据"</string>
-    <string name="battery_history_sensor" msgid="2333488996028993982">"传感器："</string>
-    <string name="battery_history_wakelock" msgid="608683447522396293">"部分激活锁定："</string>
-    <string name="battery_history_used_by_packages" msgid="3000711380023436470">"包使用的传感器："</string>
-    <string name="battery_history_sensor_usage" msgid="3593133338613209024">"<xliff:g id="PACKAGE">%2$s</xliff:g>使用了 <xliff:g id="COUNT">%1$d</xliff:g> 次"</string>
-    <string name="battery_history_sensor_usage_multi" msgid="4536084375991014508">"由以下某项使用过 <xliff:g id="COUNT">%1$d</xliff:g> 次："</string>
-    <string name="battery_history_awake_label" msgid="8449792868990080882">"正在运行"</string>
-    <string name="battery_history_screen_on_label" msgid="1848936521786339362">"屏幕已开启"</string>
-    <string name="battery_history_phone_on_label" msgid="700191958853142297">"手机已开启"</string>
-    <string name="battery_history_awake" msgid="4350886665719031057">"除睡眠状态以外的时间"</string>
-    <string name="battery_history_screen_on" msgid="1377240025275657277">"屏幕开启所花费的时间："</string>
-    <string name="battery_history_phone_on" msgid="4891504401623839532">"手机处于开机状态的时间："</string>
-    <string name="battery_history_screen_on_battery" msgid="536058210445081888">"正在使用电池："</string>
-    <string name="battery_history_screen_on_plugged" msgid="5019127390021871260">"充电时间："</string>
     <string name="usage_stats_label" msgid="5890846333487083609">"使用情况统计数据"</string>
     <string name="testing_usage_stats" msgid="7823048598893937339">"使用情况统计数据"</string>
     <string name="display_order_text" msgid="8592776965827565271">"排序方式："</string>
@@ -865,12 +908,19 @@
     <string name="power_usage_summary" msgid="7237084831082848168">"耗电情况"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"拔下电源后的电量消耗情况"</string>
     <string name="battery_since_reset" msgid="7464546661121187045">"重置后的电量消耗情况"</string>
+    <string name="battery_stats_on_battery" msgid="4970762168505236033">"电池仍可持续 <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="battery_stats_duration" msgid="7464501326709469282">"拔下电源后已过 <xliff:g id="TIME">%1$s</xliff:g>"</string>
+    <string name="battery_stats_charging_label" msgid="4223311142875178785">"正在充电"</string>
+    <string name="battery_stats_screen_on_label" msgid="7150221809877509708">"屏幕已开启"</string>
+    <string name="battery_stats_gps_on_label" msgid="1193657533641951256">"GPS 已启用"</string>
+    <string name="battery_stats_wifi_running_label" msgid="3093545080361658269">"Wi-Fi"</string>
+    <string name="battery_stats_wake_lock_label" msgid="1908942681902324095">"唤醒"</string>
+    <string name="battery_stats_phone_signal_label" msgid="6822042940376636775">"手机信号强度"</string>
     <!-- no translation found for battery_stats_last_duration (1535831453827905957) -->
     <skip />
     <string name="awake" msgid="387122265874485088">"设备唤醒时间"</string>
-    <string name="wifi_on_time" msgid="4630925382578609056">"WiFi 开启时间"</string>
-    <string name="bluetooth_on_time" msgid="4478515071957280711">"WiFi 开启时间"</string>
+    <string name="wifi_on_time" msgid="6310209835617490616">"Wi-Fi 开启时间"</string>
+    <string name="bluetooth_on_time" msgid="6157799524996162271">"Wi-Fi 开启时间"</string>
     <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g> - <xliff:g id="NUMBER">%2$s</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
     <string name="details_title" msgid="7564809986329021063">"电量使用详情"</string>
     <string name="details_subtitle" msgid="32593908269911734">"详细使用情况"</string>
@@ -884,7 +934,9 @@
     <string name="power_idle" msgid="9055659695602194990">"手机待机"</string>
     <string name="usage_type_cpu" msgid="715162150698338714">"CPU 总使用时间"</string>
     <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"CPU（前台）"</string>
+    <string name="usage_type_wake_lock" msgid="5125438890233677880">"保持唤醒状态"</string>
     <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string>
+    <string name="usage_type_wifi_running" msgid="8234997940652067049">"Wi-Fi 正在运行"</string>
     <string name="usage_type_phone" msgid="9108247984998041853">"通话"</string>
     <string name="usage_type_data_send" msgid="2857401966985425427">"数据已发送"</string>
     <string name="usage_type_data_recv" msgid="7251090882025234185">"数据已收到"</string>
@@ -896,7 +948,7 @@
     <string name="battery_action_app_details" msgid="3275013531871113681">"应用程序信息"</string>
     <string name="battery_action_app_settings" msgid="350562653472577250">"应用程序设置"</string>
     <string name="battery_action_display" msgid="5302763261448580102">"显示设置"</string>
-    <string name="battery_action_wifi" msgid="5452076674659927993">"WiFi 设置"</string>
+    <string name="battery_action_wifi" msgid="2272741639606146903">"Wi-Fi 设置"</string>
     <string name="battery_action_bluetooth" msgid="8374789049507723142">"蓝牙设置"</string>
     <string name="battery_desc_voice" msgid="8980322055722959211">"语音通话所耗的电量"</string>
     <string name="battery_desc_standby" msgid="3009080001948091424">"手机待机时所耗的电量"</string>
@@ -909,9 +961,9 @@
     <string name="battery_desc_bluetooth" msgid="7535520658674621902">"蓝牙所耗的电量"</string>
     <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"请在未使用蓝牙功能时将其关闭"</string>
     <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"正在尝试连接另一蓝牙设备"</string>
-    <string name="battery_desc_apps" msgid="8123202939321333639">"运行应用程序时所耗的电量"</string>
+    <string name="battery_desc_apps" msgid="6665712811746233450">"应用程序所耗的电量"</string>
     <string name="battery_sugg_apps_info" msgid="6065882899391322442">"停止或卸载应用程序"</string>
-    <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"不使用 GPS 时将其关闭"</string>
+    <string name="battery_sugg_apps_gps" msgid="4545056413090932541">"手动控制 GPS，以阻止应用程序使用它"</string>
     <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"该应用程序中可能有用于减少耗电量的设置"</string>
     <string name="menu_stats_unplugged" msgid="8296577130840261624">"拔下电源后已过 <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"上次拔下电源 <xliff:g id="UNPLUGGED">%1$s</xliff:g> 时"</string>
@@ -961,6 +1013,8 @@
     <string name="pico_not_installed" msgid="6266845418419994311">"未安装"</string>
     <string name="pico_voice_summary_female" msgid="8047327176247727492">"女声"</string>
     <string name="pico_voice_summary_male" msgid="8331266854058577610">"男声"</string>
+    <string name="tts_notif_engine_install_title" msgid="7000346872482649034">"语音合成引擎已安装"</string>
+    <string name="tts_notif_engine_install_message" msgid="5304661142202662693">"启用新引擎后才能使用"</string>
     <string name="gadget_title" msgid="7455548605888590466">"电量控制"</string>
     <string name="gadget_toggle_wifi" msgid="2382963973155082629">"正在更新 Wi-Fi 设置"</string>
     <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"正在更新蓝牙设置"</string>
@@ -1047,8 +1101,10 @@
     <string name="credentials_access_summary" msgid="319662078718574168">"允许应用程序访问安全凭证和其他凭证"</string>
     <string name="credentials_unlock" msgid="1463040326264133844">"输入密码"</string>
     <string name="credentials_unlock_hint" msgid="594679530407918031">"输入凭证存储密码。"</string>
-    <string name="credentials_install_certificates" msgid="177337517568022236">"从 SD 卡安装"</string>
-    <string name="credentials_install_certificates_summary" msgid="7737001268684193093">"从 SD 卡安装加密的证书"</string>
+    <string name="credentials_install_certificates" product="nosdcard" msgid="619171634797689906">"从 USB 存储设备安装"</string>
+    <string name="credentials_install_certificates" product="default" msgid="177337517568022236">"从 SD 卡安装"</string>
+    <string name="credentials_install_certificates_summary" product="nosdcard" msgid="8920330112631198575">"从 USB 存储设备安装已加密的证书"</string>
+    <string name="credentials_install_certificates_summary" product="default" msgid="7737001268684193093">"从 SD 卡安装加密的证书"</string>
     <string name="credentials_set_password" msgid="9104473585811899989">"设置密码"</string>
     <string name="credentials_set_password_summary" msgid="8287876917562085701">"设置或更改凭证存储密码"</string>
     <string name="credentials_reset" msgid="9170150870552453457">"清除存储"</string>
@@ -1068,6 +1124,16 @@
     <string name="credentials_erased" msgid="7700309135582200849">"该凭证存储已删除。"</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"凭证存储已启用。"</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"凭证存储已停用。"</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"加密文件系统"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"加密用户私人数据"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"在此设备中针对用户私人数据启用加密文件系统存储"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"必须清除设备数据才能启用加密文件系统。"</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"必须清除设备数据才能停用加密文件系统。"</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"启用"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"停用"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"取消"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"已取消加密文件系统的模式更改。"</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"加密文件系统警告。"</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"紧急提示音"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"设置进行紧急呼救时的行为"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"隐私权"</string>
@@ -1075,11 +1141,11 @@
     <string name="backup_section_title" msgid="8856083167469467588">"备份和还原"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"个人数据"</string>
     <string name="backup_data_title" msgid="1239105919852668016">"备份我的数据"</string>
-    <string name="backup_data_summary" msgid="5662190190240860035">"备份我的设置和其他应用程序数据。"</string>
+    <string name="backup_data_summary" msgid="6515285107793232815">"将应用程序数据、Wi-Fi 密码和其他设置备份至 Google 服务器"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"自动还原"</string>
-    <string name="auto_restore_summary" msgid="6867766474057290177">"重新安装某个应用程序后，系统会还原已经备份的设置或其他数据。"</string>
+    <string name="auto_restore_summary" msgid="83177150536734378">"重新安装某个应用程序后，系统会还原已经备份的设置或其他数据"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"备份"</string>
-    <string name="backup_erase_dialog_message" msgid="2948090854996352245">"您是否确定要停止备份您的设置和应用程序数据，并清除 Google 服务器上的所有副本？"</string>
+    <string name="backup_erase_dialog_message" msgid="7766283133557587608">"确定要停止备份您的 Wi-Fi 密码、书签以及其他设置和应用程序数据，并清除 Google 服务器上的所有副本吗？"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"设备管理设置"</string>
     <string name="active_device_admin_msg" msgid="6930903262612422111">"设备管理器"</string>
     <string name="remove_device_admin" msgid="3596845261596451437">"取消激活"</string>
diff --git a/res/values-zh-rTW/arrays.xml b/res/values-zh-rTW/arrays.xml
index 0aae95f..0ed49c6 100644
--- a/res/values-zh-rTW/arrays.xml
+++ b/res/values-zh-rTW/arrays.xml
@@ -115,19 +115,6 @@
     <item msgid="1549288661423279207">"插入時絕不"</item>
     <item msgid="1986753720941888596">"永不"</item>
   </string-array>
-  <string-array name="battery_history_type_spinner">
-    <item msgid="2193799199027871385">"CPU 使用率"</item>
-    <item msgid="6401018715947316517">"網路使用率"</item>
-    <item msgid="188092590354892392">"GPS 使用率"</item>
-    <item msgid="8414109131222049141">"感應器使用率"</item>
-    <item msgid="1327904325081257093">"部分喚醒使用率"</item>
-    <item msgid="4832254146664706277">"其他使用率"</item>
-  </string-array>
-  <string-array name="battery_history_which_spinner">
-    <item msgid="3451981114763440074">"自上次拔除插頭後的時間"</item>
-    <item msgid="166936313535197598">"開機後總時間"</item>
-    <item msgid="4793941382744963893">"所有時間的總計"</item>
-  </string-array>
   <string-array name="usage_stats_display_order_types">
     <item msgid="9077371706468756228">"使用時間"</item>
     <item msgid="1908750532762193304">"啟動計數"</item>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 2e593bf..8200524 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -45,13 +45,16 @@
     <string name="radioInfo_display_asu" msgid="1422248392727818082">"asu"</string>
     <string name="radioInfo_lac" msgid="8415219164758307156">"LAC"</string>
     <string name="radioInfo_cid" msgid="4362599198392643138">"客戶編號"</string>
-    <string name="sdcard_unmount" msgid="3364184561355611897">"卸載 SD 卡"</string>
-    <string name="sdcard_format" msgid="362497552060004057">"將 SD 卡格式化"</string>
+    <string name="sdcard_unmount" product="nosdcard" msgid="6325292633327972272">"無法卸載 USB 儲存裝置"</string>
+    <string name="sdcard_unmount" product="default" msgid="3364184561355611897">"卸載 SD 卡"</string>
+    <string name="sdcard_format" product="nosdcard" msgid="6285310523155166716">"清除 USB 儲存裝置"</string>
+    <string name="sdcard_format" product="default" msgid="6713185532039187532">"清除 SD 卡"</string>
     <string name="small_font" msgid="2295331917424072635">"小"</string>
     <string name="medium_font" msgid="2068475425515133701">"中"</string>
     <string name="large_font" msgid="599055175160971446">"大"</string>
     <string name="font_size_save" msgid="3450855718056759095">"確定"</string>
-    <string name="sdcard_setting" msgid="5922637503871474866">"SD 卡"</string>
+    <string name="sdcard_setting" product="nosdcard" msgid="8281011784066476192">"USB 儲存裝置"</string>
+    <string name="sdcard_setting" product="default" msgid="5922637503871474866">"SD 卡"</string>
     <string name="battery_info_status_label" msgid="8109155295509700309">"電池狀態："</string>
     <string name="battery_info_power_label" msgid="7465140230991349382">"電源插頭："</string>
     <string name="battery_info_scale_label" msgid="3649763192389778437">"電池存量："</string>
@@ -180,27 +183,34 @@
     <string name="sdcard_changes_instructions" msgid="1364712901180556244">"USB 纜線重新連接時，變更才會生效"</string>
     <string name="sdcard_settings_screen_mass_storage_text" msgid="3741220147296482474">"啟用 USB 大量儲存裝置"</string>
     <string name="sdcard_settings_total_bytes_label" msgid="9184160745785062144">"總容量 (bytes)："</string>
-    <string name="sdcard_settings_not_present_status" msgid="6666688653496819947">"沒有 SD 卡"</string>
+    <string name="sdcard_settings_not_present_status" product="nosdcard" msgid="2902787003418172125">"未掛接 USB 儲存裝置"</string>
+    <string name="sdcard_settings_not_present_status" product="default" msgid="6666688653496819947">"沒有 SD 卡"</string>
     <string name="sdcard_settings_available_bytes_label" msgid="763232429899373001">"可用容量 (bytes)："</string>
-    <string name="sdcard_settings_mass_storage_status" msgid="4786433969313661655">"SD 卡已視為 USB 大量儲存裝置"</string>
-    <string name="sdcard_settings_unmounted_status" msgid="3812022095683863087">"您現在可以放心移除 SD 卡"</string>
-    <string name="sdcard_settings_bad_removal_status" msgid="5145797653495907970">"SD 卡仍在使用時便被移除！"</string>
+    <string name="sdcard_settings_mass_storage_status" product="nosdcard" msgid="2736378870889777857">"USB 儲存裝置目前作為大量儲存裝置使用"</string>
+    <string name="sdcard_settings_mass_storage_status" product="default" msgid="4786433969313661655">"SD 卡已視為 USB 大量儲存裝置"</string>
+    <string name="sdcard_settings_unmounted_status" product="nosdcard" msgid="7503300818792750913">"現在可以安全移除 USB 儲存裝置了"</string>
+    <string name="sdcard_settings_unmounted_status" product="default" msgid="3812022095683863087">"您現在可以放心移除 SD 卡"</string>
+    <string name="sdcard_settings_bad_removal_status" product="nosdcard" msgid="7761390725880773697">"USB 儲存裝置在使用期間遭到移除！"</string>
+    <string name="sdcard_settings_bad_removal_status" product="default" msgid="5145797653495907970">"SD 卡仍在使用時便被移除！"</string>
     <string name="sdcard_settings_used_bytes_label" msgid="8820289486001170836">"使用容量 (bytes)："</string>
-    <string name="sdcard_settings_scanning_status" msgid="2763464949274455656">"從 SD 卡掃描媒體中..."</string>
-    <string name="sdcard_settings_read_only_status" msgid="5706115860484118911">"SD 卡為唯讀狀態"</string>
+    <string name="sdcard_settings_scanning_status" product="nosdcard" msgid="7503429447676219564">"正在掃描媒體的 USB 儲存裝置..."</string>
+    <string name="sdcard_settings_scanning_status" product="default" msgid="2763464949274455656">"從 SD 卡掃描媒體中..."</string>
+    <string name="sdcard_settings_read_only_status" product="nosdcard" msgid="3771783090621312312">"以唯讀形式掛接 USB 儲存裝置"</string>
+    <string name="sdcard_settings_read_only_status" product="default" msgid="5706115860484118911">"SD 卡為唯讀狀態"</string>
     <string name="next_label" msgid="4693520878012668114">"下一頁"</string>
     <string name="language_picker_title" msgid="4034157617842965844">"地區設定"</string>
     <string name="select_your_language" msgid="1146235168951906084">"選取語言"</string>
     <string name="activity_picker_label" msgid="4910700713930693329">"選取動作"</string>
     <string name="device_info_label" msgid="6551553813651711205">"裝置資訊"</string>
     <string name="battery_info_label" msgid="4132685016148679403">"電池資訊"</string>
-    <string name="battery_history_label" msgid="8242244969757414501">"電池記錄"</string>
     <string name="display_label" msgid="7403874003169865762">"顯示"</string>
     <string name="phone_info_label" msgid="2127552523124277664">"手機資訊"</string>
-    <string name="sd_card_settings_label" msgid="5743100901106177102">"SD 卡"</string>
+    <string name="sd_card_settings_label" product="nosdcard" msgid="8101475181301178428">"USB 儲存裝置"</string>
+    <string name="sd_card_settings_label" product="default" msgid="5743100901106177102">"SD 卡"</string>
     <string name="proxy_settings_label" msgid="3271174136184391743">"Proxy 設定"</string>
     <string name="cancel" msgid="6859253417269739139">"取消"</string>
     <string name="settings_label" msgid="1626402585530130914">"設定"</string>
+    <string name="settings_label_launcher" msgid="8344735489639482340">"設定"</string>
     <string name="settings_shortcut" msgid="3672145147925639262">"設定"</string>
     <string name="airplane_mode" msgid="8837269988154128601">"飛航模式"</string>
     <string name="airplane_mode_summary" msgid="3154817401368780988">"停用所有的無線網路連線"</string>
@@ -323,6 +333,11 @@
     <string name="bluetooth_dock_settings_headset" msgid="1001821426078644650">"當成手機喇叭"</string>
     <string name="bluetooth_dock_settings_a2dp" msgid="8791004998846630574">"使用於音樂與媒體"</string>
     <string name="bluetooth_dock_settings_remember" msgid="5551459057010609115">"記住設定"</string>
+    <string name="nfc_quick_toggle_title" msgid="6769159366307299004">"NFC"</string>
+    <string name="nfc_quick_toggle_summary" msgid="1988408027741447231">"使用近距離無線通訊讀取和交換標記"</string>
+    <!-- no translation found for nfc_toggle_error (2233172102497535522) -->
+    <!-- no translation found for nfc_toggle_error (8998642457947607263) -->
+    <skip />
     <string name="wifi_quick_toggle_title" msgid="874495178395350104">"Wi-Fi"</string>
     <string name="wifi_quick_toggle_summary" msgid="1047950931623694366">"開啟 Wi-Fi"</string>
     <string name="wifi_settings" msgid="4746946030627213196">"Wi-Fi 設定"</string>
@@ -376,6 +391,7 @@
     <string name="wifi_setting_sleep_policy_summary" msgid="7573693311804602041">"指定何時要從 Wi-Fi 切換到行動數據"</string>
     <string name="wifi_setting_sleep_policy_error" msgid="5103670439972135148">"休眠設定時發生問題。"</string>
     <string name="wifi_advanced_mac_address_title" msgid="6571335466330978393">"MAC 位址"</string>
+    <string name="wifi_advanced_ip_address_title" msgid="6215297094363164846">"IP 位址"</string>
     <string name="wifi_ip_settings_titlebar" msgid="4345739031248760326">"IP 設定"</string>
     <string name="wifi_ip_settings_menu_save" msgid="7296724066102908366">"儲存"</string>
     <string name="wifi_ip_settings_menu_cancel" msgid="6582567330136502340">"取消"</string>
@@ -496,9 +512,10 @@
     <string name="device_status_activity_title" msgid="1411201799384697904">"狀態"</string>
     <string name="device_status" msgid="607405385799807324">"狀態"</string>
     <string name="device_status_summary" msgid="2599162787451519618">"電話號碼、訊號等。"</string>
-    <string name="storage_settings" msgid="6681164315506788024">"SD 卡和行動電話儲存空間"</string>
-    <string name="storage_settings_title" msgid="5379463509034022773">"SD 卡和行動電話儲存空間設定"</string>
-    <string name="storage_settings_summary" msgid="9176693537325988610">"卸載 SD 卡，檢視可用儲存媒體。"</string>
+    <string name="storage_settings" msgid="4211799979832404953">"儲存空間"</string>
+    <string name="storage_settings_title" msgid="8746016738388094064">"儲存設定"</string>
+    <string name="storage_settings_summary" product="nosdcard" msgid="3543813623294870759">"卸載 USB 儲存裝置，瀏覽可用的儲存裝置"</string>
+    <string name="storage_settings_summary" product="default" msgid="9176693537325988610">"卸載 SD 卡，檢視可用儲存媒體。"</string>
     <string name="status_number" msgid="5123197324870153205">"我的電話號碼"</string>
     <string name="status_min_number" msgid="3519504522179420597">"MIN"</string>
     <string name="status_prl_version" msgid="8499039751817386529">"PRL 版本"</string>
@@ -514,24 +531,36 @@
     <string name="status_unavailable" msgid="7862009036663793314">"無法取得"</string>
     <string name="status_up_time" msgid="7294859476816760399">"開機時間"</string>
     <string name="status_awake_time" msgid="2393949909051183652">"清醒時間"</string>
-    <string name="internal_memory" msgid="1130932766236387454">"手機內部記憶體"</string>
-    <string name="sd_memory" msgid="151871913888051515">"SD 卡"</string>
+    <string name="internal_memory" msgid="9129595691484260784">"內存空間"</string>
+    <string name="sd_memory" product="nosdcard" msgid="2510246194083052841">"USB 儲存裝置"</string>
+    <string name="sd_memory" product="default" msgid="151871913888051515">"SD 卡"</string>
     <string name="memory_available" msgid="418542433817289474">"可用空間"</string>
     <string name="memory_size" msgid="6629067715017232195">"總空間"</string>
-    <string name="sd_eject" msgid="6915293408836853020">"卸載 SD 卡"</string>
-    <string name="sd_eject_summary" msgid="3315557796211542962">"必須先卸載 SD 卡，才能安全移除"</string>
-    <string name="sd_insert_summary" msgid="2048640010381803841">"插入要掛載的 SD 卡"</string>
-    <string name="sd_mount" msgid="5940523765187704135">"掛載 SD 卡"</string>
-    <string name="sd_mount_summary" msgid="4936591681679097699">"掛載 SD 卡"</string>
-    <string name="sd_format" msgid="5448738337382712203">"將 SD 卡格式化"</string>
-    <string name="sd_format_summary" msgid="6616491027883134004">"將 SD 卡格式化 (清除)"</string>
+    <string name="sd_eject" product="default" msgid="6915293408836853020">"卸載 SD 卡"</string>
+    <string name="sd_eject_summary" product="nosdcard" msgid="5009296896648072891">"卸載內部 USB 儲存裝置"</string>
+    <string name="sd_eject_summary" product="default" msgid="3300599435073550246">"請先卸載 SD 卡，才能將其安全移除"</string>
+    <string name="sd_insert_summary" product="nosdcard" msgid="5264016886409577313">"插入用於掛接的 USB 儲存裝置"</string>
+    <string name="sd_insert_summary" product="default" msgid="2048640010381803841">"插入要掛載的 SD 卡"</string>
+    <string name="sd_mount" product="nosdcard" msgid="8966695015677343116">"掛接 USB 儲存裝置"</string>
+    <string name="sd_mount" product="default" msgid="5940523765187704135">"掛載 SD 卡"</string>
+    <!-- outdated translation 6733254203291665551 -->     <string name="sd_mount_summary" product="nosdcard" msgid="1794150364965145726">"掛接內部 USB 儲存裝置"</string>
+    <string name="sd_mount_summary" product="default" msgid="4936591681679097699">"掛載 SD 卡"</string>
+    <string name="sd_format" product="nosdcard" msgid="2148179271623099054">"清除 USB 儲存裝置"</string>
+    <string name="sd_format" product="default" msgid="2576054280507119870">"清除 SD 卡"</string>
+    <string name="sd_format_summary" product="nosdcard" msgid="1504606546865152514">"清除手機內部 USB 儲存裝置的所有資料，例如音樂和相片。"</string>
+    <string name="sd_format_summary" product="default" msgid="915849621390821841">"清除手機 SD 卡中的所有資料，例如音樂和相片"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"無法取得資訊"</string>
     <string name="read_only" msgid="6702420168629076340">" (唯讀)"</string>
-    <string name="dlg_confirm_unmount_title" msgid="8612140627310646730">"卸載 SD 卡"</string>
-    <string name="dlg_confirm_unmount_text" msgid="5851214273718817727">"如果您將 SD 卡退出，則您正在使用的某些應用程式會停止運作，而且可能無法使用，待您將 SD 卡重新插入才會恢復正常。"</string>
-    <string name="dlg_error_unmount_title" msgid="4004106918266783081">"無法退出 SD 卡"</string>
-    <string name="dlg_error_unmount_text" msgid="9188972789897713180">"無法退出 SD 卡。請稍後再試一次。"</string>
-    <string name="unmount_inform_text" msgid="3213378327712151498">"即將退出 SD 卡。請檢查通知區域，瞭解狀態。"</string>
+    <string name="dlg_confirm_unmount_title" product="nosdcard" msgid="2349876662428231297">"無法卸載 USB 儲存裝置"</string>
+    <string name="dlg_confirm_unmount_title" product="default" msgid="8612140627310646730">"卸載 SD 卡"</string>
+    <string name="dlg_confirm_unmount_text" product="nosdcard" msgid="3390169455621185223">"如果您卸載 USB 儲存裝置，則某些正在使用中的應用程式會停止運作，而且可能無法使用，直到重新掛接 USB 儲存裝置之後才會恢復正常。"</string>
+    <string name="dlg_confirm_unmount_text" product="default" msgid="5851214273718817727">"如果您將 SD 卡退出，則您正在使用的某些應用程式會停止運作，而且可能無法使用，待您將 SD 卡重新插入才會恢復正常。"</string>
+    <string name="dlg_error_unmount_title" product="nosdcard" msgid="7695491947411836733">"卸載 USB 儲存裝置失敗"</string>
+    <string name="dlg_error_unmount_title" product="default" msgid="4004106918266783081">"無法退出 SD 卡"</string>
+    <string name="dlg_error_unmount_text" product="nosdcard" msgid="1450864147013376592">"無法卸載 USB 儲存裝置，請稍候再試。"</string>
+    <string name="dlg_error_unmount_text" product="default" msgid="9188972789897713180">"無法退出 SD 卡。請稍後再試一次。"</string>
+    <string name="unmount_inform_text" product="nosdcard" msgid="7120241136790744265">"即將卸載 USB 儲存裝置。"</string>
+    <string name="unmount_inform_text" product="default" msgid="1904212716075458402">"即將卸載 SD 卡。"</string>
     <string name="sd_ejecting_title" msgid="8824572198034365468">"正在取出"</string>
     <string name="sd_ejecting_summary" msgid="2028753069184908491">"正在取出"</string>
     <string name="battery_status_title" msgid="9159414319574976203">"電池狀態"</string>
@@ -571,21 +600,32 @@
     <string name="restore_default_apn_completed" msgid="3990449939234957281">"重設預設 APN 設定已完成"</string>
     <string name="master_clear_title" msgid="5907939616087039756">"重設為原廠設定"</string>
     <string name="master_clear_summary" msgid="4986154238001088492">"清除手機上所有資料"</string>
-    <string name="master_clear_desc" msgid="7823268823499739178">"這將清除您手機中的下列資料："\n<li>"您的 Google 帳戶"</li>\n<li>"系統與應用程式的資料和設定"</li>\n<li>"已下載的應用程式"</li>\n"不會清除下列資料："\n<li>"目前的系統軟體和附屬應用程式"</li>\n<li>"SD 卡中的檔案，例如音樂或相片"</li></string>
+    <string name="master_clear_desc" product="nosdcard" msgid="2163013814299528247">"這會清除您手機"<b>"內存空間"</b>"中的所有資料，包括："\n\n<li>"您的 Google 帳戶"</li>\n<li>"系統和應用程式資料及設定"</li>\n<li>"已下載的應用程式"</li>\n\n"如要清除手機上的所有資料，則需清除 "<b>"USB 儲存裝置"</b>"。"\n\n</string>
+    <string name="master_clear_desc" product="default" msgid="1741944496458365969">"這會清除您手機"<b>"內存空間"</b>"中的所有資料，包括："\n\n<li>"您的 Google 帳戶"</li>\n<li>"系統和應用程式資料及設定"</li>\n<li>"已下載的應用程式"</li>\n\n"如要一併清除音樂、相片及其他資料，則需清除 "<b>"SD 卡"</b>"。"\n\n</string>
+    <string name="erase_external_storage" product="nosdcard" msgid="969364037450286809">"清除 USB 儲存裝置"</string>
+    <string name="erase_external_storage" product="default" msgid="1397239046334307625">"清除 SD 卡"</string>
+    <string name="erase_external_storage_description" product="nosdcard" msgid="1657838142707381027">"清除手機內部 USB 儲存裝置的所有資料，例如音樂或相片。"</string>
+    <string name="erase_external_storage_description" product="default" msgid="8100175974635894073">"清除手機 SD 卡上的所有資料，例如音樂或相片。"</string>
     <string name="master_clear_button_text" msgid="7550632653343157971">"重設手機"</string>
     <string name="master_clear_final_desc" msgid="6917971132484622696">"要清除所有個人資料及先前下載的應用程式嗎？這個動作無法復原！"</string>
     <string name="master_clear_final_button_text" msgid="5390908019019242910">"清除全部"</string>
     <string name="master_clear_gesture_prompt" msgid="1428645764883536750">"畫出解鎖圖形"</string>
     <string name="master_clear_gesture_explanation" msgid="8901714274312707918">"請畫出解鎖圖形，以確認重設手機。"</string>
     <string name="master_clear_failed" msgid="8655202125010189406">"因「系統清除」服務異常，未成功執行重設。"</string>
-    <string name="media_format_title" msgid="4671276096695789895">"將 SD 卡格式化。"</string>
-    <string name="media_format_summary" msgid="3805714639375830120">"清除 SD 卡上的所有資料"</string>
-    <string name="media_format_desc" msgid="1142563222357820834">"此項操作將清除手機中 SD 卡上的資料。SD 卡上的全部資料將會消失！"</string>
-    <string name="media_format_button_text" msgid="370856400090190151">"將 SD 卡格式化"</string>
-    <string name="media_format_final_desc" msgid="1776666694910717198">"確定要將 SD 卡格式化、清除所有媒體嗎？此項操作將無法復原！"</string>
+    <string name="media_format_title" product="nosdcard" msgid="3999653431422767156">"清除 USB 儲存裝置"</string>
+    <string name="media_format_title" product="default" msgid="4427528440306787972">"清除 SD 卡"</string>
+    <string name="media_format_summary" product="nosdcard" msgid="776603298628082065">"清除 USB 儲存裝置中的所有資料"</string>
+    <string name="media_format_summary" product="default" msgid="3805714639375830120">"清除 SD 卡上的所有資料"</string>
+    <string name="media_format_desc" product="nosdcard" msgid="4553860683952763905">"這項動作會清除 USB 儲存裝置，您將失去其中儲存的「所有」資料！"<b></b></string>
+    <string name="media_format_desc" product="default" msgid="1598627584181935513">"這項動作會清除 SD 卡，您將失去 SD 卡中的「所有」資料！"<b></b></string>
+    <string name="media_format_button_text" product="nosdcard" msgid="6293669371185352810">"清除 USB 儲存裝置"</string>
+    <string name="media_format_button_text" product="default" msgid="6721544380069373626">"清除 SD 卡"</string>
+    <string name="media_format_final_desc" product="nosdcard" msgid="8094635533378487255">"清除 USB 儲存裝置時，是否一併刪除所有儲存的檔案？這項動作無法復原！"</string>
+    <string name="media_format_final_desc" product="default" msgid="9015504991522581434">"清除 SD 卡時，是否刪除其中儲存的所有檔案？這項動作無法復原！"</string>
     <string name="media_format_final_button_text" msgid="4881713344315923175">"全部清除"</string>
     <string name="media_format_gesture_prompt" msgid="3109349468816856670">"畫出解鎖圖形"</string>
-    <string name="media_format_gesture_explanation" msgid="4239529439389660159">"您必須畫出解鎖圖形，以確認將 SD 卡格式化。"</string>
+    <string name="media_format_gesture_explanation" product="nosdcard" msgid="1379736318750958338">"您必須繪製解鎖圖形，以確認要清除 USB 儲存裝置。"</string>
+    <string name="media_format_gesture_explanation" product="default" msgid="1681213416497647321">"您必須繪製解鎖圖形，以確認要清除 SD 卡。"</string>
     <string name="call_settings_title" msgid="5188713413939232801">"通話設定"</string>
     <string name="call_settings_summary" msgid="7291195704801002886">"設定語音信箱、來電轉接、來電待接及本機號碼顯示"</string>
     <string name="tether_settings_title_usb" msgid="4315031513434087777">"數據連線"</string>
@@ -598,7 +638,7 @@
     <string name="usb_tethering_button_text" msgid="585829947108007917">"USB 數據連線"</string>
     <string name="usb_tethering_available_subtext" msgid="156779271296152605">"已連接 USB，選取即可進行數據連線"</string>
     <string name="usb_tethering_active_subtext" msgid="8916210851136467042">"數據已連線"</string>
-    <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"使用 USB 儲存空間時無法進行數據連線"</string>
+    <string name="usb_tethering_storage_active_subtext" msgid="6608933594288072573">"使用 USB 儲存裝置時無法進行數據連線"</string>
     <string name="usb_tethering_unavailable_subtext" msgid="1044622421184007254">"USB 尚未連線"</string>
     <string name="usb_tethering_errored_subtext" msgid="1377574819427841992">"USB 數據連線發生錯誤"</string>
     <string name="tethering_help_button_text" msgid="656117495547173630">"說明"</string>
@@ -609,7 +649,7 @@
     <string name="location_networks_disabled" msgid="2708968452901433980">"使用無線網路，在應用程式中查詢位置 (例如 Google 地圖)"</string>
     <string name="location_neighborhood_level" msgid="4656658097932515921">"根據 Wi-Fi 和/或行動網路判定位置"</string>
     <string name="location_gps" msgid="6296125378829097831">"使用 GPS 衛星定位"</string>
-    <string name="location_street_level" msgid="6460740847018275745">"定位時，精準度設定為街道等級 (取消勾選即可節省電力)"</string>
+    <string name="location_street_level" msgid="7456259025474443314">"定位時，將精準度設定為街道等級"</string>
     <string name="location_gps_disabled" msgid="6632537158777308128">"定位至街道等級 (需要更多電力及天候允許)"</string>
     <string name="assisted_gps" msgid="4649317129586736885">"使用輔助 GPS"</string>
     <string name="assisted_gps_enabled" msgid="8751899609589792803">"使用伺服器輔助 GPS (取消勾選即可降低網路使用量)"</string>
@@ -692,22 +732,31 @@
     <string name="application_size_label" msgid="5055196275624686382">"應用程式"</string>
     <string name="data_size_label" msgid="8679376373625710107">"資料"</string>
     <string name="uninstall_text" msgid="3644892466144802466">"解除安裝"</string>
+    <string name="disable_text" msgid="6544054052049395202">"停用"</string>
+    <string name="enable_text" msgid="9217362512327828987">"啟用"</string>
     <string name="clear_user_data_text" msgid="5597622864770098388">"清除資料"</string>
     <string name="app_factory_reset" msgid="6635744722502563022">"解除安裝更新"</string>
     <string name="auto_launch_enable_text" msgid="2630656657744196691">"您已設定在某些操作下啟動此應用程式。"</string>
     <string name="auto_launch_disable_text" msgid="7800385822185540166">"沒有預設值。"</string>
     <string name="clear_activities" msgid="7408923511535174430">"清除預設值"</string>
     <string name="unknown" msgid="1592123443519355854">"不明"</string>
-    <string name="sort_order_alpha" msgid="8622029358896599842">"排序"</string>
+    <string name="sort_order_alpha" msgid="1410278099123670628">"按名稱排序"</string>
     <string name="sort_order_size" msgid="7024513286636502362">"依大小排序"</string>
+    <string name="show_running_services" msgid="5736278767975544570">"顯示執行中的服務"</string>
+    <string name="show_background_processes" msgid="2009840211972293429">"顯示快取處理程序"</string>
     <string name="manage_space_text" msgid="8852711522447794676">"管理空間"</string>
     <string name="filter" msgid="2018011724373033887">"篩選"</string>
     <string name="filter_dlg_title" msgid="6507663329723966854">"選取篩選選項"</string>
     <string name="filter_apps_all" msgid="5142129378749391876">"全部"</string>
     <string name="filter_apps_third_party" msgid="7786348047690140979">"已下載"</string>
     <string name="filter_apps_running" msgid="7767071454371350486">"執行中"</string>
-    <string name="filter_apps_onsdcard" msgid="1477351142334784771">"於 SD 卡"</string>
-    <string name="loading" msgid="3200408047793887917">"載入中..."</string>
+    <string name="filter_apps_onsdcard" product="nosdcard" msgid="4843063154701023349">"USB 儲存裝置"</string>
+    <string name="filter_apps_onsdcard" product="default" msgid="1477351142334784771">"於 SD 卡"</string>
+    <string name="disabled" msgid="9206776641295849915">"已停用"</string>
+    <string name="no_applications" msgid="5190227407135243904">"沒有應用程式。"</string>
+    <string name="internal_storage" msgid="1584700623164275282">"內存空間"</string>
+    <string name="sd_card_storage" product="nosdcard" msgid="2673203150465132465">"USB 儲存裝置"</string>
+    <string name="sd_card_storage" product="default" msgid="7623513618171928235">"SD 卡儲存裝置"</string>
     <string name="recompute_size" msgid="7722567982831691718">"重新計算大小..."</string>
     <string name="clear_data_dlg_title" msgid="4470209520936375508">"刪除"</string>
     <string name="clear_data_dlg_text" msgid="8368035073300828451">"該應用程式的所有資料都將遭到永遠刪除，包含所有檔案、設定、帳戶、資料庫等等。"</string>
@@ -727,7 +776,8 @@
     <string name="version_text" msgid="9189073826278676425">"版本 <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5042838441401731346">"移動"</string>
     <string name="move_app_to_internal" msgid="3895430471913858185">"移至手機"</string>
-    <string name="move_app_to_sdcard" msgid="1143379049903056407">"移至 SD 卡"</string>
+    <string name="move_app_to_sdcard" product="nosdcard" msgid="4350451696315265420">"移至 USB 儲存裝置"</string>
+    <string name="move_app_to_sdcard" product="default" msgid="1143379049903056407">"移至 SD 卡"</string>
     <string name="moving" msgid="6431016143218876491">"正在移動"</string>
     <string name="insufficient_storage" msgid="8566913062094452962">"剩餘的儲存空間不足。"</string>
     <string name="does_not_exist" msgid="837163572898468245">"應用程式不存在。"</string>
@@ -735,29 +785,49 @@
     <string name="invalid_location" msgid="4934491353200240499">"所指定的安裝位置無效。"</string>
     <string name="system_package" msgid="1030561474413022831">"無法將系統更新安裝在外部媒體上。"</string>
     <string name="force_stop_dlg_title" msgid="4289453224368188476">"強制停止"</string>
-    <string name="force_stop_dlg_text" msgid="3381302041569982075">"此應用程式即將重新啟動，確定要強制停止嗎？"</string>
+    <string name="force_stop_dlg_text" msgid="5157374701213502922">"強制關閉應用程式可能會使得應用程式的運作不正常，您確定要執行嗎？"</string>
     <string name="move_app_failed_dlg_title" msgid="4337731903265156405">"移動應用程式"</string>
     <string name="move_app_failed_dlg_text" msgid="8824246817947643697">"因為 <xliff:g id="REASON">%1$s</xliff:g>，無法移動應用程式。"</string>
     <string name="app_install_location_title" msgid="2068975150026852168">"偏好的安裝位置"</string>
     <string name="app_install_location_summary" msgid="879753854530300436">"變更新應用程式在安裝時的偏好位置。"</string>
+    <string name="storageuse_settings_title" msgid="5657014373502630403">"儲存空間使用量"</string>
+    <string name="storageuse_settings_summary" msgid="2556057379120846792">"查看應用程式所使用的儲存空間"</string>
     <string name="runningservices_settings_title" msgid="8097287939865165213">"正在運作的服務"</string>
     <string name="runningservices_settings_summary" msgid="854608995821032748">"查看並控制目前正在運作的服務"</string>
     <string name="service_restarting" msgid="2242747937372354306">"重新啟動中"</string>
-    <string name="no_running_services" msgid="6981216347270280598">"沒有正在運作的服務"</string>
-    <string name="confirm_stop_service" msgid="5700448757318301681">"要停止服務嗎？"</string>
-    <string name="confirm_stop_service_msg" msgid="1166661293369421272">"服務將不再繼續執行，除非您重新啟動該服務。這個動作可能會對應用程式「<xliff:g id="APPLICATION">%1$s</xliff:g>」造成無法預期的結果。"</string>
-    <string name="confirm_stop_stop" msgid="7382363913280993331">"停止"</string>
-    <string name="confirm_stop_cancel" msgid="206495326622692381">"取消"</string>
-    <string name="service_started_by_app" msgid="8432097226392386802">"由應用程式啟動：輕觸螢幕即可停止"</string>
-    <string name="service_client_name" msgid="2337664610975074717">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>：輕觸即可進行管理"</string>
-    <string name="service_background_processes" msgid="5158600475629177758">"可用：<xliff:g id="FREE">%2$s</xliff:g>+<xliff:g id="MEMORY">%3$s</xliff:g>，共 <xliff:g id="COUNT">%1$d</xliff:g> 個程序"</string>
-    <string name="service_foreground_processes" msgid="4013890350284680796">"其他：<xliff:g id="MEMORY">%2$s</xliff:g>，共 <xliff:g id="COUNT">%1$d</xliff:g> 個程序"</string>
-    <string name="service_process_name" msgid="8630408984456958400">"程序：<xliff:g id="PROCESS">%1$s</xliff:g>"</string>
+    <string name="cached" msgid="1059590879740175019">"快取背景處理程序"</string>
+    <string name="no_running_services" msgid="2059536495597645347">"沒有正在執行中的服務。"</string>
+    <string name="service_started_by_app" msgid="6575184738671598131">"由應用程式啟動。"</string>
+    <!-- no translation found for service_client_name (4037193625611815517) -->
+    <skip />
+    <string name="service_background_processes" msgid="6844156253576174488">"<xliff:g id="MEMORY">%1$s</xliff:g> 可用"</string>
+    <string name="service_foreground_processes" msgid="7583975676795574276">"<xliff:g id="MEMORY">%1$s</xliff:g> 已使用"</string>
+    <string name="memory" msgid="6609961111091483458">"RAM"</string>
+    <!-- no translation found for service_process_name (4098932168654826656) -->
+    <skip />
+    <string name="running_processes_item_description_s_s" msgid="5790575965282023145">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> 項處理程序和 <xliff:g id="NUMSERVICES">%2$d</xliff:g> 項服務"</string>
+    <string name="running_processes_item_description_s_p" msgid="8019860457123222953">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> 項處理程序和 <xliff:g id="NUMSERVICES">%2$d</xliff:g> 項服務"</string>
+    <string name="running_processes_item_description_p_s" msgid="744424668287252915">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> 項處理程序和 <xliff:g id="NUMSERVICES">%2$d</xliff:g> 項服務"</string>
+    <string name="running_processes_item_description_p_p" msgid="1607384595790852782">"<xliff:g id="NUMPROCESS">%1$d</xliff:g> 項處理程序和 <xliff:g id="NUMSERVICES">%2$d</xliff:g> 項服務"</string>
+    <string name="runningservicedetails_settings_title" msgid="6188692418986988288">"正在執行的應用程式"</string>
+    <string name="no_services" msgid="7133900764462288263">"尚未啟用"</string>
+    <string name="runningservicedetails_services_title" msgid="391168243725357375">"服務"</string>
+    <string name="runningservicedetails_processes_title" msgid="928115582044655268">"處理程序"</string>
+    <string name="service_stop" msgid="6369807553277527248">"停止"</string>
+    <string name="service_manage" msgid="1876642087421959194">"設定"</string>
+    <string name="service_stop_description" msgid="3261798282116866961">"這項服務是由其所屬應用程式啟動。停止服務可能會造成應用程式執行失敗。"</string>
+    <string name="heavy_weight_stop_description" msgid="6855241582643136019">"無法安全停止這個應用程式。強制停止可能造成目前的作業喪失一部分。"</string>
+    <string name="background_process_stop_description" msgid="1728354083304746737">"保留這項舊有的應用程式處理程序是為了加快處理速度，以免日後需要再次使用，通常不會無故停止這項處理程序。"</string>
+    <string name="service_manage_description" msgid="7050092269951613102">"<xliff:g id="CLIENT_NAME">%1$s</xliff:g>：目前在使用中。請輕觸 [設定] 管理此用戶端。"</string>
+    <string name="main_running_process_description" msgid="929204645380391397">"使用中的主要處理程序。"</string>
+    <string name="process_service_in_use_description" msgid="8993335064403217080">"服務 <xliff:g id="COMP_NAME">%1$s</xliff:g> 正在使用中。"</string>
+    <string name="process_provider_in_use_description" msgid="5586603325677678940">"供應商 <xliff:g id="COMP_NAME">%1$s</xliff:g> 正在使用中。"</string>
+    <string name="runningservicedetails_stop_dlg_title" msgid="4253292537154337233">"停止系統服務？"</string>
+    <string name="runningservicedetails_stop_dlg_text" msgid="6929716497425738387">"您確定要停止這項系統服務嗎？如果停止的話，您的某些手機功能可能會停止正常運作，待您重新開機後才會恢復正常。"</string>
     <string name="language_settings" msgid="502219872342167227">"語言與鍵盤"</string>
     <string name="language_keyboard_settings_title" msgid="3455826933385341107">"語言與鍵盤設定"</string>
-    <string name="language_settings_summary" msgid="595647729475399987">"選取地區設定 (語言和地區)、文字輸入和自動校正選項"</string>
-    <string name="language_category" msgid="3391756582724541530">"地區設定"</string>
-    <string name="text_category" msgid="6342540511465136739">"文字設定"</string>
+    <string name="language_settings_category" msgid="2288258489940617043">"語言設定"</string>
+    <string name="keyboard_settings_category" msgid="7060453865544070642">"鍵盤設定"</string>
     <string name="phone_language" msgid="1165758957501090679">"選取語言"</string>
     <string name="phone_language_summary" msgid="3871309445655554211"></string>
     <string name="auto_replace" msgid="6199184757891937822">"自動替換"</string>
@@ -782,7 +852,6 @@
     <string name="testing" msgid="6584352735303604146">"測試中"</string>
     <string name="testing_phone_info" msgid="8656693364332840056">"手機資訊"</string>
     <string name="testing_battery_info" msgid="3497865525976497848">"電池資訊"</string>
-    <string name="testing_battery_history" msgid="3043329445810695647">"電池記錄"</string>
     <string name="quick_launch_title" msgid="7904609846945905306">"快速啟動"</string>
     <string name="quick_launch_summary" msgid="3453825712466417452">"設定啟動應用程式的鍵盤快速鍵"</string>
     <string name="quick_launch_assign_application" msgid="4521368464929956350">"指派應用程式"</string>
@@ -798,8 +867,8 @@
     <string name="input_methods_settings_summary" msgid="7571173442946675205">"管理輸入法選項"</string>
     <string name="input_methods_settings_label_format" msgid="6002887604815693322">"<xliff:g id="IME_NAME">%1$s</xliff:g> 設定"</string>
     <string name="onscreen_keyboard_settings_summary" msgid="5841558383556238653">"螢幕鍵盤設定"</string>
-    <string name="builtin_keyboard_settings_title" msgid="8169889453770863227">"裝置小鍵盤"</string>
-    <string name="builtin_keyboard_settings_summary" msgid="6404687907454621637">"內建小鍵盤設定"</string>
+    <string name="builtin_keyboard_settings_title" msgid="5274990495405941804">"內建鍵盤"</string>
+    <string name="builtin_keyboard_settings_summary" msgid="7990296351888096836">"內建實體鍵盤設定"</string>
     <string name="development_settings_title" msgid="6719732334835420989">"開發"</string>
     <string name="development_settings_summary" msgid="2151320488701538355">"設定應用程式開發選項"</string>
     <string name="enable_adb" msgid="7982306934419797485">"USB 偵錯"</string>
@@ -812,36 +881,10 @@
     <string name="adb_warning_message" msgid="5352555112049663033">"USB 偵錯是針對應用程式開發而設計的功能，可讓您在電腦與裝置間複製資料、不用通知即可在裝置上安裝應用程式，以及讀取記錄資料。"</string>
     <string name="gadget_picker_title" msgid="98374951396755811">"選擇小工具"</string>
     <string name="widget_picker_title" msgid="9130684134213467557">"選擇小工具"</string>
-    <string name="battery_history_details_for" msgid="5924639922153109669">"UID <xliff:g id="NUMBER">%d</xliff:g> 的詳細資料"</string>
-    <string name="battery_history_uid" msgid="1016606150528436298">"UID <xliff:g id="USER_ID">%1$d</xliff:g>"</string>
-    <string name="battery_history_network_usage" msgid="8010852371665217020">"<xliff:g id="APP_NAME">%1$s</xliff:g> 的網路使用率詳細資料："</string>
-    <string name="battery_history_bytes_received" msgid="980307569180518302">"已接收的位元組數：<xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_sent" msgid="2501748768602119159">"已傳送的位元組數：<xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_bytes_total" msgid="4444807574361642753">"總容量 (bytes)：<xliff:g id="BYTES">%1$d</xliff:g>"</string>
-    <string name="battery_history_cpu_usage" msgid="2597353713014790877">"<xliff:g id="APP_NAME">%1$s</xliff:g> 的 CPU 使用率詳細資料："</string>
-    <string name="battery_history_user_time" msgid="6227507614894791359">"使用者時間："</string>
-    <string name="battery_history_system_time" msgid="2015862072724507547">"系統時間："</string>
-    <string name="battery_history_total_time" msgid="3618703970098556104">"總計時間："</string>
-    <string name="battery_history_starts" msgid="9137453931978571696">"啟動次數：<xliff:g id="STARTS">%1$d</xliff:g>"</string>
     <string name="battery_history_days" msgid="7110262897769622564">"<xliff:g id="DAYS">%1$d</xliff:g> 天 <xliff:g id="HOURS">%2$d</xliff:g> 小時 <xliff:g id="MINUTES">%3$d</xliff:g> 分 <xliff:g id="SECONDS">%4$d</xliff:g> 秒"</string>
     <string name="battery_history_hours" msgid="7525170329826274999">"<xliff:g id="HOURS">%1$d</xliff:g> 小時 <xliff:g id="MINUTES">%2$d</xliff:g> 分 <xliff:g id="SECONDS">%3$d</xliff:g> 秒"</string>
     <string name="battery_history_minutes" msgid="1467775596084148610">"<xliff:g id="MINUTES">%1$d</xliff:g> 分 <xliff:g id="SECONDS">%2$d</xliff:g> 秒"</string>
     <string name="battery_history_seconds" msgid="4283492130945761685">"<xliff:g id="SECONDS">%1$d</xliff:g> 秒"</string>
-    <string name="battery_history_packages_sharing_this_uid" msgid="4101596071379250050">"共用此 UID 的封裝："</string>
-    <string name="battery_history_no_data" msgid="1177238743237067617">"沒有電池使用資料"</string>
-    <string name="battery_history_sensor" msgid="2333488996028993982">"感應器："</string>
-    <string name="battery_history_wakelock" msgid="608683447522396293">"部分喚醒鎖定："</string>
-    <string name="battery_history_used_by_packages" msgid="3000711380023436470">"程式使用的感應器："</string>
-    <string name="battery_history_sensor_usage" msgid="3593133338613209024">"使用次數：<xliff:g id="COUNT">%1$d</xliff:g>，使用的封裝：<xliff:g id="PACKAGE">%2$s</xliff:g>"</string>
-    <string name="battery_history_sensor_usage_multi" msgid="4536084375991014508">"使用次數：<xliff:g id="COUNT">%1$d</xliff:g>，使用者為下列其中之一："</string>
-    <string name="battery_history_awake_label" msgid="8449792868990080882">"執行"</string>
-    <string name="battery_history_screen_on_label" msgid="1848936521786339362">"螢幕開啟"</string>
-    <string name="battery_history_phone_on_label" msgid="700191958853142297">"開機"</string>
-    <string name="battery_history_awake" msgid="4350886665719031057">"未休眠的時間："</string>
-    <string name="battery_history_screen_on" msgid="1377240025275657277">"螢幕開啟時間："</string>
-    <string name="battery_history_phone_on" msgid="4891504401623839532">"手機處於開啟狀態的時間："</string>
-    <string name="battery_history_screen_on_battery" msgid="536058210445081888">"使用電池："</string>
-    <string name="battery_history_screen_on_plugged" msgid="5019127390021871260">"插入時間："</string>
     <string name="usage_stats_label" msgid="5890846333487083609">"使用統計資料"</string>
     <string name="testing_usage_stats" msgid="7823048598893937339">"使用統計資料"</string>
     <string name="display_order_text" msgid="8592776965827565271">"排序依據："</string>
@@ -865,12 +908,19 @@
     <string name="power_usage_summary" msgid="7237084831082848168">"查看正在消耗電力的功能"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"拔除插頭後的電池使用狀況"</string>
     <string name="battery_since_reset" msgid="7464546661121187045">"重設後的電池使用狀況"</string>
+    <string name="battery_stats_on_battery" msgid="4970762168505236033">"電池電力剩餘時間：<xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="battery_stats_duration" msgid="7464501326709469282">"拔除插頭後已過了 <xliff:g id="TIME">%1$s</xliff:g>"</string>
+    <string name="battery_stats_charging_label" msgid="4223311142875178785">"充電"</string>
+    <string name="battery_stats_screen_on_label" msgid="7150221809877509708">"螢幕已開"</string>
+    <string name="battery_stats_gps_on_label" msgid="1193657533641951256">"開啟 GPS"</string>
+    <string name="battery_stats_wifi_running_label" msgid="3093545080361658269">"Wi-Fi"</string>
+    <string name="battery_stats_wake_lock_label" msgid="1908942681902324095">"清醒"</string>
+    <string name="battery_stats_phone_signal_label" msgid="6822042940376636775">"手機訊號"</string>
     <!-- no translation found for battery_stats_last_duration (1535831453827905957) -->
     <skip />
-    <string name="awake" msgid="387122265874485088">"裝置甦醒時間"</string>
-    <string name="wifi_on_time" msgid="4630925382578609056">"WiFi 開啟時間"</string>
-    <string name="bluetooth_on_time" msgid="4478515071957280711">"WiFi 開啟時間"</string>
+    <string name="awake" msgid="387122265874485088">"裝置清醒時間"</string>
+    <string name="wifi_on_time" msgid="6310209835617490616">"開啟 Wi-Fi 的時間"</string>
+    <string name="bluetooth_on_time" msgid="6157799524996162271">"開啟 Wi-Fi 的時間"</string>
     <string name="usage_name_percent" msgid="7976919382448235858">"<xliff:g id="NAME">%1$s</xliff:g> -  <xliff:g id="NUMBER">%2$s</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string>
     <string name="details_title" msgid="7564809986329021063">"電池使用狀況詳細資料"</string>
     <string name="details_subtitle" msgid="32593908269911734">"使用狀況詳細資訊"</string>
@@ -884,7 +934,9 @@
     <string name="power_idle" msgid="9055659695602194990">"手機閒置"</string>
     <string name="usage_type_cpu" msgid="715162150698338714">"CPU 總使用時間"</string>
     <string name="usage_type_cpu_foreground" msgid="6500579611933211831">"CPU 前端使用狀況"</string>
+    <string name="usage_type_wake_lock" msgid="5125438890233677880">"保持清醒"</string>
     <string name="usage_type_gps" msgid="7989688715128160790">"GPS"</string>
+    <string name="usage_type_wifi_running" msgid="8234997940652067049">"Wi-Fi 執行中"</string>
     <string name="usage_type_phone" msgid="9108247984998041853">"手機"</string>
     <string name="usage_type_data_send" msgid="2857401966985425427">"已傳送資料"</string>
     <string name="usage_type_data_recv" msgid="7251090882025234185">"已接收資料"</string>
@@ -896,7 +948,7 @@
     <string name="battery_action_app_details" msgid="3275013531871113681">"應用程式資訊"</string>
     <string name="battery_action_app_settings" msgid="350562653472577250">"應用程式設定"</string>
     <string name="battery_action_display" msgid="5302763261448580102">"顯示設定"</string>
-    <string name="battery_action_wifi" msgid="5452076674659927993">"WiFi 設定"</string>
+    <string name="battery_action_wifi" msgid="2272741639606146903">"Wi-Fi 設定"</string>
     <string name="battery_action_bluetooth" msgid="8374789049507723142">"藍牙設定"</string>
     <string name="battery_desc_voice" msgid="8980322055722959211">"語音通話耗電量"</string>
     <string name="battery_desc_standby" msgid="3009080001948091424">"手機閒置時的耗電量"</string>
@@ -909,9 +961,9 @@
     <string name="battery_desc_bluetooth" msgid="7535520658674621902">"藍牙耗電量"</string>
     <string name="battery_sugg_bluetooth_basic" msgid="817276933922157788">"未使用藍牙時即關閉藍牙"</string>
     <string name="battery_sugg_bluetooth_headset" msgid="8214816222115517479">"嘗試連線至不同的藍牙裝置"</string>
-    <string name="battery_desc_apps" msgid="8123202939321333639">"應用程式執行時的耗電量"</string>
+    <string name="battery_desc_apps" msgid="6665712811746233450">"應用程式耗電量"</string>
     <string name="battery_sugg_apps_info" msgid="6065882899391322442">"停止或解除安裝應用程式"</string>
-    <string name="battery_sugg_apps_gps" msgid="4145005297393800223">"GPS 功能未使用時自動關閉"</string>
+    <string name="battery_sugg_apps_gps" msgid="4545056413090932541">"手動控制 GPS 以防止應用程式使用 GPS"</string>
     <string name="battery_sugg_apps_settings" msgid="8021302847272481168">"應用程式可能有提供節省電力的設定"</string>
     <string name="menu_stats_unplugged" msgid="8296577130840261624">"拔除插頭後已過了 <xliff:g id="UNPLUGGED">%1$s</xliff:g>"</string>
     <string name="menu_stats_last_unplugged" msgid="5922246077592434526">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> 前拔除插頭"</string>
@@ -961,6 +1013,8 @@
     <string name="pico_not_installed" msgid="6266845418419994311">"未安裝"</string>
     <string name="pico_voice_summary_female" msgid="8047327176247727492">"女性"</string>
     <string name="pico_voice_summary_male" msgid="8331266854058577610">"男性"</string>
+    <string name="tts_notif_engine_install_title" msgid="7000346872482649034">"語音合成引擎安裝完畢"</string>
+    <string name="tts_notif_engine_install_message" msgid="5304661142202662693">"使用前請先啟用新引擎"</string>
     <string name="gadget_title" msgid="7455548605888590466">"電源控制"</string>
     <string name="gadget_toggle_wifi" msgid="2382963973155082629">"正在更新 Wi-Fi 設定"</string>
     <string name="gadget_toggle_bluetooth" msgid="7538903239807020826">"正在更新藍牙設定"</string>
@@ -1047,8 +1101,10 @@
     <string name="credentials_access_summary" msgid="319662078718574168">"允許應用程式存取安全認證及其他認證"</string>
     <string name="credentials_unlock" msgid="1463040326264133844">"輸入密碼"</string>
     <string name="credentials_unlock_hint" msgid="594679530407918031">"輸入認證儲存空間密碼。"</string>
-    <string name="credentials_install_certificates" msgid="177337517568022236">"從 SD 卡安裝"</string>
-    <string name="credentials_install_certificates_summary" msgid="7737001268684193093">"從 SD 卡安裝加密憑證"</string>
+    <string name="credentials_install_certificates" product="nosdcard" msgid="619171634797689906">"從 USB 儲存裝置安裝"</string>
+    <string name="credentials_install_certificates" product="default" msgid="177337517568022236">"從 SD 卡安裝"</string>
+    <string name="credentials_install_certificates_summary" product="nosdcard" msgid="8920330112631198575">"從 USB 儲存裝置安裝已加密的憑證"</string>
+    <string name="credentials_install_certificates_summary" product="default" msgid="7737001268684193093">"從 SD 卡安裝加密憑證"</string>
     <string name="credentials_set_password" msgid="9104473585811899989">"設定密碼"</string>
     <string name="credentials_set_password_summary" msgid="8287876917562085701">"設定或變更認證儲存空間密碼"</string>
     <string name="credentials_reset" msgid="9170150870552453457">"清除儲存空間"</string>
@@ -1068,6 +1124,16 @@
     <string name="credentials_erased" msgid="7700309135582200849">"已清除認證儲存空間內容。"</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"已啟用認證儲存空間。"</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"已停用認證儲存空間。"</string>
+    <string name="encrypted_fs_category" msgid="1841367653663913956">"加密檔案系統"</string>
+    <string name="encrypted_fs_enable" msgid="3884033081603327729">"加密使用者隱私資訊"</string>
+    <string name="encrypted_fs_enable_summary" msgid="5635188119509076089">"啟用加密檔案系統，以儲存此裝置的使用者隱私資訊"</string>
+    <string name="encrypted_fs_enable_dialog" msgid="919487211207214266">"啟用加密檔案系統前必須抹除裝置資料。"</string>
+    <string name="encrypted_fs_disable_dialog" msgid="6960413613985682501">"停用加密檔案系統前必須抹除裝置資料。"</string>
+    <string name="encrypted_fs_enable_button" msgid="8453841319751433751">"啟用"</string>
+    <string name="encrypted_fs_disable_button" msgid="8468354944060220496">"停用"</string>
+    <string name="encrypted_fs_cancel_button" msgid="4785921255266305799">"取消"</string>
+    <string name="encrypted_fs_cancel_confirm" msgid="853572431153803557">"已取消變更加密檔案系統模式。"</string>
+    <string name="encrypted_fs_alert_dialog_title" msgid="583462447886934755">"加密檔案系統警告。"</string>
     <string name="emergency_tone_title" msgid="1055954530111587114">"緊急警示音"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"設定撥打緊急電話時的運作方式"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"隱私設定"</string>
@@ -1075,11 +1141,11 @@
     <string name="backup_section_title" msgid="8856083167469467588">"備份與還原"</string>
     <string name="personal_data_section_title" msgid="7815209034443782061">"個人資料"</string>
     <string name="backup_data_title" msgid="1239105919852668016">"備份我的資料"</string>
-    <string name="backup_data_summary" msgid="5662190190240860035">"備份我的設定與其他應用程式的資料。"</string>
+    <string name="backup_data_summary" msgid="6515285107793232815">"將應用程式資料、Wi-Fi 密碼，以及其他設定備份到 Google 伺服器"</string>
     <string name="auto_restore_title" msgid="5397528966329126506">"自動還原功能"</string>
-    <string name="auto_restore_summary" msgid="6867766474057290177">"當我重新安裝應用程式時，還原我已經備份的設定或其他資料。"</string>
+    <string name="auto_restore_summary" msgid="83177150536734378">"當我重新安裝應用程式時，還原我已經備份的設定或其他資料"</string>
     <string name="backup_erase_dialog_title" msgid="3438255037256586237">"備份"</string>
-    <string name="backup_erase_dialog_message" msgid="2948090854996352245">"您確定要停止備份設定及應用程式資料，並清除 Google 伺服器上的所有相關資料嗎？"</string>
+    <string name="backup_erase_dialog_message" msgid="7766283133557587608">"您確定要停止備份您的 Wi-Fi 密碼、書籤及他設定，以及應用程式資料，並清除 Google 伺服器上的所有相關資料嗎？"</string>
     <string name="device_admin_settings_title" msgid="1335557832906433309">"裝置管理設定"</string>
     <string name="active_device_admin_msg" msgid="6930903262612422111">"裝置管理員"</string>
     <string name="remove_device_admin" msgid="3596845261596451437">"撤銷"</string>
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index f16f8c9..1a8e17b 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -285,23 +285,6 @@
         <item>2</item>
     </string-array>
 
-    <!-- Match with constants in BatteryHistory class -->
-    <string-array name="battery_history_type_spinner">
-        <item>CPU usage</item>
-        <item>Network usage</item>
-        <item>GPS usage</item>
-        <item>Sensor usage</item>
-        <item>Partial wake usage</item>
-        <item>Other usage</item>
-    </string-array>
-
-    <!-- Match with constants in BatteryStats class -->
-    <string-array name="battery_history_which_spinner">
-        <item>Since last unplugged</item>
-        <item>Total since boot</item>
-        <item>Total in all time</item>
-    </string-array>
-
     <!-- Display options for UsageStats class -->
     <string-array name="usage_stats_display_order_types">
         <item>Usage Time</item>
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index 0a2c5c5..9a123dd 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -21,4 +21,25 @@
     <declare-styleable name="IconPreferenceScreen">
         <attr name="icon" format="reference" />
     </declare-styleable>
+    
+    <declare-styleable name="BatteryHistoryChart">
+        <!-- Base text color, typeface, size, and style. -->
+        <attr name="android:textAppearance" />
+        <!-- Text color. -->
+        <attr name="android:textColor" />
+        <!-- Size of the text. Recommended dimension type for text is "sp" for scaled-pixels (example: 15sp). -->
+        <attr name="android:textSize" />
+        <!-- Typeface (normal, sans, serif, monospace) for the text. -->
+        <attr name="android:typeface" />
+        <!-- Style (bold, italic, bolditalic) for the text. -->
+        <attr name="android:textStyle" />
+        <!-- Place a shadow of the specified color behind the text. -->
+        <attr name="android:shadowColor" />
+        <!-- Horizontal offset of the shadow. -->
+        <attr name="android:shadowDx" />
+        <!-- Vertical offset of the shadow. -->
+        <attr name="android:shadowDy" />
+        <!-- Radius of the shadow. -->
+        <attr name="android:shadowRadius" />
+    </declare-styleable>
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
old mode 100644
new mode 100755
index 482bab3..4704b4e
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -85,11 +85,15 @@
     <!-- Used for diagnostic info screens, precise translation isn't needed -->
     <string name="radioInfo_cid">CID</string>
 
+    <!-- Used for diagnostic info screens, precise translation isn't needed. Unmounts the SD card from the phone, meaning it will become available for an attached computer  [CHAR LIMIT=25] -->
+    <string name="sdcard_unmount" product="nosdcard">Unmount USB storage</string>
     <!-- Used for diagnostic info screens, precise translation isn't needed. Unmounts the SD card from the phone, meaning it will become available for an attached computer  -->
-    <string name="sdcard_unmount">Unmount SD card</string>
+    <string name="sdcard_unmount" product="default">Unmount SD card</string>
 
+    <!-- Used for diagnostic info screens, precise translation isn't needed. Formats the SD card in the phone, meaning it will be erased and reformatted [CHAR LIMIT=25] -->
+    <string name="sdcard_format" product="nosdcard">Erase USB storage</string>
     <!-- Used for diagnostic info screens, precise translation isn't needed. Formats the SD card in the phone, meaning it will be erased and reformatted -->
-    <string name="sdcard_format">Format SD card</string>
+    <string name="sdcard_format" product="default">Erase SD card</string>
 
     <!-- choice for the font size spinner -->
     <string name="small_font">Small</string>
@@ -103,8 +107,10 @@
     <!-- Button. Chosen when they want to save the chosen text size. -->
     <string name="font_size_save">OK</string>
 
+    <!-- Title for a notification shown. [CHAR LIMIT=25] -->
+    <string name="sdcard_setting" product="nosdcard">USB storage</string>
     <!-- Title for a notification shown. -->
-    <string name="sdcard_setting">SD card</string>
+    <string name="sdcard_setting" product="default">SD card</string>
 
 
     <!-- Battery Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
@@ -399,22 +405,34 @@
     <string name="sdcard_settings_screen_mass_storage_text">Enable USB mass storage</string>
     <!-- The label for total bytes on SD card -->
     <string name="sdcard_settings_total_bytes_label">Total bytes:</string>
+    <!-- Message when there is no SD card present [CHAR LIMIT=30] -->
+    <string name="sdcard_settings_not_present_status" product="nosdcard">USB storage not mounted</string>
     <!-- Message when there is no SD card present -->
-    <string name="sdcard_settings_not_present_status">No SD card</string>
+    <string name="sdcard_settings_not_present_status" product="default">No SD card</string>
     <!-- Th label for the available (free) sapce on the SD card -->
     <string name="sdcard_settings_available_bytes_label">Available bytes:</string>
+    <!-- Message when the SD card is being used by the computer as mass storage [CHAR LIMIT=30] -->
+    <string name="sdcard_settings_mass_storage_status" product="nosdcard">USB storage is being used as a mass storage device</string>
     <!-- Message when the SD card is being used by the computer as mass storage -->
-    <string name="sdcard_settings_mass_storage_status">SD card is being used as a mass storage device</string>
+    <string name="sdcard_settings_mass_storage_status" product="default">SD card is being used as a mass storage device</string>
+    <!-- Message when it is safe to remove the SD card [CHAR LIMIT=30] -->
+    <string name="sdcard_settings_unmounted_status" product="nosdcard">It is now safe to remove the USB storage</string>
     <!-- Message when it is safe to remove the SD card -->
-    <string name="sdcard_settings_unmounted_status">It is now safe to remove the SD card</string>
+    <string name="sdcard_settings_unmounted_status" product="default">It is now safe to remove the SD card</string>
+    <!-- Error message when the SD card was removed without properly unmounting [CHAR LIMIT=30] -->
+    <string name="sdcard_settings_bad_removal_status" product="nosdcard">USB storage was removed while still in use!</string>
     <!-- Error message when the SD card was removed without properly unmounting -->
-    <string name="sdcard_settings_bad_removal_status">SD card was removed while still in use!</string>
+    <string name="sdcard_settings_bad_removal_status" product="default">SD card was removed while still in use!</string>
     <!-- Label for used bytes on the SD card -->
     <string name="sdcard_settings_used_bytes_label">Used bytes:</string>
+    <!-- Message when it is scanning the SD card for new files [CHAR LIMIT=30]  -->
+    <string name="sdcard_settings_scanning_status" product="nosdcard">Scanning USB storage for media\u2026</string>
     <!-- Message when it is scanning the SD card for new files -->
-    <string name="sdcard_settings_scanning_status">Scanning SD card for media\u2026</string>
+    <string name="sdcard_settings_scanning_status" product="default">Scanning SD card for media\u2026</string>
+    <!-- Message when the SD card is mounted as read only [CHAR LIMIT=30] -->
+    <string name="sdcard_settings_read_only_status" product="nosdcard">USB storage mounted read-only</string>
     <!-- Message when the SD card is mounted as read only -->
-    <string name="sdcard_settings_read_only_status">SD card mounted read-only</string>
+    <string name="sdcard_settings_read_only_status" product="default">SD card mounted read-only</string>
 
     <!-- SetupWizard strings used by DateTimeSettingsSetupWizard.  The button label for going to the next screen. -->
     <string name="next_label">Next</string>
@@ -433,14 +451,14 @@
     <string name="device_info_label">Device info</string>
     <!-- The title of the activity to see battery info. -->
     <string name="battery_info_label">Battery info</string>
-    <!-- The title of the activity to see battery history. -->
-    <string name="battery_history_label">Battery history</string>
     <!-- The title of the activity to adjust display settings -->
     <string name="display_label">Display</string>
     <!-- The title of the activity to see phone info -->
     <string name="phone_info_label">Phone info</string>
+    <!-- The title of the activity to adjust SD card settings [CHAR LIMIT=25] -->
+    <string name="sd_card_settings_label" product="nosdcard">USB storage</string>
     <!-- The title of the activity to adjust SD card settings-->
-    <string name="sd_card_settings_label">SD card</string>
+    <string name="sd_card_settings_label" product="default">SD card</string>
     <!-- The title of the activity to adjust proxy settings -->
     <string name="proxy_settings_label">Proxy settings</string>
 
@@ -451,8 +469,10 @@
     <!-- Button label for generic cancel action -->
     <string name="cancel">Cancel</string>
 
-    <!-- Main Settings screen title -->
+    <!-- Title of the Settings activity shown within the application itself. -->
     <string name="settings_label">Settings</string>
+    <!-- Title of the Settings activity shown in the Launcher. [CHAR LIMIT=20] -->
+    <string name="settings_label_launcher">Settings</string>
     <!-- Label for option to select a settings panel as a shortcut -->
     <string name="settings_shortcut">Settings</string>
     <!-- Wireless controls settings screen, setting check box label -->
@@ -761,6 +781,13 @@
     <!-- Bluetooth settings.  Dock Setting Dialog - Remember setting and don't ask user again -->
     <string name="bluetooth_dock_settings_remember">Remember settings</string>
 
+    <!-- NFC settings -->
+    <!-- Used in the 1st-level settings screen to turn on NFC -->
+    <string name="nfc_quick_toggle_title">NFC</string>
+    <!-- Used in the 1st-level settings screen as the turn-on summary -->
+    <string name="nfc_quick_toggle_summary">Use Near Field Communication to read and exchange tags</string>
+    <string name="nfc_toggle_error" msgid="8998642457947607263">An error occurred.</string>
+
     <!-- Wi-Fi Settings --> <skip />
     <!-- Used in the 1st-level settings screen to turn on Wi-Fi -->
     <string name="wifi_quick_toggle_title">Wi-Fi</string>
@@ -935,16 +962,16 @@
     <string name="getConnectionInfo" translatable="false">getConnectionInfo</string>
     <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
          Menu item on Wifi information screen-->
-    <string name="wifi_api_test" translatable="false">Wifi API</string>
+    <string name="wifi_api_test" translatable="false">Wi-Fi API</string>
     <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
          Menu item on Wifi information screen-->
-    <string name="wifi_status_test" translatable="false">Wifi Status</string>
+    <string name="wifi_status_test" translatable="false">Wi-Fi Status</string>
     <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
          Button text on Wifi Status screen-->
     <string name="wifi_update" translatable="false">Refresh Stats</string>
     <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
          Label on Wifi Status screen-->
-    <string name="wifi_state_label" translatable="false">Wifi State :</string>
+    <string name="wifi_state_label" translatable="false">Wi-Fi State :</string>
     <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
          Label on Wifi Status screen-->
     <string name="network_state_label" translatable="false">Network State :</string>
@@ -993,7 +1020,7 @@
 
     <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
          Menu item on Wifi information screen-->
-    <string name="wifi_config_info" translatable="false">Wifi Config</string>
+    <string name="wifi_config_info" translatable="false">Wi-Fi Config</string>
     <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
          Label on Wifi Configuration screen-->
     <string name="config_list_label" translatable="false">Configured Networks</string>
@@ -1213,12 +1240,15 @@
     <string name="device_status">Status</string>
     <!-- About phone screen, summary of the item to go into the phone status screen -->
     <string name="device_status_summary">Phone number, signal, etc.</string>
-    <!-- Main settings screen item's title to go into the SD card and storage settings screen-->
-    <string name="storage_settings">SD card &amp; phone storage</string>
-    <!-- SD card and storage settings screen title -->
-    <string name="storage_settings_title">SD card &amp; phone storage settings</string>
-    <!-- Main settings screen item's summary for the SD card and storage settings -->
-    <string name="storage_settings_summary">Unmount SD card, view available storage</string>
+
+    <!-- Main settings screen item's title to go into the storage settings screen [CHAR LIMIT=25] -->
+    <string name="storage_settings">Storage</string>
+    <!-- Storage settings screen title [CHAR LIMIT=25] -->
+    <string name="storage_settings_title">Storage settings</string>
+    <!-- [CHAR LIMIT=100] Main settings screen item's summary for the SD card and storage settings -->
+    <string name="storage_settings_summary" product="nosdcard">Unmount USB storage, view available storage</string>
+    <!-- [CHAR LIMIT=100] Main settings screen item's summary for the SD card and storage settings -->
+    <string name="storage_settings_summary" product="default">Unmount SD card, view available storage</string>
     <!-- Do not translate. About phone, status item title -->
     <string name="status_imei">IMEI</string>
     <!-- Do not translate. About phone, status item title -->
@@ -1254,43 +1284,68 @@
     <!-- About phone, status item title.  How much time the device has had its main CPU awake. -->
     <string name="status_awake_time">Awake time</string>
     <!-- SD card & phone storage settings screen heading. This is displayed above items that pertain to the phone's internal storage  -->
-    <string name="internal_memory">Internal phone storage</string>
+    <string name="internal_memory">Internal storage</string>
+    <!-- SD card & phone storage settings screen heading. This is displayed above items that pertain to the SD card [CHAR LIMIT=30] -->
+    <string name="sd_memory" product="nosdcard">USB storage</string>
     <!-- SD card & phone storage settings screen heading. This is displayed above items that pertain to the SD card -->
-    <string name="sd_memory">SD card</string>
+    <string name="sd_memory" product="default">SD card</string>
     <!-- SD card & phone storage settings title. The amount of free space for some storage partition.  For example, this is listed under both the "Internal phone storage" section and the "SD card" section. -->
     <string name="memory_available">Available space</string>
     <!-- SD card & phone storage settings screen heading.  The total amount of storage space for some storage partition.  For example, this is listed under both the "Internal phone storage" section and the "SD card" section -->
     <string name="memory_size">Total space</string>
+    <!-- SD card & phone storage settings item title that will result in the phone unmounting the SD card.  This will be done before the user phyiscally removes the SD card from the phone.  Kind of like the "Safely remove" on some operating systems.   [CHAR LIMIT=25] -->
+    <string name="sd_eject" product="default">Unmount SD card</string>
+    <!-- SD card & phone storage settings item title that will result in the phone unmounting the SD card.  This will be done before the user phyiscally removes the SD card from the phone.  Kind of like the "Safely remove" on some operating systems.   [CHAR LIMIT=30] -->
+    <string name="sd_eject_summary" product="nosdcard">Unmount the internal USB storage</string>
     <!-- SD card & phone storage settings item title that will result in the phone unmounting the SD card.  This will be done before the user phyiscally removes the SD card from the phone.  Kind of like the "Safely remove" on some operating systems.   -->
-    <string name="sd_eject">Unmount SD card</string>
-    <!-- SD card & phone storage settings item title that will result in the phone unmounting the SD card.  This will be done before the user phyiscally removes the SD card from the phone.  Kind of like the "Safely remove" on some operating systems.   -->
-    <string name="sd_eject_summary">Unmount the SD card for safe removal</string>
+    <string name="sd_eject_summary" product="default">Unmount the SD card so you can safely remove it</string>
 
-
+    <!-- SD card & phone storage settings item summary that is displayed when no SD card is inserted.  This version of the string can probably never come up on current hardware. [CHAR LIMIT=25] -->
+    <string name="sd_insert_summary" product="nosdcard">Insert USB storage for mounting</string>
     <!-- SD card & phone storage settings item summary that is displayed when no SD card is inserted -->
-    <string name="sd_insert_summary">Insert an SD card for mounting</string>
+    <string name="sd_insert_summary" product="default">Insert an SD card for mounting</string>
+
+    <!-- Storage setting item that will mount USB storage if it unmounted. A user should never see this. [CHAR LIMIT=25] -->
+    <string name="sd_mount" product="nosdcard">Mount USB storage</string>
+    <!-- SD card & phone storage settings item title that will result in the phone mounting the SD card. [CHAR LIMIT=25] -->
+    <string name="sd_mount" product="default">Mount SD card</string>
+    <!-- Subtext for Mount USB storage in Storage settings. User should never see this. -->
+    <string name="sd_mount_summary" product="nosdcard">Mount the USB storage</string>
     <!-- SD card & phone storage settings item title that will result in the phone mounting the SD card. -->
-    <string name="sd_mount">Mount SD card</string>
-    <!-- SD card & phone storage settings item title that will result in the phone mounting the SD card. -->
-    <string name="sd_mount_summary">Mount the SD card</string>
-    <!-- SD card & phone storage settings item title that will result in the phone formatting the SD card.   -->
-    <string name="sd_format">Format SD card</string>
+    <string name="sd_mount_summary" product="default">Mount the SD card</string>
+
+    <!-- SD card & phone storage settings item title that will result in the phone formatting the USB storage.   [CHAR LIMIT=25] -->
+    <string name="sd_format" product="nosdcard">Erase USB storage</string>
+    <!-- SD card & phone storage settings item title that will result in the phone formatting the SD card.   [CHAR LIMIT=25] -->
+    <string name="sd_format" product="default">Erase SD card</string>
+    <!-- SD card & phone storage settings item title that will result in the phone unmounting the SD card.   [CHAR LIMIT=30] -->
+    <string name="sd_format_summary" product="nosdcard">Erases all data on the phone\'s internal USB storage, such as music and photos</string>
     <!-- SD card & phone storage settings item title that will result in the phone unmounting the SD card.   -->
-    <string name="sd_format_summary">Format (erase) the SD card</string>
+    <string name="sd_format_summary" product="default">Erases all data on the phone\'s SD card, such as music and photos</string>
     <!-- SD card status when it is not available status -->
     <string name="sd_unavailable">Unavailable</string>
     <!-- SD card status when it is mounted as read only  -->
     <string name="read_only">\u0020(Read-only)</string>
+    <!-- SD card eject confirmation dialog title   [CHAR LIMIT=25] -->
+    <string name="dlg_confirm_unmount_title" product="nosdcard">Unmount USB storage</string>
     <!-- SD card eject confirmation dialog title   -->
-    <string name="dlg_confirm_unmount_title">Unmount SD card</string>
+    <string name="dlg_confirm_unmount_title" product="default">Unmount SD card</string>
+    <!-- SD card eject confirmation dialog  [CHAR LIMIT=NONE] -->
+    <string name="dlg_confirm_unmount_text" product="nosdcard">If you unmount the USB storage, some applications you are using will stop and may be unavailable until you remount the USB storage.</string>
     <!-- SD card eject confirmation dialog  -->
-    <string name="dlg_confirm_unmount_text">If you unmount the SD card, some applications you are using will stop and may be unavailable until you remount the SD card.</string>
+    <string name="dlg_confirm_unmount_text" product="default">If you unmount the SD card, some applications you are using will stop and may be unavailable until you remount the SD card.</string>
+    <!-- SD card eject error dialog title   [CHAR LIMIT=30] -->
+    <string name="dlg_error_unmount_title" product="nosdcard">Unmounting USB storage failed</string>
     <!-- SD card eject error dialog title   -->
-    <string name="dlg_error_unmount_title">Unmount SD card failed</string>
+    <string name="dlg_error_unmount_title" product="default">Unmount SD card failed</string>
+    <!-- SD card eject error dialog text   [CHAR LIMIT=NONE] -->
+    <string name="dlg_error_unmount_text" product="nosdcard">Cannot unmount USB storage. Try again later.</string>
     <!-- SD card eject error dialog text   -->
-    <string name="dlg_error_unmount_text">Cannot unmount SD card. Try again later.</string>
-    <!-- SD card unmount informative text   -->
-    <string name="unmount_inform_text">SD card will be unmounted. Check the notification area for status.</string>
+    <string name="dlg_error_unmount_text" product="default">Cannot unmount SD card. Try again later.</string>
+    <!-- SD card unmount informative text   [CHAR LIMIT=NONE] -->
+    <string name="unmount_inform_text" product="nosdcard">USB storage will be unmounted.</string>
+    <!-- SD card unmount informative text   [CHAR LIMIT=NONE] -->
+    <string name="unmount_inform_text" product="default">SD card will be unmounted.</string>
     <!-- SD card eject progress title   -->
     <string name="sd_ejecting_title">Unmounting</string>
     <!-- SD card eject progress text   -->
@@ -1374,8 +1429,18 @@
     <string name="master_clear_title">Factory data reset</string>
     <!-- SD card & phone storage settings screen, setting option summary text under Internal phone storage heading -->
     <string name="master_clear_summary">Erases all data on phone</string>
+    <!-- SD card & phone storage settings screen, message on screen after user selects Factory data reset [CHAR LIMIT=NONE] -->
+    <string name="master_clear_desc" product="nosdcard">"This will erase all data from your phone\'s <b>internal storage</b>, including:\n\n<li>Your Google account</li>\n<li>System and application data and settings</li>\n<li>Downloaded applications</li>\n\nTo clear all data on this phone the <b>USB storage</b> needs to be erased.\n\n"</string>
     <!-- SD card & phone storage settings screen, message on screen after user selects Factory data reset -->
-    <string name="master_clear_desc">"This will erase all data from your phone, including:\n<li>Your Google account</li>\n<li>System and application data and settings</li>\n<li>Downloaded applications</li>\nIt will not erase:\n<li>Current system software and bundled applications</li>\n<li>SD card files, such as music or photos</li>"</string>
+    <string name="master_clear_desc" product="default" >"This will erase all data from your phone\'s <b>internal storage</b>, including:\n\n<li>Your Google account</li>\n<li>System and application data and settings</li>\n<li>Downloaded applications</li>\n\nTo also clear music, pictures, and other user data, the <b>SD card</b> needs to be erased.\n\n"</string>
+    <!-- SD card & phone storage settings screen, label for check box to erase USB storage [CHAR LIMIT=30] -->
+    <string name="erase_external_storage" product="nosdcard">Erase USB storage</string>
+    <!-- SD card & phone storage settings screen, label for check box to erase SD card [CHAR LIMIT=30] -->
+    <string name="erase_external_storage" product="default">Erase SD card</string>
+    <!-- SD card & phone storage settings screen, description for check box to erase USB storage [CHAR LIMIT=30] -->
+    <string name="erase_external_storage_description" product="nosdcard">Erase all the data on the phone\'s internal USB storage, such as music or photos.</string>
+    <!-- SD card & phone storage settings screen, description for check box to erase USB storage [CHAR LIMIT=30] -->
+    <string name="erase_external_storage_description" product="default">Erase all the data on the phone\'s SD card, such as music or photos.</string>
     <!-- SD card & phone storage settings screen, button on screen after user selects Factory data reset -->
     <string name="master_clear_button_text">Reset phone</string>
     <!-- SD card & phone storage settings screen, message on screen after user selects Reset phone button -->
@@ -1390,22 +1455,34 @@
     <string name="master_clear_failed">No reset was performed because the System Clear service is not available.</string>
 
     <!-- Media Format -->
+    <!-- SD card & phone storage settings screen, setting option name under Internal phone storage heading [CHAR LIMIT=25] -->
+    <string name="media_format_title" product="nosdcard">Erase USB storage</string>
     <!-- SD card & phone storage settings screen, setting option name under Internal phone storage heading -->
-    <string name="media_format_title">Format SD card.</string>
+    <string name="media_format_title" product="default">Erase SD card</string>
+    <!-- SD card & phone storage settings screen, setting option summary text under Internal phone storage heading [CHAR LIMIT=30] -->
+    <string name="media_format_summary" product="nosdcard">Erases all data in USB storage</string>
     <!-- SD card & phone storage settings screen, setting option summary text under Internal phone storage heading -->
-    <string name="media_format_summary">Erases all data on the SD card</string>
-    <!-- SD card & phone storage settings screen, message on screen after user selects Factory data reset -->
-    <string name="media_format_desc">This action will erase the SD card in the phone. You will lose ALL data on the card!</string>
+    <string name="media_format_summary" product="default">Erases all data on the SD card</string>
+    <!-- SD card & phone storage settings screen, message on screen after user selects Factory data reset [CHAR LIMIT=NONE] -->
+    <string name="media_format_desc" product="nosdcard">This action will erase the USB storage. You will lose <b>all</b> data stored there!</string>
+    <!-- SD card & phone storage settings screen, message on screen after user selects Factory data reset [CHAR LIMIT=NONE] -->
+    <string name="media_format_desc" product="default">This action will erase the SD card. You will lose <b>all</b> data on the card!</string>
+    <!-- SD card & phone storage settings screen, button on screen after user selects Factory data reset [CHAR LIMIT=25] -->
+    <string name="media_format_button_text" product="nosdcard">Erase USB storage</string>
     <!-- SD card & phone storage settings screen, button on screen after user selects Factory data reset -->
-    <string name="media_format_button_text">Format SD card</string>
-    <!-- SD card & phone storage settings screen, message on screen after user selects Format media button -->
-    <string name="media_format_final_desc">Format SD card, erasing all your media? Action cannot be reversed!</string>
+    <string name="media_format_button_text" product="default">Erase SD card</string>
+    <!-- SD card & phone storage settings screen, message on screen after user selects Format media button [CHAR LIMIT=NONE] -->
+    <string name="media_format_final_desc" product="nosdcard">Erase USB storage, deleting all files stored there? Action cannot be reversed!</string>
+    <!-- SD card & phone storage settings screen, message on screen after user selects Format media button [CHAR LIMIT=NONE] -->
+    <string name="media_format_final_desc" product="default">Erase SD card, deleting all files stored there? Action cannot be reversed!</string>
     <!-- SD card & phone storage settings screen, button on screen after user selects Format media button -->
     <string name="media_format_final_button_text">Erase everything</string>
     <!-- Message to draw an unlock pattern before clearing the device -->
     <string name="media_format_gesture_prompt">Draw your unlock pattern</string>
-    <!-- Explanation of drawing unlock pattern to format card -->
-    <string name="media_format_gesture_explanation">You must draw your unlock pattern to confirm an SD card format.</string>
+    <!-- Explanation of drawing unlock pattern to format card [CHAR LIMIT=NONE] -->
+    <string name="media_format_gesture_explanation" product="nosdcard">You must draw your unlock pattern to confirm that you want to erase the USB storage.</string>
+    <!-- Explanation of drawing unlock pattern to format card [CHAR LIMIT=NONE] -->
+    <string name="media_format_gesture_explanation" product="default">You must draw your unlock pattern to confirm that you want to erase the SD card.</string>
 
     <!-- Main settings screen, Call settings title for item to go into the call settings -->
     <string name="call_settings_title">Call settings</string>
@@ -1453,8 +1530,8 @@
     <string name="location_neighborhood_level">Location determined by Wi-Fi and/or mobile networks</string>
     <!-- Security & location settings screen, setting check box label if the GPS receiver should be enabled -->
     <string name="location_gps">Use GPS satellites</string>
-    <!-- Security & location settings screen, setting summary when Use GPS satellites check box is selected -->
-    <string name="location_street_level">When locating, accurate to street level (uncheck to conserve battery)</string>
+    <!-- [CHAR LIMIT=100] Security & location settings screen, setting summary when Use GPS satellites check box is selected -->
+    <string name="location_street_level">When locating, accurate to street level</string>
     <!-- Security & location settings screen, setting summary when Use GPS satellites check box is clear -->
     <string name="location_gps_disabled">Locate to street-level (requires more battery plus view of sky)</string>
     <!-- Security & location settings screen, setting check box label if Assisted GPS should be enabled -->
@@ -1651,6 +1728,10 @@
     <string name="data_size_label">Data</string>
     <!-- Manage applications, individual application info screen, button label under Storage heading. Button to remove the application from the system. -->
     <string name="uninstall_text">Uninstall</string>
+    <!-- [CHAR LIMIT=25] Manage applications, individual application info screen, button label under Storage heading. Button to disable an existing application. -->
+    <string name="disable_text">Disable</string>
+    <!-- [CHAR LIMIT=25] Manage applications, individual application info screen, button label under Storage heading. Button to re-enable an existing application. -->
+    <string name="enable_text">Enable</string>
     <!-- Manage applications, individual application info screen, button label under Storage heading. Button to clear all data associated with tis app (for exampel, remove all cached emails for an Email app) -->
     <string name="clear_user_data_text">Clear data</string>
     <!-- Manage applications, restore updated system application to factory version -->
@@ -1663,10 +1744,14 @@
     <string name="clear_activities">Clear defaults</string>
     <!-- Manage apps, individual app screen, substituted for the application's label when the app's label CAN NOT be determined.-->
     <string name="unknown">Unknown</string>
-    <!-- Manage applications screen, menu item.  Sorts all of the apps in the list alphabetically. -->
-    <string name="sort_order_alpha">Sort</string>
+    <!-- [CHAR LIMIT=25] Manage applications screen, menu item.  Sorts all of the apps in the list alphabetically. -->
+    <string name="sort_order_alpha">Sort by name</string>
     <!-- Manage applications screen, menu item. Sorts all of the apps in the list based on their file size.  This is used to uninstall when space is getting low. -->
     <string name="sort_order_size">Sort by size</string>
+    <!-- [CHAR LIMIT=25] Manage applications screen, menu item.  Show running services. -->
+    <string name="show_running_services">Show running services</string>
+    <!-- [CHAR LIMIT=25] Manage applications screen, menu item.  Show background cached processes. -->
+    <string name="show_background_processes">Show cached processes</string>
     <!-- Manage applications screen, individual app screen, button label when the user wants to manage the space taken up by an app. -->
     <string name="manage_space_text">Manage space</string>
     <!-- Text for menu option in ManageApps screen to present various menu options -->
@@ -1683,9 +1768,21 @@
     packages only. -->
     <string name="filter_apps_running">Running</string>
     <!-- Text for filter option in ManageApps screen to display list of
+    packages installed on sdcard. [CHAR LIMIT=30] -->
+    <string name="filter_apps_onsdcard" product="nosdcard">USB storage</string>
+    <!-- Text for filter option in ManageApps screen to display list of
     packages installed on sdcard. -->
-    <string name="filter_apps_onsdcard">On SD card</string>
-    <string name="loading">Loading\u2026</string>
+    <string name="filter_apps_onsdcard" product="default">On SD card</string>
+    <!-- [CHAR LIMIT=25] Manage applications, text telling using an application is disabled. -->
+    <string name="disabled">Disabled</string>
+    <!-- [CHAR LIMIT=25] Text shown when there are no applications to display. -->
+    <string name="no_applications">No applications.</string>
+    <!-- [CHAR LIMIT=15] Manage applications, label for chart showing internal storage use. -->
+    <string name="internal_storage">Internal storage</string>
+    <!-- [CHAR LIMIT=15] Manage applications, label for chart showing SD card storage use. -->
+    <string name="sd_card_storage" product="nosdcard">USB storage</string>
+    <!-- [CHAR LIMIT=15] Manage applications, label for chart showing SD card storage use. -->
+    <string name="sd_card_storage" product="default">SD card storage</string>
     <!-- Manage app screen, shown when the activity is busy recomputing the size of each app -->
     <string name="recompute_size">Recomputing size\u2026</string>
     <!-- Manage applications, individual application screen, confirmation dialog title. Displays when user selects to "Clear data". -->
@@ -1723,8 +1820,10 @@
     <string name="move_app">Move</string>
     <!-- Manage applications, text for Move button to move app to internal storage -->
     <string name="move_app_to_internal">Move to phone</string>
+    <!-- Manage applications, text for Move button  to move app to sdcard [CHAR LIMIT=25] -->
+    <string name="move_app_to_sdcard" product="nosdcard">Move to USB storage</string>
     <!-- Manage applications, text for Move button  to move app to sdcard -->
-    <string name="move_app_to_sdcard">Move to SD card</string>
+    <string name="move_app_to_sdcard" product="default">Move to SD card</string>
     <!-- Manage applications, title for dialog when killing persistent apps-->
     <!-- Manage applications, text for Move button when move is in progress -->
     <string name="moving">Moving</string>
@@ -1737,8 +1836,8 @@
     <string name="system_package">System updates cannot be installed on external media.</string>
 
     <string name="force_stop_dlg_title">Force stop</string>
-    <!-- Manage applications, text for dialog when killing persistent apps-->
-    <string name="force_stop_dlg_text">This application will be restarted right way. Are you sure you want to force stop?</string>
+    <!-- [CHAR LIMIT=200] Manage applications, text for dialog when killing persistent apps-->
+    <string name="force_stop_dlg_text">Force stopping an application can cause it to misbehave.  Are you sure?</string>
     <!-- Manage applications, text for dialog when moving an app -->
     <string name="move_app_failed_dlg_title">Move application</string>
     <!-- Manage applications, text for dialog moving an app -->
@@ -1748,47 +1847,95 @@
     <!-- Manage applications. application installation location summary -->
     <string name="app_install_location_summary">Change the preferred installation location for new applications.</string>
 
+    <!-- [CHAR LIMIT=25] Services settings screen, setting option name for the user to go to the screen to view app storage use -->
+    <string name="storageuse_settings_title">Storage use</string>
+    <!-- Services settings screen, setting option summary for the user to go to the screen to app storage use -->
+    <string name="storageuse_settings_summary">View storage used by applications</string>
+
     <!-- Services settings screen, setting option name for the user to go to the screen to view running services -->
     <string name="runningservices_settings_title">Running services</string>
     <!-- Services settings screen, setting option summary for the user to go to the screen to view running services  -->
     <string name="runningservices_settings_summary">View and control currently running services</string>
     <!-- Label for a service item when it is restarting -->
     <string name="service_restarting">Restarting</string>
-    <!-- Running services, body text when there are no services to show -->
-    <string name="no_running_services">No running services</string>
-    <!-- Running services, title of dialog to stop a service -->
-    <string name="confirm_stop_service">Stop service?</string>
-    <!-- Running services, message of dialog to stop a service -->
-    <string name="confirm_stop_service_msg">The service will no longer run until
-            started again.  This may have undesirable
-            consequences on the application
-            <xliff:g id="application">%1$s</xliff:g>.</string>
-    <!-- Running services, button to stop a service -->
-    <string name="confirm_stop_stop">Stop</string>
-    <!-- Running services, button to cancel stopping of a service -->
-    <string name="confirm_stop_cancel">Cancel</string>
+    <!-- Label for a process item representing a background process -->
+    <string name="cached">Cached background process</string>
+    <!-- [CHAR LIMIT=25] Text shown when there are no services running -->
+    <string name="no_running_services">Nothing running.</string>
     <!-- Running services, description for a service in the started state -->
-    <string name="service_started_by_app">Started by application: touch to stop</string>
+    <string name="service_started_by_app">Started by application.</string>
     <!-- Running services, description for a service in the started state -->
-    <string name="service_client_name"><xliff:g id="client_name">%1$s</xliff:g>: touch to manage</string>
-    <!-- Running services, summary of background processes -->
-    <string name="service_background_processes">Avail: <xliff:g id="free">%2$s</xliff:g>+<xliff:g id="memory">%3$s</xliff:g> in <xliff:g id="count">%1$d</xliff:g></string>
-    <!-- Running services, summary of foreground processes -->
-    <string name="service_foreground_processes">Other: <xliff:g id="memory">%2$s</xliff:g> in <xliff:g id="count">%1$d</xliff:g></string>
+    <string name="service_client_name"><xliff:g id="client_name">%1$s</xliff:g></string>
+    <!-- [CHAR LIMIT=10] Running services, summary of background processes -->
+    <string name="service_background_processes"><xliff:g id="memory">%1$s</xliff:g> free</string>
+    <!-- [CHAR LIMIT=10] Running services, summary of foreground processes -->
+    <string name="service_foreground_processes"><xliff:g id="memory">%1$s</xliff:g> used</string>
+    <!-- [CHAR LIMIT=10] Running services, label for chart showing memory use. -->
+    <string name="memory">RAM</string>
     <!-- Text to label a process entry with the process name. -->
-    <string name="service_process_name">Process: <xliff:g id="process">%1$s</xliff:g></string>
+    <string name="service_process_name"><xliff:g id="process">%1$s</xliff:g></string>
+    <!-- Descriptive text of a running process: singular process, singular service. -->
+    <string name="running_processes_item_description_s_s"><xliff:g id="numprocess">%1$d</xliff:g>
+        process and <xliff:g id="numservices">%2$d</xliff:g> service</string>
+    <!-- Descriptive text of a running process: singular process, plural service. -->
+    <string name="running_processes_item_description_s_p"><xliff:g id="numprocess">%1$d</xliff:g>
+        process and <xliff:g id="numservices">%2$d</xliff:g> services</string>
+     <!-- Descriptive text of a running process: plural process, singular service. -->
+    <string name="running_processes_item_description_p_s"><xliff:g id="numprocess">%1$d</xliff:g>
+        processes and <xliff:g id="numservices">%2$d</xliff:g> service</string>
+    <!-- Descriptive text of a running process: plural process, plural service. -->
+    <string name="running_processes_item_description_p_p"><xliff:g id="numprocess">%1$d</xliff:g>
+        processes and <xliff:g id="numservices">%2$d</xliff:g> services</string>
 
+    <!-- Details about an application's running services. -->
+    <string name="runningservicedetails_settings_title">Running application</string>
+    <!-- Message displayed when there are no active services in a process. -->
+    <string name="no_services">Not active</string>
+    <!-- Title for list of services. -->
+    <string name="runningservicedetails_services_title">Services</string>
+    <!-- Title for list of services. -->
+    <string name="runningservicedetails_processes_title">Processes</string>
+    <!-- Running service details, stop a service that has started itself. -->
+    <string name="service_stop">Stop</string>
+    <!-- Running service details, manage a service that is running for some other reason. -->
+    <string name="service_manage">Settings</string>
+    <!-- Running service details, default description for services that are started. -->
+    <string name="service_stop_description">This service was started by its
+        application.  Stopping it may cause the application to fail.</string>
+    <!-- Running service details, description for running heavy-weight process. -->
+    <string name="heavy_weight_stop_description">This application can not safely
+        be stopped.  Doing so may lose some of your current work.</string>
+    <!-- Running service details, description for background process. -->
+    <string name="background_process_stop_description">This is an old application
+        process that is being kept for better speed in case it is needed again.
+        There is usually no reason to stop it.</string>
+    <!-- Running service details, default description for services that are managed. -->
+    <string name="service_manage_description"><xliff:g id="client_name">%1$s</xliff:g>:
+        currently in use.  Touch Settings to control it.</string>
+    <!-- Description of the main process in the details. -->
+    <string name="main_running_process_description">Main process that is in use.</string>
+    <!-- Message that a process's service is in use. -->
+    <string name="process_service_in_use_description">Service <xliff:g id="comp_name">%1$s</xliff:g>
+        is in use.</string>
+    <!-- Message that a process's provider is in use. -->
+    <string name="process_provider_in_use_description">Provider <xliff:g id="comp_name">%1$s</xliff:g>
+        is in use.</string>
+    <!-- Running service details, stop confirmation dialog title. Displays when user selects selects to stop a system service. -->
+    <string name="runningservicedetails_stop_dlg_title">Stop system service?</string>
+    <!-- Running service details, stop confirmation descriptive text. Displays when user selects selects to stop a system service. -->
+    <string name="runningservicedetails_stop_dlg_text">Are you sure you want to stop this system service? If you do, some
+        features of your phone may stop working correctly until you power it off
+        and then on again.</string>
+    
     <!-- Language Settings --> <skip />
     <!-- Title of setting on main settings screen.  This item will take the user to the screen to tweak settings realted to locale and text -->
     <string name="language_settings">Language &amp; keyboard</string>
     <!-- Title of Language and keyboard settings screen -->
     <string name="language_keyboard_settings_title">Language &amp; keyboard settings</string>
-    <!-- Summary of setting on main settings screen.  This item will take the user to the screen to tweak settings realted to locale and text -->
-    <string name="language_settings_summary">Set locale (language and region), text input and auto-correction options</string>
-    <!-- On Text & language settings screen, heading. Inside the "Locale & text" screen, this is the header for settings that are for locale changes. -->
-    <string name="language_category">Locale setting</string>
-    <!-- On Text & language settings screen, heading. Inside the "Locale & text" screen, this is the header for settings that relate to text (autotext, autoreplace, autocapitalization). -->
-    <string name="text_category">Text settings</string>
+    <!-- On Language & keyboard settings screen, heading. Inside the "Language & keyboard settings" screen, this is the header for settings that relate to language (select the system language, user dictionary for the language). -->
+    <string name="language_settings_category">Language settings</string>
+    <!-- On Language & keyboard settings screen, heading. Inside the "Language & keyboard settings" screen, this is the header for settings that relate to keyboard (enable/disable each keyboard, settings for each keyboard). -->
+    <string name="keyboard_settings_category">Keyboard settings</string>
     <!-- On Text & language settings screen, setting option name. title of the setting to take the user to a screen to select the locale. -->
     <string name="phone_language">Select language</string>
     <!-- On Text & language settings screen, setting option name. summary of the setting to take the user to a screen to select the locale. -->
@@ -1845,8 +1992,6 @@
     <string name="testing_phone_info">Phone information</string>
     <!-- In the Testing screen. The item title of the activity that shows a bunch of battery-related information.  -->
     <string name="testing_battery_info">Battery information</string>
-    <!-- In the Testing screen. The item title of the activity that shows a bunch of historical battery-related information.  -->
-    <string name="testing_battery_history">Battery history</string>
     <!-- Do not translate. In the Testing screen. The item title of the activity that shows a bunch of SIM-related operations.  -->
     <string name="testing_sim_toolkit">SIM toolkit</string>
 
@@ -1881,9 +2026,9 @@
     <!-- Summary for on-screen keyboard settings -->
     <string name="onscreen_keyboard_settings_summary">Onscreen keyboard settings</string>
     <!-- Title for built-in keyboard settings -->
-    <string name="builtin_keyboard_settings_title">Device keyboard</string>
+    <string name="builtin_keyboard_settings_title">Built-in keyboard</string>
     <!-- Summary for built-in keyboard settings -->
-    <string name="builtin_keyboard_settings_summary">Built-in keyboard settings</string>
+    <string name="builtin_keyboard_settings_summary">Built-in, physical keyboard settings</string>
 
     <!-- Development Settings.  the title for the item to take the user to Development settings.  Development settings are settings meant for application developers.  -->
     <string name="development_settings_title">Development</string>
@@ -1916,39 +2061,6 @@
          the final name for Gadgets/Widgets, so please translate both for now. -->
     <string name="widget_picker_title">Choose widget</string>
 
-    <!-- Used to display "Details for UID 1234" in BatteryHistory -->
-    <string name="battery_history_details_for">Details for UID <xliff:g id="number" example="1234">%d</xliff:g></string>
-
-    <!-- Used to name a set of apps that share a user id in BatteryHistory -->
-    <string name="battery_history_uid">UID <xliff:g id="user_id">%1$d</xliff:g></string>
-
-    <!-- Used as a title for the network usage details screen in BatteryHistory -->
-    <string name="battery_history_network_usage">Network usage details for <xliff:g id="app_name">%1$s</xliff:g>:</string>
-
-    <!-- Used to show the number of bytes received by an app over the network in BatteryHistory -->
-    <string name="battery_history_bytes_received">Bytes received: <xliff:g id="bytes">%1$d</xliff:g></string>
-
-    <!-- Used to show the number of bytes sent by an app over the network in BatteryHistory -->
-    <string name="battery_history_bytes_sent">Bytes sent: <xliff:g id="bytes">%1$d</xliff:g></string>
-
-    <!-- Used to show the number of bytes sent and received by an app over the network in BatteryHistory -->
-    <string name="battery_history_bytes_total">Total bytes: <xliff:g id="bytes">%1$d</xliff:g></string>
-
-    <!-- Used as a title for the cpu usage details screen in BatteryHistory -->
-    <string name="battery_history_cpu_usage">CPU usage details for <xliff:g id="app_name">%1$s</xliff:g>:</string>
-
-    <!-- Used to show the time spent in user code for a given app in BatteryHistory -->
-    <string name="battery_history_user_time">User time: </string>
-
-    <!-- Used to show the time spent in system code for a given app in BatteryHistory -->
-    <string name="battery_history_system_time">System time: </string>
-
-    <!-- Used to show the time spent in user or system code for a given app in BatteryHistory -->
-    <string name="battery_history_total_time">Total time: </string>
-
-    <!-- Used to show the number of times an app has been started in BatteryHistory -->
-    <string name="battery_history_starts">Starts: <xliff:g id="starts">%1$d</xliff:g></string>
-
     <!-- Used to show an amount of time in the form "d days, h hours, m minutes, s seconds" in BatteryHistory -->
     <string name="battery_history_days"><xliff:g id="days">%1$d</xliff:g>d <xliff:g id="hours">%2$d</xliff:g>h <xliff:g id="minutes">%3$d</xliff:g>m <xliff:g id="seconds">%4$d</xliff:g>s</string>
 
@@ -1960,52 +2072,7 @@
 
     <!-- Used to show an amount of time in the form "s seconds" in BatteryHistory -->
     <string name="battery_history_seconds"><xliff:g id="seconds">%1$d</xliff:g>s</string>
-
-    <!-- Used to head a list of packages that share a given user id BatteryHistory -->
-    <string name="battery_history_packages_sharing_this_uid">Packages sharing this UID:</string>
-
-    <!-- Used when no battery data available in BatteryHistory -->
-    <string name="battery_history_no_data">No battery usage data available</string>
-
-    <!-- Used for Sensor detail screen in BatteryHistory -->
-    <string name="battery_history_sensor">Sensor:</string>
-
-    <!-- Used for Wakelock detail screen in BatteryHistory -->
-    <string name="battery_history_wakelock">Partial Wakelock:</string>
-
-    <!-- Used for Sensor detail screen in BatteryHistory -->
-    <string name="battery_history_used_by_packages">Sensor used by packages:</string>
-
-    <!-- Used for Sensor detail screen in BatteryHistory -->
-    <string name="battery_history_sensor_usage">Used <xliff:g id="count">%1$d</xliff:g> times by <xliff:g id="package">%2$s</xliff:g></string>
-
-    <!-- Used for Sensor detail screen in BatteryHistory -->
-    <string name="battery_history_sensor_usage_multi">Used <xliff:g id="count">%1$d</xliff:g> times by one of:</string>
-
-    <!-- Used for label of awake bar in BatteryHistory -->
-    <string name="battery_history_awake_label">Running</string>
-
-    <!-- Used for label of screen on bar in BatteryHistory -->
-    <string name="battery_history_screen_on_label">Screen on</string>
-
-    <!-- Used for label of phone on bar in BatteryHistory -->
-    <string name="battery_history_phone_on_label">Phone on</string>
-
-    <!-- Used for awake time message in BatteryHistory -->
-    <string name="battery_history_awake">Time spent without sleeping:</string>
-
-    <!-- Used for Screen on time message in BatteryHistory -->
-    <string name="battery_history_screen_on">Time spent with screen on:</string>
-
-    <!-- Used for Phone on time message in BatteryHistory -->
-    <string name="battery_history_phone_on">Time spent with phone on:</string>
-
-    <!-- Used for Screen on time message in BatteryHistory -->
-    <string name="battery_history_screen_on_battery">On battery:</string>
-
-    <!-- XXX remove? Used for Screen on time message in BatteryHistory -->
-    <string name="battery_history_screen_on_plugged">Plugged in:</string>
-
+    
     <!-- XXX remove? Strings used for displaying usage statistics -->
     <string name="usage_stats_label">Usage statistics</string>
 
@@ -2072,16 +2139,30 @@
     <string name="battery_since_unplugged">Battery use since unplugged</string>
     <!-- Battery usage since user reset the stats -->
     <string name="battery_since_reset">Battery use since reset</string>
+    <!-- Battery usage on battery duration -->
+    <string name="battery_stats_on_battery"><xliff:g id="time">%1$s</xliff:g> on battery</string>
     <!-- Battery usage duration -->
     <string name="battery_stats_duration"><xliff:g id="time">%1$s</xliff:g> since unplugged</string>
+    <!-- [CHAR LIMIT=25] Label for battery stats charging state graph -->
+    <string name="battery_stats_charging_label">Charging</string>
+    <!-- [CHAR LIMIT=25] Label for battery stats screen on state graph -->
+    <string name="battery_stats_screen_on_label">Screen on</string>
+    <!-- [CHAR LIMIT=25] Label for battery stats gps on state graph -->
+    <string name="battery_stats_gps_on_label">GPS on</string>
+    <!-- [CHAR LIMIT=25] Label for battery stats wifi running state graph -->
+    <string name="battery_stats_wifi_running_label">Wi-Fi</string>
+    <!-- [CHAR LIMIT=25] Label for battery stats wake lock state graph -->
+    <string name="battery_stats_wake_lock_label">Awake</string>
+    <!-- [CHAR LIMIT=25] Label for battery stats phone signal strength graph -->
+    <string name="battery_stats_phone_signal_label">Phone signal</string>
     <!-- Battery usage during last unplugged period -->
     <string name="battery_stats_last_duration">@string/menu_stats_last_unplugged</string>
     <!-- CPU awake time title -->
     <string name="awake">Device awake time</string>
     <!-- Wifi on time -->
-    <string name="wifi_on_time">WiFi on time</string>
+    <string name="wifi_on_time">Wi-Fi on time</string>
     <!-- Bluetooth on time -->
-    <string name="bluetooth_on_time">WiFi on time</string>
+    <string name="bluetooth_on_time">Wi-Fi on time</string>
     <!-- Application name and battery usage percentage -->
     <string name="usage_name_percent"><xliff:g id="name">%1$s</xliff:g>" - "
             <xliff:g id="number" example="30">%2$s</xliff:g><xliff:g id="percent" example="%">%%</xliff:g></string>
@@ -2112,8 +2193,12 @@
     <string name="usage_type_cpu">CPU total</string>
     <!-- Label for CPU usage in foreground -->
     <string name="usage_type_cpu_foreground">CPU foreground</string>
+    <!-- [CHAR LIMIT=25] Label for keeping device from sleeping -->
+    <string name="usage_type_wake_lock">Keep awake</string>
     <!-- Label for GPU usage time -->
     <string name="usage_type_gps">GPS</string>
+    <!-- [CHAR LIMIT=25] Label for WIFI usage time -->
+    <string name="usage_type_wifi_running">Wi-Fi running</string>
     <!-- Label for Phone usage time -->
     <string name="usage_type_phone">Phone</string>
     <!-- Label for Data sent -->
@@ -2137,7 +2222,7 @@
     <!-- Label for display settings -->
     <string name="battery_action_display">Display settings</string>
     <!-- Label for wifi settings -->
-    <string name="battery_action_wifi">WiFi settings</string>
+    <string name="battery_action_wifi">Wi-Fi settings</string>
     <!-- Label for bluetooth settings -->
     <string name="battery_action_bluetooth">Bluetooth settings</string>
 
@@ -2169,12 +2254,12 @@
     <!-- Suggestion for bluetooth headset -->
     <string name="battery_sugg_bluetooth_headset">Try connecting to a different bluetooth device</string>
 
-    <!-- Description for power consumed by applications -->
-    <string name="battery_desc_apps">Battery used by applications when running</string>
+    <!-- [CHAR LIMIT=50] Description for power consumed by applications -->
+    <string name="battery_desc_apps">Battery used by application</string>
     <!-- Suggestion for exploring application info to stop or uninstall -->
     <string name="battery_sugg_apps_info">Stop or uninstall the application</string>
-    <!-- Suggestion for getting apps to consume less power due to GPS-->
-    <string name="battery_sugg_apps_gps">"Turn off GPS when you're not using it"</string>
+    <!-- [CHAR LIMIT=100] Suggestion for getting apps to consume less power due to GPS-->
+    <string name="battery_sugg_apps_gps">"Manually control GPS to prevent application from using it"</string>
     <!-- Suggestion for getting apps to consume less power -->
     <string name="battery_sugg_apps_settings">The application may offer settings to reduce battery use</string>
 
@@ -2284,6 +2369,12 @@
     <string name="pico_voice_summary_female">Female</string>
     <!-- On Pico TTS Settings screen, summary text to indicate that a voice is male -->
     <string name="pico_voice_summary_male">Male</string>
+    <!-- [CHAR LIMIT=33] Notification title that appears when the installation of a new TTS engine completed -->
+    <string name="tts_notif_engine_install_title">Speech synthesis engine installed</string>
+    <!-- [CHAR LIMIT=30] Notification message that appears after the user has installed a new TTS engine,
+         to warn the user that this engine cannot be used before the checkbox for that engine
+         in TTS settings is checked. -->
+    <string name="tts_notif_engine_install_message">Enable new engine before use</string>
 
     <!-- Power Control Widget -->
     <string name="gadget_title">Power Control</string>
@@ -2436,10 +2527,14 @@
     <string name="credentials_unlock">Enter password</string>
     <!-- Description of dialog to enable/dislable access to credential storage -->
     <string name="credentials_unlock_hint">Enter the credential storage password.</string>
+    <!-- Title of preference to install certificates from SD card [CHAR LIMIT=25] -->
+    <string name="credentials_install_certificates" product="nosdcard">Install from USB storage</string>
     <!-- Title of preference to install certificates from SD card -->
-    <string name="credentials_install_certificates">Install from SD card</string>
+    <string name="credentials_install_certificates" product="default">Install from SD card</string>
+    <!-- Summary of preference to install certificates from SD card [CHAR LIMIT=25] -->
+    <string name="credentials_install_certificates_summary" product="nosdcard">Install encrypted certificates from USB storage</string>
     <!-- Summary of preference to install certificates from SD card -->
-    <string name="credentials_install_certificates_summary">Install encrypted certificates from SD card</string>
+    <string name="credentials_install_certificates_summary" product="default">Install encrypted certificates from SD card</string>
     <!-- Title of preference to set storage password -->
     <string name="credentials_set_password">Set password</string>
     <!-- Summary of preference to set storage password -->
@@ -2472,6 +2567,27 @@
     <!-- toast message -->
     <string name="credentials_disabled">Credential storage is disabled.</string>
 
+    <!-- Title of preference group for encrypted filesystem settings -->
+    <string name="encrypted_fs_category">Encrypted File System</string>
+    <!-- Title of preference to enable/dislable encrypted filesystem -->
+    <string name="encrypted_fs_enable">Encrypt private user data</string>
+    <!-- Summary of preference to enable/dislable encrypted filesystem -->
+    <string name="encrypted_fs_enable_summary">Enable encrypted file system storage for private user data in this device</string>
+    <!-- Dialog message to enable encrypted filesystem -->
+    <string name="encrypted_fs_enable_dialog">Enabling Encrypted File Systems requires a device data wipe.</string>
+    <!-- Dialog message to disable encrypted filesystem -->
+    <string name="encrypted_fs_disable_dialog">Disabling Encrypted File Systems requires a device data wipe.</string>
+    <!-- Button label to enable encrypted filesystem -->
+    <string name="encrypted_fs_enable_button">Enable</string>
+    <!-- Button label to disable encrypted filesystem -->
+    <string name="encrypted_fs_disable_button">Disable</string>
+    <!-- Button message to cancel toggling encrypted filesystem -->
+    <string name="encrypted_fs_cancel_button">Cancel</string>
+    <!-- Toast message to notify cancel toggling encrypted filesystem -->
+    <string name="encrypted_fs_cancel_confirm">Encrypted File Systems mode change cancelled.</string>
+    <!-- Dialog title to toggle encrypted filesystem -->
+    <string name="encrypted_fs_alert_dialog_title">Encrypted File Systems Warning.</string>
+
     <!-- Sound settings screen, setting check box label -->
     <string name="emergency_tone_title">Emergency tone</string>
     <!-- Sound settings screen, setting option summary text -->
@@ -2489,15 +2605,15 @@
     <!-- Backup data menu title -->
     <string name="backup_data_title">Back up my data</string>
     <!-- Summary text of the "back up data" setting -->
-    <string name="backup_data_summary">Back up my settings and other application data.</string>
+    <string name="backup_data_summary">Back up application data, Wi-Fi passwords, and other settings to Google servers</string>
     <!-- Auto-restore menu title -->
     <string name="auto_restore_title">Automatic restore</string>
     <!-- Summary text of the "automatic restore" setting -->
-    <string name="auto_restore_summary">If I reinstall an application, restore backed up settings or other data.</string>
+    <string name="auto_restore_summary">If I reinstall an application, restore backed up settings or other data</string>
     <!-- Dialog title for confirmation to erase backup data from server -->
     <string name="backup_erase_dialog_title">Backup</string>
     <!-- Dialog title for confirmation to erase backup data from server -->
-    <string name="backup_erase_dialog_message">Are you sure you want to stop backing up your settings and application data and erase all copies on Google servers?</string>
+    <string name="backup_erase_dialog_message">Are you sure you want to stop backing up your Wi-Fi passwords, bookmarks, and other settings and application data and erase all copies on Google servers?</string>
 
     <!-- Device admin settings screen --><skip/>
     <!-- Device admin settings activity title -->
diff --git a/res/xml/application_settings.xml b/res/xml/application_settings.xml
index 4df21da..27a0411 100644
--- a/res/xml/application_settings.xml
+++ b/res/xml/application_settings.xml
@@ -59,6 +59,23 @@
                 android:targetClass="com.android.settings.RunningServices" />
     </PreferenceScreen>
 
+    <PreferenceScreen
+            android:title="@string/storageuse_settings_title"
+            android:summary="@string/storageuse_settings_summary">
+        <intent android:action="android.intent.action.MAIN"
+                android:targetPackage="com.android.settings"
+                android:targetClass="com.android.settings.applications.StorageUse" />
+    </PreferenceScreen>
+
+    <PreferenceScreen
+            android:key="power_usage"
+            android:title="@string/power_usage_summary_title"
+            android:summary="@string/power_usage_summary">
+        <intent android:action="android.intent.action.MAIN"
+                android:targetPackage="com.android.settings"
+                android:targetClass="com.android.settings.fuelgauge.PowerUsageSummary" />
+    </PreferenceScreen>
+
     <PreferenceScreen 
             android:title="@string/development_settings_title" 
             android:summary="@string/development_settings_summary">
diff --git a/res/xml/device_info_memory.xml b/res/xml/device_info_memory.xml
index 785fded..fd0bf4e 100644
--- a/res/xml/device_info_memory.xml
+++ b/res/xml/device_info_memory.xml
@@ -16,7 +16,8 @@
 
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
 
-    <PreferenceCategory android:title="@string/sd_memory">
+    <PreferenceCategory android:key="memory_sd"
+            android:title="@string/sd_memory">
         <Preference android:key="memory_sd_size" 
             style="?android:attr/preferenceInformationStyle" 
             android:title="@string/memory_size"
diff --git a/res/xml/language_settings.xml b/res/xml/language_settings.xml
index d3c0e02..278100e 100644
--- a/res/xml/language_settings.xml
+++ b/res/xml/language_settings.xml
@@ -17,6 +17,9 @@
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
 
+    <PreferenceCategory android:key="language_settings_category"
+            android:title="@string/language_settings_category" />
+
     <PreferenceScreen
             android:key="phone_language"
             android:title="@string/phone_language">
@@ -25,8 +28,16 @@
                 android:targetClass="com.android.settings.LocalePicker"/>
     </PreferenceScreen>
 
-    <PreferenceCategory android:key="text_category"
-            android:title="@string/text_category" />
+    <PreferenceScreen
+            android:title="@string/user_dict_settings_title"
+            android:summary="@string/user_dict_settings_summary">
+        <intent android:action="android.intent.action.MAIN"
+                android:targetPackage="com.android.settings"
+                android:targetClass="com.android.settings.UserDictionarySettings" />
+    </PreferenceScreen>
+
+    <PreferenceCategory android:key="keyboard_settings_category"
+            android:title="@string/keyboard_settings_category" />
 
     <PreferenceScreen
             android:key="hardkeyboard_category"
@@ -36,13 +47,5 @@
                 android:targetPackage="com.android.settings"
                 android:targetClass="com.android.settings.PhysicalKeyboardSettings"/>
     </PreferenceScreen>
-    
-    <PreferenceScreen 
-            android:title="@string/user_dict_settings_title" 
-            android:summary="@string/user_dict_settings_summary">
-        <intent android:action="android.intent.action.MAIN"
-                android:targetPackage="com.android.settings"
-                android:targetClass="com.android.settings.UserDictionarySettings" />
-    </PreferenceScreen>
 
 </PreferenceScreen>
diff --git a/res/xml/settings.xml b/res/xml/settings.xml
index 326c494..6ddbf7c 100644
--- a/res/xml/settings.xml
+++ b/res/xml/settings.xml
@@ -132,21 +132,6 @@
                 android:targetClass="com.android.settings.deviceinfo.Memory" />
         </com.android.settings.IconPreferenceScreen>
 
-        <!-- Search. 
-             The settings activity will ensure that this is resolved to an
-             activity on the system image, otherwise it will remove this
-             preference.
-             The intent action is the same as
-             android.app.SearchManager.INTENT_ACTION_SEARCH_SETTINGS.
-             -->
-
-        <com.android.settings.IconPreferenceScreen
-            settings:icon="@drawable/ic_settings_search"
-            android:title="@string/search_settings"
-            android:key="search_settings">
-            <intent android:action="android.search.action.SEARCH_SETTINGS" />
-        </com.android.settings.IconPreferenceScreen>
-
         <!-- Language -->
 
         <com.android.settings.IconPreferenceScreen
diff --git a/res/xml/testing_settings.xml b/res/xml/testing_settings.xml
index 4b3ea0b..9c0a68b 100644
--- a/res/xml/testing_settings.xml
+++ b/res/xml/testing_settings.xml
@@ -33,13 +33,6 @@
 
 
     <PreferenceScreen
-            android:title="@string/testing_battery_history">
-        <intent android:action="android.intent.action.MAIN"
-                android:targetPackage="com.android.settings"
-                android:targetClass="com.android.settings.battery_history.BatteryHistory" />
-    </PreferenceScreen>
-
-    <PreferenceScreen
             android:title="@string/testing_usage_stats">
         <intent android:action="android.intent.action.MAIN"
                 android:targetPackage="com.android.settings"
diff --git a/res/xml/tether_prefs.xml b/res/xml/tether_prefs.xml
index 6e3d062..77fc7c6 100644
--- a/res/xml/tether_prefs.xml
+++ b/res/xml/tether_prefs.xml
@@ -28,7 +28,6 @@
 
     <PreferenceScreen
         android:key="wifi_ap_settings"
-        android:dependency="enable_wifi_ap"
         android:title="@string/wifi_tether_settings_text"
         android:summary="@string/wifi_tether_settings_subtext" >
         <intent
diff --git a/res/xml/wifi_ap_settings.xml b/res/xml/wifi_ap_settings.xml
index ad21714..9e26154 100644
--- a/res/xml/wifi_ap_settings.xml
+++ b/res/xml/wifi_ap_settings.xml
@@ -24,7 +24,6 @@
 
     <Preference
         android:key="wifi_ap_ssid_and_security"
-        android:dependency="enable_wifi_ap"
         android:title="@string/wifi_tether_configure_ap_text"
         android:persistent="false" />
 
diff --git a/res/xml/wireless_settings.xml b/res/xml/wireless_settings.xml
index 7c91d50..620472d 100644
--- a/res/xml/wireless_settings.xml
+++ b/res/xml/wireless_settings.xml
@@ -76,6 +76,12 @@
             android:targetClass="com.android.settings.vpn.VpnSettings" />
     </PreferenceScreen>
 
+    <CheckBoxPreference
+        android:key="toggle_nfc"
+        android:title="@string/nfc_quick_toggle_title"
+        android:summary="@string/nfc_quick_toggle_summary"
+        android:persistent="false" />
+
     <PreferenceScreen
         android:title="@string/network_settings_title"
         android:summary="@string/network_settings_summary"
diff --git a/src/com/android/settings/DeviceAdminAdd.java b/src/com/android/settings/DeviceAdminAdd.java
index 4760277..005196e 100644
--- a/src/com/android/settings/DeviceAdminAdd.java
+++ b/src/com/android/settings/DeviceAdminAdd.java
@@ -35,9 +35,12 @@
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.RemoteCallback;
+import android.text.TextUtils.TruncateAt;
 import android.util.Log;
+import android.view.Display;
 import android.view.View;
 import android.view.ViewGroup;
+import android.view.WindowManager;
 import android.widget.AppSecurityPermissions;
 import android.widget.Button;
 import android.widget.ImageView;
@@ -50,6 +53,10 @@
     static final String TAG = "DeviceAdminAdd";
     
     static final int DIALOG_WARNING = 1;
+
+    private static final int MAX_ADD_MSG_LINES_PORTRAIT = 5;
+    private static final int MAX_ADD_MSG_LINES_LANDSCAPE = 2;
+    private static final int MAX_ADD_MSG_LINES = 15;
     
     Handler mHandler;
     
@@ -62,6 +69,7 @@
     TextView mAdminName;
     TextView mAdminDescription;
     TextView mAddMsg;
+    boolean mAddMsgEllipsized = true;
     TextView mAdminWarning;
     ViewGroup mAdminPolicies;
     Button mActionButton;
@@ -138,7 +146,17 @@
         mAdminIcon = (ImageView)findViewById(R.id.admin_icon);
         mAdminName = (TextView)findViewById(R.id.admin_name);
         mAdminDescription = (TextView)findViewById(R.id.admin_description);
+
         mAddMsg = (TextView)findViewById(R.id.add_msg);
+        mAddMsg.setOnClickListener(new View.OnClickListener() {
+            public void onClick(View v) {
+                toggleMessageEllipsis(v);
+            }
+        });
+
+        // toggleMessageEllipsis also handles initial layout:
+        toggleMessageEllipsis(mAddMsg);
+
         mAdminWarning = (TextView)findViewById(R.id.admin_warning);
         mAdminPolicies = (ViewGroup)findViewById(R.id.admin_policies);
         mCancelButton = (Button)findViewById(R.id.cancel_button);
@@ -280,5 +298,27 @@
             mAdding = true;
         }
     }
-    
+
+
+    void toggleMessageEllipsis(View v) {
+        TextView tv = (TextView) v;
+
+        mAddMsgEllipsized = ! mAddMsgEllipsized;
+        tv.setEllipsize(mAddMsgEllipsized ? TruncateAt.END : null);
+        tv.setMaxLines(mAddMsgEllipsized ? getEllipsizedLines() : MAX_ADD_MSG_LINES);
+
+        ImageView iv = (ImageView) findViewById(R.id.add_msg_expander);
+        iv.setImageResource(mAddMsgEllipsized ?
+            com.android.internal.R.drawable.expander_ic_minimized :
+            com.android.internal.R.drawable.expander_ic_maximized);
+    }
+
+    int getEllipsizedLines() {
+        Display d = ((WindowManager) getSystemService(Context.WINDOW_SERVICE))
+                    .getDefaultDisplay();
+
+        return d.getHeight() > d.getWidth() ?
+            MAX_ADD_MSG_LINES_PORTRAIT : MAX_ADD_MSG_LINES_LANDSCAPE;
+    }
+
 }
diff --git a/src/com/android/settings/DeviceInfoSettings.java b/src/com/android/settings/DeviceInfoSettings.java
index a769c38..8383987 100644
--- a/src/com/android/settings/DeviceInfoSettings.java
+++ b/src/com/android/settings/DeviceInfoSettings.java
@@ -16,18 +16,21 @@
 
 package com.android.settings;
 
+import android.content.ComponentName;
 import android.content.Intent;
-import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.os.Build;
 import android.os.Bundle;
+import android.os.SystemClock;
 import android.os.SystemProperties;
 import android.preference.Preference;
 import android.preference.PreferenceActivity;
 import android.preference.PreferenceGroup;
-import android.util.Config;
+import android.preference.PreferenceScreen;
+import android.provider.Settings;
 import android.util.Log;
+import android.view.MotionEvent;
 
 import java.io.BufferedReader;
 import java.io.FileReader;
@@ -37,9 +40,7 @@
 import java.util.regex.Pattern;
 
 public class DeviceInfoSettings extends PreferenceActivity {
-
     private static final String TAG = "DeviceInfoSettings";
-    private static final boolean LOGD = false || Config.LOGD;
 
     private static final String KEY_CONTAINER = "container";
     private static final String KEY_TEAM = "team";
@@ -49,14 +50,28 @@
     private static final String KEY_COPYRIGHT = "copyright";
     private static final String KEY_SYSTEM_UPDATE_SETTINGS = "system_update_settings";
     private static final String PROPERTY_URL_SAFETYLEGAL = "ro.url.safetylegal";
-    
+
+    long[] mHits = new long[3];
+
     @Override
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);
-        
+
         addPreferencesFromResource(R.xml.device_info_settings);
-       
+
+        // If we don't have an IME tutorial, remove that option
+        String currentIme = Settings.Secure.getString(getContentResolver(),
+                Settings.Secure.DEFAULT_INPUT_METHOD);
+        ComponentName component = ComponentName.unflattenFromString(currentIme);
+        Intent imeIntent = new Intent(component.getPackageName() + ".tutorial");
+        PackageManager pm = getPackageManager();
+        List<ResolveInfo> tutorials = pm.queryIntentActivities(imeIntent, 0);
+        if(tutorials == null || tutorials.isEmpty()) {
+            getPreferenceScreen().removePreference(findPreference("system_tutorial"));
+        }
+
         setStringSummary("firmware_version", Build.VERSION.RELEASE);
+        findPreference("firmware_version").setEnabled(true);
         setValueSummary("baseband_version", "gsm.version.baseband");
         setStringSummary("device_model", Build.MODEL);
         setStringSummary("build_number", Build.DISPLAY);
@@ -70,7 +85,7 @@
          * Settings is a generic app and should not contain any device-specific
          * info.
          */
-        
+
         // These are contained in the "container" preference group
         PreferenceGroup parentPreference = (PreferenceGroup) findPreference(KEY_CONTAINER);
         Utils.updatePreferenceToSpecificActivityOrRemove(this, parentPreference, KEY_TERMS,
@@ -81,7 +96,7 @@
                 Utils.UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY);
         Utils.updatePreferenceToSpecificActivityOrRemove(this, parentPreference, KEY_TEAM,
                 Utils.UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY);
-        
+
         // These are contained by the root preference screen
         parentPreference = getPreferenceScreen();
         Utils.updatePreferenceToSpecificActivityOrRemove(this, parentPreference,
@@ -91,6 +106,24 @@
                 Utils.UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY);
     }
 
+    @Override
+    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
+        if (preference.getKey().equals("firmware_version")) {
+            System.arraycopy(mHits, 1, mHits, 0, mHits.length-1);
+            mHits[mHits.length-1] = SystemClock.uptimeMillis();
+            if (mHits[0] >= (SystemClock.uptimeMillis()-500)) {
+                Intent intent = new Intent(Intent.ACTION_MAIN);
+                intent.setClassName("android",
+                        com.android.internal.app.PlatLogoActivity.class.getName());
+                try {
+                    startActivity(intent);
+                } catch (Exception e) {
+                }
+            }
+        }
+        return super.onPreferenceTreeClick(preferenceScreen, preference);
+    }
+
     private void removePreferenceIfPropertyMissing(PreferenceGroup preferenceGroup,
             String preference, String property ) {
         if (SystemProperties.get(property).equals(""))
@@ -113,11 +146,11 @@
                 getResources().getString(R.string.device_info_default));
         }
     }
-    
+
     private void setValueSummary(String preference, String property) {
         try {
             findPreference(preference).setSummary(
-                    SystemProperties.get(property, 
+                    SystemProperties.get(property,
                             getResources().getString(R.string.device_info_default)));
         } catch (RuntimeException e) {
 
@@ -160,7 +193,7 @@
                         m.group(2)).append(" ").append(m.group(3)).append("\n")
                         .append(m.group(4))).toString();
             }
-        } catch (IOException e) {  
+        } catch (IOException e) {
             Log.e(TAG,
                 "IO Exception when getting kernel version for Device Info screen",
                 e);
diff --git a/src/com/android/settings/LanguageSettings.java b/src/com/android/settings/LanguageSettings.java
index 1252eec..50c78b6 100644
--- a/src/com/android/settings/LanguageSettings.java
+++ b/src/com/android/settings/LanguageSettings.java
@@ -44,6 +44,8 @@
 public class LanguageSettings extends PreferenceActivity {
     
     private static final String KEY_PHONE_LANGUAGE = "phone_language";
+    private static final String KEY_KEYBOARD_SETTINGS_CATEGORY = "keyboard_settings_category";
+    private static final String KEY_HARDKEYBOARD_CATEGORY = "hardkeyboard_category";
     private boolean mHaveHardKeyboard;
 
     private List<InputMethodInfo> mInputMethodProperties;
@@ -70,7 +72,7 @@
 
         if (getAssets().getLocales().length == 1) {
             getPreferenceScreen().
-                removePreference(findPreference("language_category"));
+                removePreference(findPreference(KEY_PHONE_LANGUAGE));
         } else {
             mLanguagePref = findPreference(KEY_PHONE_LANGUAGE);
         }
@@ -78,7 +80,7 @@
         Configuration config = getResources().getConfiguration();
         if (config.keyboard != Configuration.KEYBOARD_QWERTY) {
             getPreferenceScreen().removePreference(
-                    getPreferenceScreen().findPreference("hardkeyboard_category"));
+                    getPreferenceScreen().findPreference(KEY_HARDKEYBOARD_CATEGORY));
         } else {
             mHaveHardKeyboard = true;
         }
@@ -99,7 +101,8 @@
         mLastInputMethodId = Settings.Secure.getString(getContentResolver(),
             Settings.Secure.DEFAULT_INPUT_METHOD);
         
-        PreferenceGroup textCategory = (PreferenceGroup) findPreference("text_category");
+        PreferenceGroup keyboardSettingsCategory = (PreferenceGroup) findPreference(
+                KEY_KEYBOARD_SETTINGS_CATEGORY);
         
         int N = (mInputMethodProperties == null ? 0 : mInputMethodProperties
                 .size());
@@ -115,7 +118,7 @@
                 CheckBoxPreference chkbxPref = new CheckBoxPreference(this);
                 chkbxPref.setKey(prefKey);
                 chkbxPref.setTitle(label);
-                textCategory.addPreference(chkbxPref);
+                keyboardSettingsCategory.addPreference(chkbxPref);
                 mCheckboxes.add(chkbxPref);
             }
 
@@ -135,7 +138,7 @@
                             R.string.input_methods_settings_label_format, label);
                     prefScreen.setSummary(settingsLabel);
                 }
-                textCategory.addPreference(prefScreen);
+                keyboardSettingsCategory.addPreference(prefScreen);
             }
         }
     }
diff --git a/src/com/android/settings/ManageApplications.java b/src/com/android/settings/ManageApplications.java
deleted file mode 100644
index dfff8c9..0000000
--- a/src/com/android/settings/ManageApplications.java
+++ /dev/null
@@ -1,2081 +0,0 @@
-/*
- * Copyright (C) 2006 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;
-
-import com.android.settings.R;
-
-import android.app.ActivityManager;
-import android.app.Dialog;
-import android.app.ProgressDialog;
-import android.app.TabActivity;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.content.SharedPreferences;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.IPackageStatsObserver;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageStats;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.res.Configuration;
-import android.content.res.Resources;
-import android.graphics.drawable.Drawable;
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
-import android.os.SystemClock;
-import android.text.format.Formatter;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.Window;
-import android.widget.AdapterView;
-import android.widget.BaseAdapter;
-import android.widget.Filter;
-import android.widget.Filterable;
-import android.widget.ImageView;
-import android.widget.ListView;
-import android.widget.TabHost;
-import android.widget.TextView;
-import android.widget.AdapterView.OnItemClickListener;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.text.Collator;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
-import java.util.concurrent.CountDownLatch;
-
-/**
- * Activity to pick an application that will be used to display installation information and
- * options to uninstall/delete user data for system applications. This activity
- * can be launched through Settings or via the ACTION_MANAGE_PACKAGE_STORAGE
- * intent.
- * 
- * Initially a compute in progress message is displayed while the application retrieves
- * the list of application information from the PackageManager. The size information
- * for each package is refreshed to the screen. The resource (app description and
- * icon) information for each package is not available yet, so some default values for size
- * icon and descriptions are used initially. Later the resource information for each 
- * application is retrieved and dynamically updated on the screen.
- *  
- * A Broadcast receiver registers for package additions or deletions when the activity is
- * in focus. If the user installs or deletes packages when the activity has focus, the receiver
- * gets notified and proceeds to add/delete these packages from the list on the screen.
- * This is an unlikely scenario but could happen. The entire list gets created every time
- * the activity's onStart gets invoked. This is to avoid having the receiver for the entire
- * life cycle of the application.
- *  
- * The applications can be sorted either alphabetically or 
- * based on size (descending).  If this activity gets launched under low memory
- * situations (a low memory notification dispatches intent 
- * ACTION_MANAGE_PACKAGE_STORAGE) the list is sorted per size.
- *  
- * If the user selects an application, extended info (like size, uninstall/clear data options,
- * permissions info etc.,) is displayed via the InstalledAppDetails activity.
- */
-public class ManageApplications extends TabActivity implements
-        OnItemClickListener, DialogInterface.OnCancelListener,
-        TabHost.TabContentFactory,
-        TabHost.OnTabChangeListener {
-    // TAG for this activity
-    private static final String TAG = "ManageApplications";
-    private static final String PREFS_NAME = "ManageAppsInfo.prefs";
-    private static final String PREF_DISABLE_CACHE = "disableCache";
-    
-    // Log information boolean
-    private boolean localLOGV = false;
-    private static final boolean DEBUG_SIZE = false;
-    private static final boolean DEBUG_TIME = false;
-    
-    // attributes used as keys when passing values to InstalledAppDetails activity
-    public static final String APP_PKG_NAME = "pkg";
-    public static final String APP_CHG = "chg";
-    
-    // attribute name used in receiver for tagging names of added/deleted packages
-    private static final String ATTR_PKG_NAME="p";
-    private static final String ATTR_PKGS="ps";
-    private static final String ATTR_STATS="ss";
-    private static final String ATTR_SIZE_STRS="fs";
-    
-    private static final String ATTR_GET_SIZE_STATUS="passed";
-    private static final String ATTR_PKG_STATS="s";
-    private static final String ATTR_PKG_SIZE_STR="f";
-    
-    // constant value that can be used to check return code from sub activity.
-    private static final int INSTALLED_APP_DETAILS = 1;
-    
-    // sort order that can be changed through the menu can be sorted alphabetically
-    // or size(descending)
-    private static final int MENU_OPTIONS_BASE = 0;
-    // Filter options used for displayed list of applications
-    public static final int FILTER_APPS_ALL = MENU_OPTIONS_BASE + 0;
-    public static final int FILTER_APPS_RUNNING = MENU_OPTIONS_BASE + 1;
-    public static final int FILTER_APPS_THIRD_PARTY = MENU_OPTIONS_BASE + 2;
-    public static final int FILTER_APPS_SDCARD = MENU_OPTIONS_BASE + 3;
-
-    public static final int SORT_ORDER_ALPHA = MENU_OPTIONS_BASE + 4;
-    public static final int SORT_ORDER_SIZE = MENU_OPTIONS_BASE + 5;
-    // sort order
-    private int mSortOrder = SORT_ORDER_ALPHA;
-    // Filter value
-    private int mFilterApps = FILTER_APPS_THIRD_PARTY;
-    
-    // Custom Adapter used for managing items in the list
-    private AppInfoAdapter mAppInfoAdapter;
-    
-    // messages posted to the handler
-    private static final int HANDLER_MESSAGE_BASE = 0;
-    private static final int INIT_PKG_INFO = HANDLER_MESSAGE_BASE+1;
-    private static final int COMPUTE_BULK_SIZE = HANDLER_MESSAGE_BASE+2;
-    private static final int REMOVE_PKG = HANDLER_MESSAGE_BASE+3;
-    private static final int REORDER_LIST = HANDLER_MESSAGE_BASE+4;
-    private static final int ADD_PKG_START = HANDLER_MESSAGE_BASE+5;
-    private static final int ADD_PKG_DONE = HANDLER_MESSAGE_BASE+6;
-    private static final int REFRESH_LABELS = HANDLER_MESSAGE_BASE+7;
-    private static final int REFRESH_DONE = HANDLER_MESSAGE_BASE+8;
-    private static final int NEXT_LOAD_STEP = HANDLER_MESSAGE_BASE+9;
-    private static final int COMPUTE_END = HANDLER_MESSAGE_BASE+10;
-    private static final int REFRESH_ICONS = HANDLER_MESSAGE_BASE+11;
-    
-    // observer object used for computing pkg sizes
-    private PkgSizeObserver mObserver;
-    // local handle to PackageManager
-    private PackageManager mPm;
-    // Broadcast Receiver object that receives notifications for added/deleted
-    // packages
-    private PackageIntentReceiver mReceiver;
-    // atomic variable used to track if computing pkg sizes is in progress. should be volatile?
-    
-    private boolean mComputeSizesFinished = false;
-    // default icon thats used when displaying applications initially before resource info is
-    // retrieved
-    private static Drawable mDefaultAppIcon;
-    
-    // temporary dialog displayed while the application info loads
-    private static final int DLG_BASE = 0;
-    private static final int DLG_LOADING = DLG_BASE + 1;
-    
-    // Size resource used for packages whose size computation failed for some reason
-    private CharSequence mInvalidSizeStr;
-    private CharSequence mComputingSizeStr;
-    
-    // map used to store list of added and removed packages. Immutable Boolean
-    // variables indicate if a package has been added or removed. If a package is
-    // added or deleted multiple times a single entry with the latest operation will
-    // be recorded in the map.
-    private Map<String, Boolean> mAddRemoveMap;
-    
-    // layout inflater object used to inflate views
-    private LayoutInflater mInflater;
-    
-    // invalid size value used initially and also when size retrieval through PackageManager
-    // fails for whatever reason
-    private static final int SIZE_INVALID = -1;
-    
-    // debug boolean variable to test delays from PackageManager API's
-    private boolean DEBUG_PKG_DELAY = false;
-    
-    // Thread to load resources
-    ResourceLoaderThread mResourceThread;
-    private TaskRunner mSizeComputor;
-    
-    private String mCurrentPkgName;
-    
-    // Cache application attributes
-    private AppInfoCache mCache = new AppInfoCache();
-    
-    // Boolean variables indicating state
-    private boolean mLoadLabelsFinished = false;
-    private boolean mSizesFirst = false;
-    // ListView used to display list
-    private ListView mListView;
-    // State variables used to figure out menu options and also
-    // initiate the first computation and loading of resources
-    private boolean mJustCreated = true;
-    private boolean mFirst = false;
-    private long mLoadTimeStart;
-    private boolean mSetListViewLater = true;
-    
-    /*
-     * Handler class to handle messages for various operations.
-     * Most of the operations that effect Application related data
-     * are posted as messages to the handler to avoid synchronization
-     * when accessing these structures.
-     * 
-     * When the size retrieval gets kicked off for the first time, a COMPUTE_PKG_SIZE_START
-     * message is posted to the handler which invokes the getSizeInfo for the pkg at index 0.
-     * 
-     * When the PackageManager's asynchronous call back through
-     * PkgSizeObserver.onGetStatsCompleted gets invoked, the application resources like
-     * label, description, icon etc., are loaded in the same thread and these values are
-     * set on the observer.  The observer then posts a COMPUTE_PKG_SIZE_DONE message
-     * to the handler.  This information is updated on the AppInfoAdapter associated with
-     * the list view of this activity and size info retrieval is initiated for the next package as 
-     * indicated by mComputeIndex.
-     * 
-     * When a package gets added while the activity has focus, the PkgSizeObserver posts
-     * ADD_PKG_START message to the handler.  If the computation is not in progress, the size
-     * is retrieved for the newly added package through the observer object and the newly
-     * installed app info is updated on the screen.  If the computation is still in progress
-     * the package is added to an internal structure and action deferred till the computation
-     * is done for all the packages.
-     * 
-     * When a package gets deleted, REMOVE_PKG is posted to the handler
-     * if computation is not in progress (as indicated by
-     * mDoneIniting), the package is deleted from the displayed list of apps.  If computation is
-     * still in progress the package is added to an internal structure and action deferred till
-     * the computation is done for all packages.
-     * 
-     * When the sizes of all packages is computed, the newly
-     * added or removed packages are processed in order.
-     * If the user changes the order in which these applications are viewed by hitting the
-     * menu key, REORDER_LIST message is posted to the handler. this sorts the list
-     * of items based on the sort order.
-     */
-    private Handler mHandler = new Handler() {
-        public void handleMessage(Message msg) {
-            boolean status;
-            long size;
-            String formattedSize;
-            ApplicationInfo info;
-            Bundle data;
-            String pkgName = null;
-            AppInfo appInfo;
-            data = msg.getData();
-            if(data != null) {
-                pkgName = data.getString(ATTR_PKG_NAME);
-            }
-            switch (msg.what) {
-            case INIT_PKG_INFO:
-                if(localLOGV) Log.i(TAG, "Message INIT_PKG_INFO, justCreated = " + mJustCreated);
-                List<ApplicationInfo> newList = null;
-                if (!mJustCreated) {
-                    if (localLOGV) Log.i(TAG, "List already created");
-                    // Add or delete newly created packages by comparing lists
-                    newList = getInstalledApps(FILTER_APPS_ALL);
-                    updateAppList(newList);
-                }
-                // Retrieve the package list and init some structures
-                initAppList(newList, mFilterApps);
-                mHandler.sendEmptyMessage(NEXT_LOAD_STEP);
-                break;
-            case COMPUTE_BULK_SIZE:
-                if(localLOGV) Log.i(TAG, "Message COMPUTE_BULK_PKG_SIZE");
-                String[] pkgs = data.getStringArray(ATTR_PKGS);
-                long[] sizes = data.getLongArray(ATTR_STATS);
-                String[] formatted = data.getStringArray(ATTR_SIZE_STRS);
-                if(pkgs == null || sizes == null || formatted == null) {
-                     Log.w(TAG, "Ignoring message");
-                     break;
-                }
-                mAppInfoAdapter.bulkUpdateSizes(pkgs, sizes, formatted);
-                break;
-            case COMPUTE_END:
-                mComputeSizesFinished = true;
-                mFirst = true;
-                mHandler.sendEmptyMessage(NEXT_LOAD_STEP);
-                break;
-            case REMOVE_PKG:
-                if(localLOGV) Log.i(TAG, "Message REMOVE_PKG");
-                if(pkgName == null) {
-                    Log.w(TAG, "Ignoring message:REMOVE_PKG for null pkgName");
-                    break;
-                }
-                if (!mComputeSizesFinished) {
-                    Boolean currB = mAddRemoveMap.get(pkgName);
-                    if (currB == null || (currB.equals(Boolean.TRUE))) {
-                        mAddRemoveMap.put(pkgName, Boolean.FALSE);
-                    }
-                    break;
-                }
-                List<String> pkgList = new ArrayList<String>();
-                pkgList.add(pkgName);
-                mAppInfoAdapter.removeFromList(pkgList);
-                break;
-            case REORDER_LIST:
-                if(localLOGV) Log.i(TAG, "Message REORDER_LIST");
-                int menuOption = msg.arg1;
-                if((menuOption == SORT_ORDER_ALPHA) || 
-                        (menuOption == SORT_ORDER_SIZE)) {
-                    // Option to sort list
-                    if (menuOption != mSortOrder) {
-                        mSortOrder = menuOption;
-                        if (localLOGV) Log.i(TAG, "Changing sort order to "+mSortOrder);
-                        mAppInfoAdapter.sortList(mSortOrder);
-                    }
-                } else if(menuOption != mFilterApps) {
-                    // Option to filter list
-                    mFilterApps = menuOption;
-                    boolean ret = mAppInfoAdapter.resetAppList(mFilterApps);
-                    if(!ret) {
-                        // Reset cache
-                        mFilterApps = FILTER_APPS_ALL;
-                        mHandler.sendEmptyMessage(INIT_PKG_INFO);
-                        sendMessageToHandler(REORDER_LIST, menuOption);
-                    }
-                }
-                break;
-            case ADD_PKG_START:
-                if(localLOGV) Log.i(TAG, "Message ADD_PKG_START");
-                if(pkgName == null) {
-                    Log.w(TAG, "Ignoring message:ADD_PKG_START for null pkgName");
-                    break;
-                }
-                if (!mComputeSizesFinished || !mLoadLabelsFinished) {
-                    Boolean currB = mAddRemoveMap.get(pkgName);
-                    if (currB == null || (currB.equals(Boolean.FALSE))) {
-                        mAddRemoveMap.put(pkgName, Boolean.TRUE);
-                    }
-                    break;
-                }
-                try {
-                    info = mPm.getApplicationInfo(pkgName, 0);
-                } catch (NameNotFoundException e) {
-                    Log.w(TAG, "Couldnt find application info for:"+pkgName);
-                    break;
-                }
-                mObserver.invokeGetSizeInfo(pkgName);
-                break;
-            case ADD_PKG_DONE:
-                if(localLOGV) Log.i(TAG, "Message ADD_PKG_DONE");
-                if(pkgName == null) {
-                    Log.w(TAG, "Ignoring message:ADD_PKG_START for null pkgName");
-                    break;
-                }
-                status = data.getBoolean(ATTR_GET_SIZE_STATUS);
-                if (status) {
-                    size = data.getLong(ATTR_PKG_STATS);
-                    formattedSize = data.getString(ATTR_PKG_SIZE_STR);
-                    if (!mAppInfoAdapter.isInstalled(pkgName)) {
-                        mAppInfoAdapter.addToList(pkgName, size, formattedSize);
-                    } else {
-                        mAppInfoAdapter.updatePackage(pkgName, size, formattedSize);
-                    }
-                }
-                break;
-            case REFRESH_LABELS:
-                Map<String, CharSequence> labelMap = (Map<String, CharSequence>) msg.obj;
-                if (labelMap != null) {
-                    mAppInfoAdapter.bulkUpdateLabels(labelMap);
-                }
-                break;
-            case REFRESH_ICONS:
-                Map<String, Drawable> iconMap = (Map<String, Drawable>) msg.obj;
-                if (iconMap != null) {
-                    mAppInfoAdapter.bulkUpdateIcons(iconMap);
-                }
-                break;
-            case REFRESH_DONE:
-                mLoadLabelsFinished = true;
-                mHandler.sendEmptyMessage(NEXT_LOAD_STEP);
-                break;
-            case NEXT_LOAD_STEP:
-                if (!mCache.isEmpty() && mSetListViewLater) {
-                    if (localLOGV) Log.i(TAG, "Using cache to populate list view");
-                    initListView();
-                    mSetListViewLater = false;
-                    mFirst = true;
-                }
-                if (mComputeSizesFinished && mLoadLabelsFinished) {
-                    doneLoadingData();
-                    // Check for added/removed packages
-                    Set<String> keys =  mAddRemoveMap.keySet();
-                    for (String key : keys) {
-                        if (mAddRemoveMap.get(key) == Boolean.TRUE) {
-                            // Add the package
-                            updatePackageList(Intent.ACTION_PACKAGE_ADDED, key);
-                        } else {
-                            // Remove the package
-                            updatePackageList(Intent.ACTION_PACKAGE_REMOVED, key);
-                        }
-                    }
-                    mAddRemoveMap.clear();
-                } else if (!mComputeSizesFinished && !mLoadLabelsFinished) {
-                     // Either load the package labels or initiate get size info
-                    if (mSizesFirst) {
-                        initComputeSizes();
-                    } else {
-                        initResourceThread();
-                    }
-                } else {
-                    if (mSetListViewLater) {
-                        if (localLOGV) Log.i(TAG, "Initing list view for very first time");
-                        initListView();
-                        mSetListViewLater = false;
-                    }
-                    if (!mComputeSizesFinished) {
-                        initComputeSizes();
-                    } else if (!mLoadLabelsFinished) {
-                        initResourceThread();
-                    }
-                }
-                break;
-            default:
-                break;
-            }
-        }
-    };
-    
-    private void initListView() {
-       // Create list view from the adapter here. Wait till the sort order
-        // of list is defined. its either by label or by size. So atleast one of the
-        // first steps should have been completed before the list gets filled.
-        mAppInfoAdapter.sortBaseList(mSortOrder);
-        if (mJustCreated) {
-            // Set the adapter here.
-            mJustCreated = false;
-            mListView.setAdapter(mAppInfoAdapter);
-            dismissLoadingMsg();
-        }
-    }
-
-   class SizeObserver extends IPackageStatsObserver.Stub {
-       private CountDownLatch mCount;
-       PackageStats stats;
-       boolean succeeded;
-       
-       public void invokeGetSize(String packageName, CountDownLatch count) {
-           mCount = count;
-           mPm.getPackageSizeInfo(packageName, this);
-       }
-       
-        public void onGetStatsCompleted(PackageStats pStats, boolean pSucceeded) {
-            succeeded = pSucceeded;
-            stats = pStats;
-            mCount.countDown();
-        }
-    }
-
-    class TaskRunner extends Thread {
-        private List<ApplicationInfo> mPkgList;
-        private SizeObserver mSizeObserver;
-        private static final int END_MSG = COMPUTE_END;
-        private static final int SEND_PKG_SIZES = COMPUTE_BULK_SIZE;
-        volatile boolean abort = false;
-        static final int MSG_PKG_SIZE = 8;
-        
-        TaskRunner(List<ApplicationInfo> appList) {
-           mPkgList = appList;
-           mSizeObserver = new SizeObserver();
-           start();
-        }
-        
-        public void setAbort() {
-            abort = true;
-        }
-
-        public void run() {
-            long startTime;
-            if (DEBUG_SIZE || DEBUG_TIME) {
-               startTime =  SystemClock.elapsedRealtime();
-            }
-            int size = mPkgList.size();
-            int numMsgs = size / MSG_PKG_SIZE;
-            if (size > (numMsgs * MSG_PKG_SIZE)) {
-                numMsgs++;
-            }
-            int endi = 0;
-            for (int j = 0; j < size; j += MSG_PKG_SIZE) {
-                long sizes[];
-                String formatted[];
-                String packages[];
-                endi += MSG_PKG_SIZE;
-                if (endi > size) {
-                    endi = size;
-                }
-                sizes = new long[endi-j];
-                formatted = new String[endi-j];
-                packages = new String[endi-j];
-                for (int i = j; i < endi; i++) {
-                    if (abort) {
-                        // Exit if abort has been set.
-                        break;
-                    }
-                    CountDownLatch count = new CountDownLatch(1);
-                    String packageName = mPkgList.get(i).packageName;
-                    mSizeObserver.invokeGetSize(packageName, count);
-                    try {
-                        count.await();
-                    } catch (InterruptedException e) {
-                        Log.i(TAG, "Failed computing size for pkg : "+packageName);
-                    }
-                    // Process the package statistics
-                    PackageStats pStats = mSizeObserver.stats;
-                    boolean succeeded = mSizeObserver.succeeded;
-                    long total;
-                    if(succeeded && pStats != null) {
-                        total = getTotalSize(pStats);
-                    } else {
-                        total = SIZE_INVALID;
-                    }
-                    sizes[i-j] = total;
-                    formatted[i-j] = getSizeStr(total).toString();
-                    packages[i-j] = packageName;
-                }
-                // Post update message
-                Bundle data = new Bundle();
-                data.putStringArray(ATTR_PKGS, packages);
-                data.putLongArray(ATTR_STATS, sizes);
-                data.putStringArray(ATTR_SIZE_STRS, formatted);
-                Message msg = mHandler.obtainMessage(SEND_PKG_SIZES, data);
-                msg.setData(data);
-                mHandler.sendMessage(msg);
-            }
-            if (DEBUG_SIZE || DEBUG_TIME) Log.i(TAG, "Took "+
-                    (SystemClock.elapsedRealtime() - startTime)+
-                    " ms to compute sizes of all packages ");
-            mHandler.sendEmptyMessage(END_MSG);
-        }
-    }
-    
-    /*
-     * This method compares the current cache against a new list of
-     * installed applications and tries to update the list with add or remove
-     * messages.
-     */
-    private boolean updateAppList(List<ApplicationInfo> newList) {
-        if ((newList == null) || mCache.isEmpty()) {
-            return false;
-        }
-        Set<String> existingList = new HashSet<String>();
-        boolean ret = false;
-        // Loop over new list and find out common elements between old and new lists
-        int N = newList.size();
-        for (int i = (N-1); i >= 0; i--) {
-            ApplicationInfo info = newList.get(i);
-            String pkgName = info.packageName;
-            AppInfo aInfo = mCache.getEntry(pkgName);
-            if (aInfo != null) {
-                existingList.add(pkgName);
-            } else {
-                // New package. update info by refreshing
-                if (localLOGV) Log.i(TAG, "New pkg :"+pkgName+" installed when paused");
-                updatePackageList(Intent.ACTION_PACKAGE_ADDED, pkgName);
-                // Remove from current list so that the newly added package can
-                // be handled later
-                newList.remove(i);
-                ret = true;
-            }
-        }
-
-        // Loop over old list and figure out stale entries
-        List<String> deletedList = null;
-        Set<String> staleList = mCache.getPkgList();
-        for (String pkgName : staleList) {
-            if (!existingList.contains(pkgName)) {
-                if (localLOGV) Log.i(TAG, "Pkg :"+pkgName+" deleted when paused");
-                if (deletedList == null) {
-                    deletedList = new ArrayList<String>();
-                    deletedList.add(pkgName);
-                }
-                ret = true;
-            }
-        }
-        // Delete right away
-        if (deletedList != null) {
-            if (localLOGV) Log.i(TAG, "Deleting right away");
-            mAppInfoAdapter.removeFromList(deletedList);
-        }
-        return ret;
-    }
-    
-    private void doneLoadingData() {
-        setProgressBarIndeterminateVisibility(false);
-    }
-    
-    List<ApplicationInfo> getInstalledApps(int filterOption) {
-        List<ApplicationInfo> installedAppList = mPm.getInstalledApplications(
-                PackageManager.GET_UNINSTALLED_PACKAGES);
-        if (installedAppList == null) {
-            return new ArrayList<ApplicationInfo> ();
-        }
-        if (filterOption == FILTER_APPS_SDCARD) {
-            List<ApplicationInfo> appList =new ArrayList<ApplicationInfo> ();
-            for (ApplicationInfo appInfo : installedAppList) {
-                if ((appInfo.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0) {
-                    // App on sdcard
-                    appList.add(appInfo);
-                }
-            }
-            return appList;
-        } else if (filterOption == FILTER_APPS_THIRD_PARTY) {
-            List<ApplicationInfo> appList =new ArrayList<ApplicationInfo> ();
-            for (ApplicationInfo appInfo : installedAppList) {
-                boolean flag = false;
-                if ((appInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) {
-                    // Updated system app
-                    flag = true;
-                } else if ((appInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
-                    // Non-system app
-                    flag = true;
-                }
-                if (flag) {
-                    appList.add(appInfo);
-                }
-            }
-            return appList;
-        } else if (filterOption == FILTER_APPS_RUNNING) {
-            List<ApplicationInfo> appList =new ArrayList<ApplicationInfo> ();
-            List<ActivityManager.RunningAppProcessInfo> procList = getRunningAppProcessesList();
-            if ((procList == null) || (procList.size() == 0)) {
-                return appList;
-            }
-            // Retrieve running processes from ActivityManager
-            for (ActivityManager.RunningAppProcessInfo appProcInfo : procList) {
-                if ((appProcInfo != null)  && (appProcInfo.pkgList != null)){
-                    int size = appProcInfo.pkgList.length;
-                    for (int i = 0; i < size; i++) {
-                        ApplicationInfo appInfo = null;
-                        try {
-                            appInfo = mPm.getApplicationInfo(appProcInfo.pkgList[i], 
-                                    PackageManager.GET_UNINSTALLED_PACKAGES);
-                        } catch (NameNotFoundException e) {
-                           Log.w(TAG, "Error retrieving ApplicationInfo for pkg:"+appProcInfo.pkgList[i]);
-                           continue;
-                        }
-                        if(appInfo != null) {
-                            appList.add(appInfo);
-                        }
-                    }
-                }
-            }
-            return appList;
-        } else {
-            return installedAppList;
-        }
-    }
-
-    private static boolean matchFilter(boolean filter, Map<String, String> filterMap, String pkg) {
-        boolean add = true;
-        if (filter) {
-            if (filterMap == null || !filterMap.containsKey(pkg)) {
-                add = false;
-            }
-        }
-        return add;
-    }
-    
-    /*
-     * Utility method used to figure out list of apps based on filterOption
-     * If the framework supports an additional flag to indicate running apps
-     *  we can get away with some code here.
-     */
-    List<ApplicationInfo> getFilteredApps(List<ApplicationInfo> pAppList, int filterOption, boolean filter,
-            Map<String, String> filterMap) {
-        List<ApplicationInfo> retList = new ArrayList<ApplicationInfo>();
-        if(pAppList == null) {
-            return retList;
-        }
-        if (filterOption == FILTER_APPS_SDCARD) {
-            for (ApplicationInfo appInfo : pAppList) {
-                boolean flag = false;
-                if ((appInfo.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0) {
-                    // App on sdcard
-                    flag = true;
-                }
-                if (flag) {
-                    if (matchFilter(filter, filterMap, appInfo.packageName)) {
-                        retList.add(appInfo);
-                    }
-                }
-            }
-            return retList;
-        } else if (filterOption == FILTER_APPS_THIRD_PARTY) {
-            for (ApplicationInfo appInfo : pAppList) {
-                boolean flag = false;
-                if ((appInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) {
-                    // Updated system app
-                    flag = true;
-                } else if ((appInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
-                    // Non-system app
-                    flag = true;
-                }
-                if (flag) {
-                    if (matchFilter(filter, filterMap, appInfo.packageName)) {
-                        retList.add(appInfo);
-                    }
-                }
-            }
-            return retList;
-        } else if (filterOption == FILTER_APPS_RUNNING) {
-            List<ActivityManager.RunningAppProcessInfo> procList = getRunningAppProcessesList();
-            if ((procList == null) || (procList.size() == 0)) {
-                return retList;
-            }
-            // Retrieve running processes from ActivityManager
-            HashMap<String, ActivityManager.RunningAppProcessInfo> runningMap = 
-                new HashMap<String, ActivityManager.RunningAppProcessInfo>();
-            for (ActivityManager.RunningAppProcessInfo appProcInfo : procList) {
-                if ((appProcInfo != null)  && (appProcInfo.pkgList != null)){
-                    int size = appProcInfo.pkgList.length;
-                    for (int i = 0; i < size; i++) {
-                        runningMap.put(appProcInfo.pkgList[i], appProcInfo);
-                    }
-                }
-            }
-            // Query list to find running processes in current list
-            for (ApplicationInfo appInfo : pAppList) {
-                if (runningMap.get(appInfo.packageName) != null) {
-                    if (matchFilter(filter, filterMap, appInfo.packageName)) {
-                        retList.add(appInfo);
-                    }
-                }
-            }
-            return retList;
-        } else {
-            for (ApplicationInfo appInfo : pAppList) {
-                if (matchFilter(filter, filterMap, appInfo.packageName)) {
-                    retList.add(appInfo);
-                }
-            }
-            return retList;
-        }
-    }
-
-    private List<ActivityManager.RunningAppProcessInfo> getRunningAppProcessesList() {
-        ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
-        return am.getRunningAppProcesses();
-    }
-
-     // Some initialization code used when kicking off the size computation
-    private void initAppList(List<ApplicationInfo> appList, int filterOption) {
-        setProgressBarIndeterminateVisibility(true);
-        mComputeSizesFinished = false;
-        mLoadLabelsFinished = false;
-        // Initialize lists
-        mAddRemoveMap = new TreeMap<String, Boolean>();
-        mAppInfoAdapter.initMapFromList(appList, filterOption);
-    }
-
-    // Utility method to start a thread to read application labels and icons
-    private void initResourceThread() {
-        if ((mResourceThread != null) && mResourceThread.isAlive()) {
-            mResourceThread.setAbort();
-        }
-        mResourceThread = new ResourceLoaderThread();
-        List<ApplicationInfo> appList = mAppInfoAdapter.getBaseAppList();
-        if ((appList != null) && (appList.size()) > 0) {
-            mResourceThread.loadAllResources(appList);
-        }
-    }
-
-    private void initComputeSizes() {
-         // Initiate compute package sizes
-        if (localLOGV) Log.i(TAG, "Initiating compute sizes for first time");
-        if ((mSizeComputor != null) && (mSizeComputor.isAlive())) {
-            mSizeComputor.setAbort();
-        }
-        List<ApplicationInfo> appList = mAppInfoAdapter.getBaseAppList();
-        if ((appList != null) && (appList.size()) > 0) {
-            mSizeComputor = new TaskRunner(appList);
-        } else {
-            mComputeSizesFinished = true;
-        }
-    }
-    
-    // internal structure used to track added and deleted packages when
-    // the activity has focus
-    static class AddRemoveInfo {
-        String pkgName;
-        boolean add;
-        public AddRemoveInfo(String pPkgName, boolean pAdd) {
-            pkgName = pPkgName;
-            add = pAdd;
-        }
-    }
-    
-    class ResourceLoaderThread extends Thread {
-        List<ApplicationInfo> mAppList;
-        volatile boolean abort = false;
-        static final int MSG_PKG_SIZE = 8;
-        
-        public void setAbort() {
-            abort = true;
-        }
-        void loadAllResources(List<ApplicationInfo> appList) {
-            mAppList = appList;
-            start();
-        }
-
-        public void run() {
-            long start;
-            if (DEBUG_TIME) {
-                start = SystemClock.elapsedRealtime();
-            }
-            int imax;
-            if(mAppList == null || (imax = mAppList.size()) <= 0) {
-                Log.w(TAG, "Empty or null application list");
-            } else {
-                int size = mAppList.size();
-                int numMsgs = size / MSG_PKG_SIZE;
-                if (size > (numMsgs * MSG_PKG_SIZE)) {
-                    numMsgs++;
-                }
-                int endi = 0;
-                for (int j = 0; j < size; j += MSG_PKG_SIZE) {
-                    Map<String, CharSequence> map = new HashMap<String, CharSequence>();
-                    endi += MSG_PKG_SIZE;
-                    if (endi > size) {
-                        endi = size;
-                    }
-                    for (int i = j; i < endi; i++) {
-                        if (abort) {
-                            // Exit if abort has been set.
-                            break;
-                        }
-                        ApplicationInfo appInfo = mAppList.get(i);
-                        map.put(appInfo.packageName, appInfo.loadLabel(mPm));
-                    }
-                    // Post update message
-                    Message msg = mHandler.obtainMessage(REFRESH_LABELS);
-                    msg.obj = map;
-                    mHandler.sendMessage(msg);
-                }
-                Message doneMsg = mHandler.obtainMessage(REFRESH_DONE);
-                mHandler.sendMessage(doneMsg);
-                if (DEBUG_TIME) Log.i(TAG, "Took "+(SystemClock.elapsedRealtime()-start)+
-                        " ms to load app labels");
-                long startIcons;
-                if (DEBUG_TIME) {
-                    startIcons = SystemClock.elapsedRealtime();
-                }
-                Map<String, Drawable> map = new HashMap<String, Drawable>();
-                for (int i = (imax-1); i >= 0; i--) {
-                    if (abort) {
-                        return;
-                    }
-                    ApplicationInfo appInfo = mAppList.get(i);
-                    map.put(appInfo.packageName, appInfo.loadIcon(mPm));
-                }
-                Message msg = mHandler.obtainMessage(REFRESH_ICONS);
-                msg.obj = map;
-                mHandler.sendMessage(msg);
-                if (DEBUG_TIME) Log.i(TAG, "Took "+(SystemClock.elapsedRealtime()-startIcons)+" ms to load app icons");
-            }
-            if (DEBUG_TIME) Log.i(TAG, "Took "+(SystemClock.elapsedRealtime()-start)+" ms to load app resources");
-        }
-    }
-    
-    /* Internal class representing an application or packages displayable attributes
-     * 
-     */
-    static private class AppInfo {
-        public String pkgName;
-        int index;
-        public CharSequence appName;
-        public Drawable appIcon;
-        public CharSequence appSize;
-        long size;
-
-        public void refreshIcon(Drawable icon) {
-            if (icon == null) {
-                return;
-            }
-            appIcon = icon;
-        }
-        public void refreshLabel(CharSequence label) {
-            if (label == null) {
-                return;
-            }
-            appName = label;
-        }
-
-        public AppInfo(String pName, int pIndex, CharSequence aName,
-                long pSize,
-                CharSequence pSizeStr) {
-            this(pName, pIndex, aName, mDefaultAppIcon, pSize, pSizeStr);
-        }
- 
-        public AppInfo(String pName, int pIndex, CharSequence aName, Drawable aIcon,
-                long pSize,
-                CharSequence pSizeStr) {
-            index = pIndex;
-            pkgName = pName;
-            appName = aName;
-            appIcon = aIcon;
-            size = pSize;
-            appSize = pSizeStr;
-        }
- 
-        public boolean setSize(long newSize, String formattedSize) {
-            if (size != newSize) {
-                size = newSize;
-                appSize = formattedSize;
-                return true;
-            }
-            return false;
-        }
-    }
-    
-    private long getTotalSize(PackageStats ps) {
-        if (ps != null) {
-            return ps.cacheSize+ps.codeSize+ps.dataSize;
-        }
-        return SIZE_INVALID;
-    }
-
-    private CharSequence getSizeStr(long size) {
-        CharSequence appSize = null;
-        if (size == SIZE_INVALID) {
-             return mInvalidSizeStr;
-        }
-        appSize = Formatter.formatFileSize(ManageApplications.this, size);
-        return appSize;
-    }
-
-    // View Holder used when displaying views
-    static class AppViewHolder {
-        TextView appName;
-        ImageView appIcon;
-        TextView appSize;
-    }
-    
-    /* 
-     * Custom adapter implementation for the ListView
-     * This adapter maintains a map for each displayed application and its properties
-     * An index value on each AppInfo object indicates the correct position or index
-     * in the list. If the list gets updated dynamically when the user is viewing the list of
-     * applications, we need to return the correct index of position. This is done by mapping
-     * the getId methods via the package name into the internal maps and indices.
-     * The order of applications in the list is mirrored in mAppLocalList
-     */
-    class AppInfoAdapter extends BaseAdapter implements Filterable {   
-        private List<ApplicationInfo> mAppList;
-        private List<ApplicationInfo> mAppLocalList;
-        private Map<String, String> mFilterMap = new HashMap<String, String>();
-        AlphaComparator mAlphaComparator = new AlphaComparator();
-        SizeComparator mSizeComparator = new SizeComparator();
-        private Filter mAppFilter = new AppFilter();
-        final private Object mFilterLock = new Object();
-        private Map<String, String> mCurrentFilterMap = null;
-
-        private void generateFilterListLocked(List<ApplicationInfo> list) {
-            mAppLocalList = new ArrayList<ApplicationInfo>(list);
-            synchronized(mFilterLock) {
-                for (ApplicationInfo info : mAppLocalList) {
-                    String label = info.packageName;
-                    AppInfo aInfo = mCache.getEntry(info.packageName);
-                    if ((aInfo != null) && (aInfo.appName != null)) {
-                        label = aInfo.appName.toString();
-                    }
-                    mFilterMap.put(info.packageName, label.toLowerCase());
-                }
-            }
-        }
-
-        private void addFilterListLocked(int newIdx, ApplicationInfo info, CharSequence pLabel) {
-            mAppLocalList.add(newIdx, info);
-            synchronized (mFilterLock) {
-                String label = info.packageName;
-                if (pLabel != null) {
-                    label = pLabel.toString();
-                }
-                mFilterMap.put(info.packageName, label.toLowerCase());
-            }
-        }
-
-        private boolean removeFilterListLocked(String removePkg) {
-            // Remove from filtered list
-            int N = mAppLocalList.size();
-            int i;
-            for (i = (N-1); i >= 0; i--) {
-                ApplicationInfo info = mAppLocalList.get(i);
-                if (info.packageName.equalsIgnoreCase(removePkg)) {
-                    if (localLOGV) Log.i(TAG, "Removing " + removePkg + " from local list");
-                    mAppLocalList.remove(i);
-                    synchronized (mFilterLock) {
-                        mFilterMap.remove(removePkg);
-                    }
-                    return true;
-                }
-            }
-            return false;
-        }
-
-        private void reverseGenerateList() {
-            generateFilterListLocked(getFilteredApps(mAppList, mFilterApps, mCurrentFilterMap!= null, mCurrentFilterMap));
-            sortListInner(mSortOrder);
-        }
-
-        // Make sure the cache or map contains entries for all elements
-        // in appList for a valid sort.
-        public void initMapFromList(List<ApplicationInfo> pAppList, int filterOption) {
-            boolean notify = false;
-            List<ApplicationInfo> appList = null;
-            if (pAppList == null) {
-                // Just refresh the list
-                appList = mAppList;
-            } else {
-                mAppList = new ArrayList<ApplicationInfo>(pAppList);
-                appList = pAppList;
-                notify = true;
-            }
-            generateFilterListLocked(getFilteredApps(appList, filterOption, mCurrentFilterMap!= null, mCurrentFilterMap));
-            // This loop verifies and creates new entries for new packages in list
-            int imax = appList.size();
-            for (int i = 0; i < imax; i++) {
-                ApplicationInfo info  = appList.get(i);
-                AppInfo aInfo = mCache.getEntry(info.packageName);
-                if(aInfo == null){
-                    aInfo = new AppInfo(info.packageName, i, 
-                            info.packageName, -1, mComputingSizeStr);
-                    if (localLOGV) Log.i(TAG, "Creating entry pkg:"+info.packageName+" to map");
-                    mCache.addEntry(aInfo);
-                }
-            }
-            sortListInner(mSortOrder);
-            if (notify) {
-                notifyDataSetChanged();
-            }
-        }
-        
-        public AppInfoAdapter(Context c, List<ApplicationInfo> appList) {
-           mAppList = appList;
-        }
-        
-        public int getCount() {
-            return mAppLocalList.size();
-        }
-        
-        public Object getItem(int position) {
-            return mAppLocalList.get(position);
-        }
-        
-        public boolean isInstalled(String pkgName) {
-            if(pkgName == null) {
-                if (localLOGV) Log.w(TAG, "Null pkg name when checking if installed");
-                return false;
-            }
-            for (ApplicationInfo info : mAppList) {
-                if (info.packageName.equalsIgnoreCase(pkgName)) {
-                    return true;
-                }
-            }
-            return false;
-        }
-
-        public ApplicationInfo getApplicationInfo(int position) {
-            int imax = mAppLocalList.size();
-            if( (position < 0) || (position >= imax)) {
-                Log.w(TAG, "Position out of bounds in List Adapter");
-                return null;
-            }
-            return mAppLocalList.get(position);
-        }
-
-        public long getItemId(int position) {
-            int imax = mAppLocalList.size();
-            if( (position < 0) || (position >= imax)) {
-                Log.w(TAG, "Position out of bounds in List Adapter");
-                return -1;
-            }
-            AppInfo aInfo = mCache.getEntry(mAppLocalList.get(position).packageName);
-            if (aInfo == null) {
-                return -1;
-            }
-            return aInfo.index;
-        }
-        
-        public List<ApplicationInfo> getBaseAppList() {
-            return mAppList;
-        }
-        
-        public View getView(int position, View convertView, ViewGroup parent) {
-            if (position >= mAppLocalList.size()) {
-                Log.w(TAG, "Invalid view position:"+position+", actual size is:"+mAppLocalList.size());
-                return null;
-            }
-            // A ViewHolder keeps references to children views to avoid unnecessary calls
-            // to findViewById() on each row.
-            AppViewHolder holder;
-
-            // When convertView is not null, we can reuse it directly, there is no need
-            // to reinflate it. We only inflate a new View when the convertView supplied
-            // by ListView is null.
-            if (convertView == null) {
-                convertView = mInflater.inflate(R.layout.manage_applications_item, null);
-
-                // Creates a ViewHolder and store references to the two children views
-                // we want to bind data to.
-                holder = new AppViewHolder();
-                holder.appName = (TextView) convertView.findViewById(R.id.app_name);
-                holder.appIcon = (ImageView) convertView.findViewById(R.id.app_icon);
-                holder.appSize = (TextView) convertView.findViewById(R.id.app_size);
-                convertView.setTag(holder);
-            } else {
-                // Get the ViewHolder back to get fast access to the TextView
-                // and the ImageView.
-                holder = (AppViewHolder) convertView.getTag();
-            }
-
-            // Bind the data efficiently with the holder
-            ApplicationInfo appInfo = mAppLocalList.get(position);
-            AppInfo mInfo = mCache.getEntry(appInfo.packageName);
-            if(mInfo != null) {
-                if(mInfo.appName != null) {
-                    holder.appName.setText(mInfo.appName);
-                }
-                if(mInfo.appIcon != null) {
-                    holder.appIcon.setImageDrawable(mInfo.appIcon);
-                }
-                if (mInfo.appSize != null) {
-                    holder.appSize.setText(mInfo.appSize);
-                }
-            } else {
-                Log.w(TAG, "No info for package:"+appInfo.packageName+" in property map");
-            }
-            return convertView;
-        }
-        
-        private void adjustIndex() {
-            int imax = mAppLocalList.size();
-            for (int i = 0; i < imax; i++) {
-                ApplicationInfo info = mAppLocalList.get(i);
-                mCache.getEntry(info.packageName).index = i;
-            }
-        }
-        
-        public void sortAppList(List<ApplicationInfo> appList, int sortOrder) {
-            Collections.sort(appList, getAppComparator(sortOrder));
-        }
-        
-        public void sortBaseList(int sortOrder) {
-            if (localLOGV) Log.i(TAG, "Sorting base list based on sortOrder = "+sortOrder);
-            sortAppList(mAppList, sortOrder);
-            generateFilterListLocked(getFilteredApps(mAppList, mFilterApps, mCurrentFilterMap!= null, mCurrentFilterMap));
-            adjustIndex();
-        }
-
-        private void sortListInner(int sortOrder) {
-            sortAppList(mAppLocalList, sortOrder);
-            adjustIndex(); 
-        }
-        
-        public void sortList(int sortOrder) {
-            if (localLOGV) Log.i(TAG, "sortOrder = "+sortOrder);
-            sortListInner(sortOrder);
-            notifyDataSetChanged();
-        }
-        
-        /*
-         * Reset the application list associated with this adapter.
-         * @param filterOption Sort the list based on this value
-         * @param appList the actual application list that is used to reset
-         * @return Return a boolean value to indicate inconsistency
-         */
-        public boolean resetAppList(int filterOption) {
-           // Change application list based on filter option
-           generateFilterListLocked(getFilteredApps(mAppList, filterOption, mCurrentFilterMap!= null, mCurrentFilterMap));
-           // Check for all properties in map before sorting. Populate values from cache
-           for(ApplicationInfo applicationInfo : mAppLocalList) {
-               AppInfo appInfo = mCache.getEntry(applicationInfo.packageName);
-               if(appInfo == null) {
-                  Log.i(TAG, " Entry does not exist for pkg:  " + applicationInfo.packageName);
-               }
-           }
-           if (mAppLocalList.size() > 0) {
-               sortList(mSortOrder);
-           } else {
-               notifyDataSetChanged();
-           }
-           return true;
-        }
-        
-        private Comparator<ApplicationInfo> getAppComparator(int sortOrder) {
-            if (sortOrder == SORT_ORDER_ALPHA) {
-                return mAlphaComparator;
-            }
-            return mSizeComparator;
-        }
-
-        public void bulkUpdateIcons(Map<String, Drawable> icons) {
-            if (icons == null) {
-                return;
-            }
-            Set<String> keys = icons.keySet();
-            boolean changed = false;
-            for (String key : keys) {
-                Drawable ic = icons.get(key);
-                if (ic != null) {
-                    AppInfo aInfo = mCache.getEntry(key);
-                    if (aInfo != null) {
-                        aInfo.refreshIcon(ic);
-                        changed = true;
-                    }
-                }
-            }
-            if (changed) {
-                notifyDataSetChanged();
-            }
-        }
-
-        public void bulkUpdateLabels(Map<String, CharSequence> map) {
-            if (map == null) {
-                return;
-            }
-            Set<String> keys = map.keySet();
-            boolean changed = false;
-            for (String key : keys) {
-                CharSequence label = map.get(key);
-                AppInfo aInfo = mCache.getEntry(key);
-                if (aInfo != null) {
-                    aInfo.refreshLabel(label);
-                    changed = true;
-                }
-            }
-            if (changed) {
-                notifyDataSetChanged();
-            }
-        }
-
-        private boolean shouldBeInList(int filterOption, ApplicationInfo info) {
-            // Match filter here
-            if (filterOption == FILTER_APPS_RUNNING) {
-                List<ApplicationInfo> runningList = getInstalledApps(FILTER_APPS_RUNNING);
-                for (ApplicationInfo running : runningList) {
-                    if (running.packageName.equalsIgnoreCase(info.packageName)) {
-                        return true;
-                    }
-                }
-            } else if (filterOption == FILTER_APPS_THIRD_PARTY) {
-                if ((info.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
-                    return true;
-                } else if ((info.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) {
-                    return true;
-                }
-            } else if (filterOption == FILTER_APPS_SDCARD) {
-                if ((info.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0) {
-                    return true;
-                }
-            } else {
-                return true;
-            }
-            return false;
-        }
-        
-        /*
-         * Add a package to the current list.
-         * The package is only added to the displayed list
-         * based on the filter value. The package is always added to the property map.
-         * @param pkgName name of package to be added
-         * @param ps PackageStats of new package
-         */
-        public void addToList(String pkgName, long size, String formattedSize) {
-            if (pkgName == null) {
-                return;
-            }
-            // Get ApplicationInfo
-            ApplicationInfo info = null;
-            try {
-                info = mPm.getApplicationInfo(pkgName, 0);
-            } catch (NameNotFoundException e) {
-                Log.w(TAG, "Ignoring non-existent package:"+pkgName);
-                return;
-            }
-            if(info == null) {
-                // Nothing to do log error message and return
-                Log.i(TAG, "Null ApplicationInfo for package:"+pkgName);
-                return;
-            }
-            // Add entry to base list
-            mAppList.add(info);
-            // Add entry to map. Note that the index gets adjusted later on based on
-            // whether the newly added package is part of displayed list
-            CharSequence label = info.loadLabel(mPm);
-            mCache.addEntry(new AppInfo(pkgName, -1,
-                    label, info.loadIcon(mPm), size, formattedSize));
-            if (addLocalEntry(info, label)) {
-                notifyDataSetChanged();
-            }
-        }
-
-        private boolean addLocalEntry(ApplicationInfo info, CharSequence label) {
-            String pkgName = info.packageName;
-            // Add to list
-            if (shouldBeInList(mFilterApps, info)) {
-                // Binary search returns a negative index (ie -index) of the position where
-                // this might be inserted. 
-                int newIdx = Collections.binarySearch(mAppLocalList, info, 
-                        getAppComparator(mSortOrder));
-                if(newIdx >= 0) {
-                    if (localLOGV) Log.i(TAG, "Strange. Package:" + pkgName + " is not new");
-                    return false;
-                }
-                // New entry
-                newIdx = -newIdx-1;
-                addFilterListLocked(newIdx, info, label);
-                // Adjust index
-                adjustIndex();
-                return true;
-            }
-            return false;
-        }
-
-        public void updatePackage(String pkgName,
-                long size, String formattedSize) {
-            ApplicationInfo info = null;
-            try {
-                info = mPm.getApplicationInfo(pkgName,
-                        PackageManager.GET_UNINSTALLED_PACKAGES);
-            } catch (NameNotFoundException e) {
-                return;
-            }
-            AppInfo aInfo = mCache.getEntry(pkgName);
-            if (aInfo != null) {
-                CharSequence label = info.loadLabel(mPm);
-                aInfo.refreshLabel(label);
-                aInfo.refreshIcon(info.loadIcon(mPm));
-                aInfo.setSize(size, formattedSize);
-                // Check if the entry has to be added to the displayed list
-                addLocalEntry(info, label);
-                // Refresh list since size might have changed
-                notifyDataSetChanged();
-            }
-        }
-
-        private void removePkgBase(String pkgName) {
-            int imax = mAppList.size();
-            for (int i = 0; i < imax; i++) {
-                ApplicationInfo app = mAppList.get(i);
-                if (app.packageName.equalsIgnoreCase(pkgName)) {
-                    if (localLOGV) Log.i(TAG, "Removing pkg: "+pkgName+" from base list");
-                    mAppList.remove(i);
-                    return;
-                }
-            }
-        }
- 
-        public void removeFromList(List<String> pkgNames) {
-            if(pkgNames == null) {
-                return;
-            }
-            if(pkgNames.size()  <= 0) {
-                return;
-            }
-            boolean found = false;
-            for (String pkg : pkgNames) {
-                // Remove from the base application list
-                removePkgBase(pkg);
-                // Remove from cache
-                if (localLOGV) Log.i(TAG, "Removing " + pkg + " from cache");
-                mCache.removeEntry(pkg);
-                // Remove from filtered list
-                if (removeFilterListLocked(pkg)) {
-                    found = true;
-                }
-            }
-            // Adjust indices of list entries
-            if (found) {
-                adjustIndex();
-                if (localLOGV) Log.i(TAG, "adjusting index and notifying list view");
-                notifyDataSetChanged();
-            }
-        }
-
-        public void bulkUpdateSizes(String pkgs[], long sizes[], String formatted[]) {
-            if(pkgs == null || sizes == null || formatted == null) {
-                return;
-            }
-            boolean changed = false;
-            for (int i = 0; i < pkgs.length; i++) {
-                AppInfo entry = mCache.getEntry(pkgs[i]);
-                if (entry == null) {
-                    if (localLOGV) Log.w(TAG, "Entry for package:"+ pkgs[i] +"doesn't exist in map");
-                    continue;
-                }
-                if (entry.setSize(sizes[i], formatted[i])) {
-                    changed = true;
-                }
-            }
-            if (changed) {
-                notifyDataSetChanged();
-            }
-        }
-
-        public Filter getFilter() {
-            return mAppFilter;
-        }
-
-        private class AppFilter extends Filter {
-            @Override
-            protected FilterResults performFiltering(CharSequence prefix) {
-                FilterResults results = new FilterResults();
-                if (prefix == null || prefix.length() == 0) {
-                    synchronized (mFilterLock) {
-                        results.values = new HashMap<String, String>(mFilterMap);
-                        results.count = mFilterMap.size();
-                    }
-                } else {
-                    final String prefixString = prefix.toString().toLowerCase();
-                    final String spacePrefixString = " " + prefixString;
-                    Map<String, String> newMap = new HashMap<String, String>();
-                    synchronized (mFilterLock) {
-                        Map<String, String> localMap = mFilterMap;
-                        Set<String> keys = mFilterMap.keySet();
-                        for (String key : keys) {
-                            String label = localMap.get(key);
-                            if (label == null) continue;
-                            label = label.toLowerCase();
-                            if (label.startsWith(prefixString)
-                                    || label.indexOf(spacePrefixString) != -1) {
-                                newMap.put(key, label);
-                            }
-                        }
-                    }
-                    results.values = newMap;
-                    results.count = newMap.size();
-                }
-                return results;
-            }
-
-            @Override
-            protected void publishResults(CharSequence constraint, FilterResults results) {
-                mCurrentFilterMap = (Map<String, String>) results.values;
-                reverseGenerateList();
-                if (results.count > 0) {
-                    notifyDataSetChanged();
-                } else {
-                    notifyDataSetInvalidated();
-                }
-            }
-        }
-    }
-    
-    /*
-     * Utility method to clear messages to Handler
-     * We need'nt synchronize on the Handler since posting messages is guaranteed
-     * to be thread safe. Even if the other thread that retrieves package sizes
-     * posts a message, we do a cursory check of validity on mAppInfoAdapter's applist
-     */
-    private void clearMessagesInHandler() {
-        mHandler.removeMessages(INIT_PKG_INFO);
-        mHandler.removeMessages(COMPUTE_BULK_SIZE);
-        mHandler.removeMessages(REMOVE_PKG);
-        mHandler.removeMessages(REORDER_LIST);
-        mHandler.removeMessages(ADD_PKG_START);
-        mHandler.removeMessages(ADD_PKG_DONE);
-        mHandler.removeMessages(REFRESH_LABELS);
-        mHandler.removeMessages(REFRESH_DONE);
-        mHandler.removeMessages(NEXT_LOAD_STEP);
-        mHandler.removeMessages(COMPUTE_END);
-    }
-    
-    private void sendMessageToHandler(int msgId, int arg1) {
-        Message msg = mHandler.obtainMessage(msgId);
-        msg.arg1 = arg1;
-        mHandler.sendMessage(msg);
-    }
-    
-    private void sendMessageToHandler(int msgId, Bundle data) {
-        Message msg = mHandler.obtainMessage(msgId);
-        msg.setData(data);
-        mHandler.sendMessage(msg);
-    }
-    
-    private void sendMessageToHandler(int msgId) {
-        mHandler.sendEmptyMessage(msgId);
-    }
-    
-    /*
-     * Stats Observer class used to compute package sizes and retrieve size information
-     * PkgSizeOberver is the call back thats used when invoking getPackageSizeInfo on
-     * PackageManager. The values in call back onGetStatsCompleted are validated
-     * and the specified message is passed to mHandler. The package name
-     * and the AppInfo object corresponding to the package name are set on the message
-     */
-    class PkgSizeObserver extends IPackageStatsObserver.Stub {
-        String pkgName;
-        public void onGetStatsCompleted(PackageStats pStats, boolean pSucceeded) {
-            if(DEBUG_PKG_DELAY) {
-                try {
-                    Thread.sleep(10*1000);
-                } catch (InterruptedException e) {
-                }
-            }
-            Bundle data = new Bundle();
-            data.putString(ATTR_PKG_NAME, pkgName);
-            data.putBoolean(ATTR_GET_SIZE_STATUS, pSucceeded);
-            if(pSucceeded && pStats != null) {
-                if (localLOGV) Log.i(TAG, "onGetStatsCompleted::"+pkgName+", ("+
-                        pStats.cacheSize+","+
-                        pStats.codeSize+", "+pStats.dataSize);
-                long total = getTotalSize(pStats);
-                data.putLong(ATTR_PKG_STATS, total);
-                CharSequence sizeStr = getSizeStr(total);
-                data.putString(ATTR_PKG_SIZE_STR, sizeStr.toString());
-            } else {
-                Log.w(TAG, "Invalid package stats from PackageManager");
-            }
-            // Post message to Handler
-            Message msg = mHandler.obtainMessage(ADD_PKG_DONE, data);
-            msg.setData(data);
-            mHandler.sendMessage(msg);
-        }
-
-        public void invokeGetSizeInfo(String packageName) {
-            if (packageName == null) {
-                return;
-            }
-            pkgName = packageName;
-            if(localLOGV) Log.i(TAG, "Invoking getPackageSizeInfo for package:"+
-                    packageName);
-            mPm.getPackageSizeInfo(packageName, this);
-        }
-    }
-    
-    /**
-     * Receives notifications when applications are added/removed.
-     */
-    private class PackageIntentReceiver extends BroadcastReceiver {
-         void registerReceiver() {
-             IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_ADDED);
-             filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
-             filter.addAction(Intent.ACTION_PACKAGE_CHANGED);
-             filter.addDataScheme("package");
-             ManageApplications.this.registerReceiver(this, filter);
-             // Register for events related to sdcard installation.
-             IntentFilter sdFilter = new IntentFilter();
-             sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE);
-             sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE);
-             ManageApplications.this.registerReceiver(this, sdFilter);
-         }
-         @Override
-         public void onReceive(Context context, Intent intent) {
-             String actionStr = intent.getAction();
-             if (Intent.ACTION_PACKAGE_ADDED.equals(actionStr) ||
-                     Intent.ACTION_PACKAGE_REMOVED.equals(actionStr)) {
-                 Uri data = intent.getData();
-                 String pkgName = data.getEncodedSchemeSpecificPart();
-                 updatePackageList(actionStr, pkgName);
-             } else if (Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE.equals(actionStr) ||
-                     Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE.equals(actionStr)) {
-                 // When applications become available or unavailable (perhaps because
-                 // the SD card was inserted or ejected) we need to refresh the
-                 // AppInfo with new label, icon and size information as appropriate
-                 // given the newfound (un)availability of the application.
-                 // A simple way to do that is to treat the refresh as a package
-                 // removal followed by a package addition.
-                 String pkgList[] = intent.getStringArrayExtra(Intent.EXTRA_CHANGED_PACKAGE_LIST);
-                 if (pkgList == null || pkgList.length == 0) {
-                     // Ignore
-                     return;
-                 }
-                 for (String pkgName : pkgList) {
-                     updatePackageList(Intent.ACTION_PACKAGE_REMOVED, pkgName);
-                     updatePackageList(Intent.ACTION_PACKAGE_ADDED, pkgName);
-                 }
-             }
-         }
-    }
-
-    private void updatePackageList(String actionStr, String pkgName) {
-        if (Intent.ACTION_PACKAGE_ADDED.equalsIgnoreCase(actionStr)) {
-            Bundle data = new Bundle();
-            data.putString(ATTR_PKG_NAME, pkgName);
-            sendMessageToHandler(ADD_PKG_START, data);
-        } else if (Intent.ACTION_PACKAGE_REMOVED.equalsIgnoreCase(actionStr)) {
-            Bundle data = new Bundle();
-            data.putString(ATTR_PKG_NAME, pkgName);
-            sendMessageToHandler(REMOVE_PKG, data);
-        }
-    }
-
-    static final String TAB_DOWNLOADED = "Downloaded";
-    static final String TAB_RUNNING = "Running";
-    static final String TAB_ALL = "All";
-    static final String TAB_SDCARD = "OnSdCard";
-    private View mRootView;
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        if(localLOGV) Log.i(TAG, "Activity created");
-        long sCreate;
-        if (DEBUG_TIME) {
-            sCreate = SystemClock.elapsedRealtime();
-        }
-        Intent intent = getIntent();
-        String action = intent.getAction();
-        String defaultTabTag = TAB_DOWNLOADED;
-        if (action.equals(Intent.ACTION_MANAGE_PACKAGE_STORAGE)) {
-            mSortOrder = SORT_ORDER_SIZE;
-            mFilterApps = FILTER_APPS_ALL;
-            defaultTabTag = TAB_ALL;
-            mSizesFirst = true;
-        }
-        mPm = getPackageManager();
-        // initialize some window features
-        requestWindowFeature(Window.FEATURE_RIGHT_ICON);
-        requestWindowFeature(Window.FEATURE_PROGRESS);
-        requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
-        showLoadingMsg();
-        mDefaultAppIcon = Resources.getSystem().getDrawable(
-                com.android.internal.R.drawable.sym_def_app_icon);
-        mInvalidSizeStr = getText(R.string.invalid_size_value);
-        mComputingSizeStr = getText(R.string.computing_size);
-        // initialize the inflater
-        mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-        mRootView = mInflater.inflate(R.layout.compute_sizes, null);
-        mReceiver = new PackageIntentReceiver();
-        mObserver = new PkgSizeObserver();
-        // Create adapter and list view here
-        List<ApplicationInfo> appList = getInstalledApps(FILTER_APPS_ALL);
-        mAppInfoAdapter = new AppInfoAdapter(this, appList);
-        ListView lv = (ListView) mRootView.findViewById(android.R.id.list);
-        lv.setOnItemClickListener(this);
-        lv.setSaveEnabled(true);
-        lv.setItemsCanFocus(true);
-        lv.setOnItemClickListener(this);
-        lv.setTextFilterEnabled(true);
-        mListView = lv;
-        if (DEBUG_TIME) {
-            Log.i(TAG, "Total time in Activity.create:: " +
-                    (SystemClock.elapsedRealtime() - sCreate)+ " ms");
-        }
-        // Get initial info from file for the very first time this activity started
-        long sStart;
-        if (DEBUG_TIME) {
-            sStart = SystemClock.elapsedRealtime();
-        }
-        mCache.loadCache();
-        if (DEBUG_TIME) {
-            Log.i(TAG, "Took " + (SystemClock.elapsedRealtime()-sStart) + " ms to init cache");
-        }
-
-        final TabHost tabHost = getTabHost();
-        tabHost.addTab(tabHost.newTabSpec(TAB_DOWNLOADED)
-                .setIndicator(getString(R.string.filter_apps_third_party),
-                        getResources().getDrawable(R.drawable.ic_tab_download))
-                .setContent(this));
-        tabHost.addTab(tabHost.newTabSpec(TAB_RUNNING)
-                .setIndicator(getString(R.string.filter_apps_running),
-                        getResources().getDrawable(R.drawable.ic_tab_running))
-                .setContent(this));
-        tabHost.addTab(tabHost.newTabSpec(TAB_ALL)
-                .setIndicator(getString(R.string.filter_apps_all),
-                        getResources().getDrawable(R.drawable.ic_tab_all))
-                .setContent(this));
-        tabHost.addTab(tabHost.newTabSpec(TAB_SDCARD)
-                .setIndicator(getString(R.string.filter_apps_onsdcard),
-                        getResources().getDrawable(R.drawable.ic_tab_sdcard))
-                .setContent(this));
-        tabHost.setCurrentTabByTag(defaultTabTag);
-        tabHost.setOnTabChangedListener(this);
-    }
-    
-    @Override
-    protected void onDestroy() {
-        // Persist values in cache
-        mCache.updateCache();
-        super.onDestroy();
-    }
-
-    @Override
-    public Dialog onCreateDialog(int id, Bundle args) {
-        if (id == DLG_LOADING) {
-            ProgressDialog dlg = new ProgressDialog(this);
-            dlg.setProgressStyle(ProgressDialog.STYLE_SPINNER);
-            dlg.setMessage(getText(R.string.loading));
-            dlg.setIndeterminate(true);        
-            dlg.setOnCancelListener(this);
-            return dlg;
-        }
-        return null;
-    }
-
-    private void showLoadingMsg() {
-        if (DEBUG_TIME) {
-            mLoadTimeStart = SystemClock.elapsedRealtime();
-        }
-        showDialog(DLG_LOADING); 
-        if(localLOGV) Log.i(TAG, "Displaying Loading message");
-    }
-    
-    private void dismissLoadingMsg() {
-        if(localLOGV) Log.i(TAG, "Dismissing Loading message");
-        dismissDialog(DLG_LOADING);
-        if (DEBUG_TIME) Log.i(TAG, "Displayed loading message for "+
-                (SystemClock.elapsedRealtime() - mLoadTimeStart) + " ms");
-    }
-
-    class AppInfoCache {
-        final static boolean FILE_CACHE = true;
-        private static final String mFileCacheName="ManageAppsInfo.txt";
-        private static final int FILE_BUFFER_SIZE = 1024;
-        private static final boolean DEBUG_CACHE = false;
-        private static final boolean DEBUG_CACHE_TIME = false;
-        private Map<String, AppInfo> mAppPropCache = new HashMap<String, AppInfo>();
-
-        private boolean isEmpty() {
-            return (mAppPropCache.size() == 0);
-        }
-
-        private AppInfo getEntry(String pkgName) {
-            return mAppPropCache.get(pkgName);
-        }
-
-        private Set<String> getPkgList() {
-            return mAppPropCache.keySet();
-        }
-
-        public void addEntry(AppInfo aInfo) {
-            if ((aInfo != null) && (aInfo.pkgName != null)) {
-                mAppPropCache.put(aInfo.pkgName, aInfo);
-            }
-        }
-
-        public void removeEntry(String pkgName) {
-            if (pkgName != null) {
-                mAppPropCache.remove(pkgName);
-            }
-        }
-
-        private void readFromFile() {
-            File cacheFile = new File(getFilesDir(), mFileCacheName);
-            if (!cacheFile.exists()) {
-                return;
-            }
-            FileInputStream fis = null;
-            boolean err = false;
-            try {
-                fis = new FileInputStream(cacheFile);
-            } catch (FileNotFoundException e) {
-                Log.w(TAG, "Error opening file for read operation : " + cacheFile
-                        + " with exception " + e);
-                return;
-            }
-            try {
-                byte[] byteBuff = new byte[FILE_BUFFER_SIZE];
-                byte[] lenBytes = new byte[2];
-                mAppPropCache.clear();
-                while(fis.available() > 0) {
-                    fis.read(lenBytes, 0, 2);
-                    int buffLen = (lenBytes[0] << 8) | lenBytes[1];
-                    if ((buffLen <= 0) || (buffLen > byteBuff.length)) {
-                        err = true;
-                        break;
-                    }
-                    // Buffer length cannot be greater than max.
-                    fis.read(byteBuff, 0, buffLen);
-                    String buffStr = new String(byteBuff);
-                    if (DEBUG_CACHE) {
-                        Log.i(TAG, "Read string of len= " + buffLen + " :: " + buffStr + " from file");
-                    }
-                    // Parse string for sizes
-                    String substrs[] = buffStr.split(",");
-                    if (substrs.length < 4) {
-                        // Something wrong. Bail out and let recomputation proceed.
-                        err = true;
-                        break;
-                    }
-                    long size = -1;
-                    int idx = -1;
-                    try {
-                        size = Long.parseLong(substrs[1]);
-                    } catch (NumberFormatException e) {
-                        err = true;
-                        break;
-                    }
-                    if (DEBUG_CACHE) {
-                        Log.i(TAG, "Creating entry(" + substrs[0] + ", " + idx+"," + size + ", " + substrs[2] + ")");
-                    }
-                    AppInfo aInfo = new AppInfo(substrs[0], idx, substrs[3], size, substrs[2]);
-                    mAppPropCache.put(aInfo.pkgName, aInfo);
-                }
-            } catch (IOException e) {
-                Log.w(TAG, "Failed reading from file : " + cacheFile + " with exception : " + e);
-                err = true;
-            } finally {
-                if (fis != null) {
-                    try {
-                        fis.close();
-                    } catch (IOException e) {
-                        Log.w(TAG, "Failed to close file " + cacheFile + " with exception : " +e);
-                        err = true;
-                    }
-                }
-                if (err) {
-                    Log.i(TAG, "Failed to load cache. Not using cache for now.");
-                    // Clear cache and bail out
-                    mAppPropCache.clear();
-                }
-            }
-        }
-
-        boolean writeToFile() {
-            File cacheFile = new File(getFilesDir(), mFileCacheName);
-            FileOutputStream fos = null;
-            try {
-                long opStartTime = SystemClock.uptimeMillis();
-                fos = new FileOutputStream(cacheFile);
-                Set<String> keys = mAppPropCache.keySet();
-                byte[] lenBytes = new byte[2];
-                for (String key : keys) {
-                    AppInfo aInfo = mAppPropCache.get(key);
-                    StringBuilder buff = new StringBuilder(aInfo.pkgName);
-                    buff.append(",");
-                    buff.append(aInfo.size);
-                    buff.append(",");
-                    buff.append(aInfo.appSize);
-                    buff.append(",");
-                    buff.append(aInfo.appName);
-                    if (DEBUG_CACHE) {
-                        Log.i(TAG, "Writing str : " + buff.toString() + " to file of length:" +
-                                buff.toString().length());
-                    }
-                    try {
-                        byte[] byteBuff = buff.toString().getBytes();
-                        int len = byteBuff.length;
-                        if (byteBuff.length >= FILE_BUFFER_SIZE) {
-                            // Truncate the output
-                            len = FILE_BUFFER_SIZE;
-                        }
-                        // Use 2 bytes to write length
-                        lenBytes[1] = (byte) (len & 0x00ff);
-                        lenBytes[0] = (byte) ((len & 0x00ff00) >> 8);
-                        fos.write(lenBytes, 0, 2);
-                        fos.write(byteBuff, 0, len);
-                    } catch (IOException e) {
-                        Log.w(TAG, "Failed to write to file : " + cacheFile + " with exception : " + e);
-                        return false;
-                    }
-                }
-                if (DEBUG_CACHE_TIME) {
-                    Log.i(TAG, "Took " + (SystemClock.uptimeMillis() - opStartTime) + " ms to write and process from file");
-                }
-                return true;
-            } catch (FileNotFoundException e) {
-                Log.w(TAG, "Error opening file for write operation : " + cacheFile+
-                        " with exception : " + e);
-                return false;
-            } finally {
-                if (fos != null) {
-                    try {
-                        fos.close();
-                    } catch (IOException e) {
-                        Log.w(TAG, "Failed closing file : " + cacheFile + " with exception : " + e);
-                        return false;
-                    }
-                }
-            }
-        }
-        private void loadCache() {
-             // Restore preferences
-            SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
-            boolean disable = settings.getBoolean(PREF_DISABLE_CACHE, true);
-            if (disable) Log.w(TAG, "Cache has been disabled");
-            // Disable cache till the data is loaded successfully
-            SharedPreferences.Editor editor = settings.edit();
-            editor.putBoolean(PREF_DISABLE_CACHE, true);
-            editor.commit();
-            if (FILE_CACHE && !disable) {
-                readFromFile();
-                // Enable cache since the file has been read successfully
-                editor.putBoolean(PREF_DISABLE_CACHE, false);
-                editor.commit();
-            }
-        }
-
-        private void updateCache() {
-            SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
-            SharedPreferences.Editor editor = settings.edit();
-            editor.putBoolean(PREF_DISABLE_CACHE, true);
-            editor.commit();
-            if (FILE_CACHE) {
-                boolean writeStatus = writeToFile();
-                mAppPropCache.clear();
-                if (writeStatus) {
-                    // Enable cache since the file has been read successfully
-                    editor.putBoolean(PREF_DISABLE_CACHE, false);
-                    editor.commit();
-                }
-            }
-        }
-    }
-
-    @Override
-    public void onStart() {
-        super.onStart();
-        // Register receiver
-        mReceiver.registerReceiver();
-        sendMessageToHandler(INIT_PKG_INFO);
-    }
-
-    @Override
-    public void onStop() {
-        super.onStop();
-        // Stop the background threads
-        if (mResourceThread != null) {
-            mResourceThread.setAbort();
-        }
-        if (mSizeComputor != null) {
-            mSizeComputor.setAbort();
-        }
-        // clear all messages related to application list
-        clearMessagesInHandler();
-        // register receiver here
-        unregisterReceiver(mReceiver);
-    }
-    
-    // Avoid the restart and pause when orientation changes
-    @Override
-    public void onConfigurationChanged(Configuration newConfig) {
-        super.onConfigurationChanged(newConfig);
-    }
-    
-    /*
-     * comparator class used to sort AppInfo objects based on size
-     */
-    class SizeComparator implements Comparator<ApplicationInfo> {
-        public final int compare(ApplicationInfo a, ApplicationInfo b) {
-            AppInfo ainfo = mCache.getEntry(a.packageName);
-            AppInfo binfo = mCache.getEntry(b.packageName);
-            long atotal = ainfo.size;
-            long btotal = binfo.size;
-            long ret = atotal - btotal;
-            // negate result to sort in descending order
-            if (ret < 0) {
-                return 1;
-            }
-            if (ret == 0) {
-                return 0;
-            }
-            return -1;
-        }
-    }
-
-    /*
-     * Customized comparator class to compare labels.
-     * Don't use the one defined in ApplicationInfo since that loads the labels again.
-     */
-    class AlphaComparator implements Comparator<ApplicationInfo> {
-        private final Collator   sCollator = Collator.getInstance();
-
-        public final int compare(ApplicationInfo a, ApplicationInfo b) {
-            AppInfo ainfo = mCache.getEntry(a.packageName);
-            AppInfo binfo = mCache.getEntry(b.packageName);
-            // Check for null app names, to avoid NPE in rare cases
-            if (ainfo == null || ainfo.appName == null) return -1;
-            if (binfo == null || binfo.appName == null) return 1;
-            return sCollator.compare(ainfo.appName.toString(), binfo.appName.toString());
-        }
-    }
-
-    // utility method used to start sub activity
-    private void startApplicationDetailsActivity() {
-        // Create intent to start new activity
-        Intent intent = new Intent(Intent.ACTION_VIEW);
-        intent.setClass(this, InstalledAppDetails.class);
-        intent.putExtra(APP_PKG_NAME, mCurrentPkgName);
-        // start new activity to display extended information
-        startActivityForResult(intent, INSTALLED_APP_DETAILS);
-    }
-    
-    @Override
-    public boolean onCreateOptionsMenu(Menu menu) {
-        menu.add(0, SORT_ORDER_ALPHA, 1, R.string.sort_order_alpha)
-                .setIcon(android.R.drawable.ic_menu_sort_alphabetically);
-        menu.add(0, SORT_ORDER_SIZE, 2, R.string.sort_order_size)
-                .setIcon(android.R.drawable.ic_menu_sort_by_size); 
-        return true;
-    }
-    
-    @Override
-    public boolean onPrepareOptionsMenu(Menu menu) {
-        if (mFirst) {
-            menu.findItem(SORT_ORDER_ALPHA).setVisible(mSortOrder != SORT_ORDER_ALPHA);
-            menu.findItem(SORT_ORDER_SIZE).setVisible(mSortOrder != SORT_ORDER_SIZE);
-            return true;
-        }
-        return false;
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        int menuId = item.getItemId();
-        if ((menuId == SORT_ORDER_ALPHA) || (menuId == SORT_ORDER_SIZE)) {
-            sendMessageToHandler(REORDER_LIST, menuId);
-        }
-        return true;
-    }
-
-    public void onItemClick(AdapterView<?> parent, View view, int position,
-            long id) {
-        ApplicationInfo info = (ApplicationInfo)mAppInfoAdapter.getItem(position);
-        mCurrentPkgName = info.packageName;
-        startApplicationDetailsActivity();
-    }
-    
-    // Finish the activity if the user presses the back button to cancel the activity
-    public void onCancel(DialogInterface dialog) {
-        finish();
-    }
-
-    public View createTabContent(String tag) {
-        return mRootView;
-    }
-
-    public void onTabChanged(String tabId) {
-        int newOption;
-        if (TAB_DOWNLOADED.equalsIgnoreCase(tabId)) {
-            newOption = FILTER_APPS_THIRD_PARTY;
-        } else if (TAB_RUNNING.equalsIgnoreCase(tabId)) {
-            newOption = FILTER_APPS_RUNNING;
-        } else if (TAB_ALL.equalsIgnoreCase(tabId)) {
-            newOption = FILTER_APPS_ALL;
-        } else if (TAB_SDCARD.equalsIgnoreCase(tabId)) {
-            newOption = FILTER_APPS_SDCARD;
-        } else {
-            // Invalid option. Do nothing
-            return;
-        }
-        sendMessageToHandler(REORDER_LIST, newOption);
-    }
-
-    @Override
-    protected void onActivityResult(int requestCode, int resultCode,
-            Intent data) {
-        if (requestCode == INSTALLED_APP_DETAILS && mCurrentPkgName != null) {
-            // Refresh package attributes
-            try {
-                ApplicationInfo info = mPm.getApplicationInfo(mCurrentPkgName,
-                        PackageManager.GET_UNINSTALLED_PACKAGES);
-            } catch (NameNotFoundException e) {
-                Bundle rData = new Bundle();
-                rData.putString(ATTR_PKG_NAME, mCurrentPkgName);
-                sendMessageToHandler(REMOVE_PKG, rData);
-                mCurrentPkgName = null;
-            }
-        }
-    }
-}
diff --git a/src/com/android/settings/MasterClear.java b/src/com/android/settings/MasterClear.java
index 4de0e44..e653d90 100644
--- a/src/com/android/settings/MasterClear.java
+++ b/src/com/android/settings/MasterClear.java
@@ -16,20 +16,16 @@
 
 package com.android.settings;
 
+import com.android.internal.os.storage.ExternalStorageFormatter;
 import com.android.internal.widget.LockPatternUtils;
 
 import android.app.Activity;
-import android.app.AlertDialog;
-import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
-import android.os.ServiceManager;
-import android.os.SystemProperties;
-import android.text.TextUtils;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.Button;
+import android.widget.CheckBox;
 
 /**
  * Confirm and execute a reset of the device to a clean "just out of the box"
@@ -48,6 +44,8 @@
 
     private View mInitialView;
     private Button mInitiateButton;
+    private View mExternalStorageContainer;
+    private CheckBox mExternalStorage;
 
     private View mFinalView;
     private Button mFinalButton;
@@ -63,8 +61,14 @@
                     return;
                 }
 
-                sendBroadcast(new Intent("android.intent.action.MASTER_CLEAR"));
-                // Intent handling is asynchronous -- assume it will happen soon.
+                if (mExternalStorage.isChecked()) {
+                    Intent intent = new Intent(ExternalStorageFormatter.FORMAT_AND_FACTORY_RESET);
+                    intent.setComponent(ExternalStorageFormatter.COMPONENT_NAME);
+                    startService(intent);
+                } else {
+                    sendBroadcast(new Intent("android.intent.action.MASTER_CLEAR"));
+                    // Intent handling is asynchronous -- assume it will happen soon.
+                }
             }
         };
 
@@ -145,6 +149,16 @@
             mInitiateButton =
                     (Button) mInitialView.findViewById(R.id.initiate_master_clear);
             mInitiateButton.setOnClickListener(mInitiateListener);
+            mExternalStorageContainer =
+                mInitialView.findViewById(R.id.erase_external_container);
+            mExternalStorage =
+                    (CheckBox) mInitialView.findViewById(R.id.erase_external);
+            mExternalStorageContainer.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    mExternalStorage.toggle();
+                }
+            });
         }
 
         setContentView(mInitialView);
@@ -170,7 +184,8 @@
     public void onPause() {
         super.onPause();
 
-        establishInitialState();
+        if (!isFinishing()) {
+            establishInitialState();
+        }
     }
-
 }
diff --git a/src/com/android/settings/MediaFormat.java b/src/com/android/settings/MediaFormat.java
index b78ff62..d8d57e4 100644
--- a/src/com/android/settings/MediaFormat.java
+++ b/src/com/android/settings/MediaFormat.java
@@ -16,23 +16,15 @@
 
 package com.android.settings;
 
-import com.android.internal.widget.LockPatternUtils;
-
 import android.app.Activity;
-import android.app.AlertDialog;
-import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
-import android.os.storage.IMountService;
-import android.os.ServiceManager;
-import android.os.SystemProperties;
-import android.os.Environment;
-import android.text.TextUtils;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.Button;
 
+import com.android.internal.os.storage.ExternalStorageFormatter;
+
 /**
  * Confirm and execute a format of the sdcard.
  * Multiple confirmations are required: first, a general "are you sure
@@ -46,7 +38,6 @@
     private static final int KEYGUARD_REQUEST = 55;
 
     private LayoutInflater mInflater;
-    private LockPatternUtils mLockUtils;
 
     private View mInitialView;
     private Button mInitiateButton;
@@ -64,23 +55,10 @@
                 if (Utils.isMonkeyRunning()) {
                     return;
                 }
-                final IMountService service =
-                        IMountService.Stub.asInterface(ServiceManager.getService("mount"));
-                if (service != null) {
-                    new Thread() {
-                        public void run() {
-                            try {
-                                service.formatVolume(Environment.getExternalStorageDirectory().toString());
-                            } catch (Exception e) {
-                                // Intentionally blank - there's nothing we can do here
-                                Log.w("MediaFormat", "Unable to invoke IMountService.formatMedia()");
-                            }
-                        }
-                    }.start();
-                } else {
-                    Log.w("MediaFormat", "Unable to locate IMountService");
-                }
-            finish();
+                Intent intent = new Intent(ExternalStorageFormatter.FORMAT_ONLY);
+                intent.setComponent(ExternalStorageFormatter.COMPONENT_NAME);
+                startService(intent);
+                finish();
             }
         };
 
@@ -171,7 +149,6 @@
         mInitialView = null;
         mFinalView = null;
         mInflater = LayoutInflater.from(this);
-        mLockUtils = new LockPatternUtils(this);
 
         establishInitialState();
     }
@@ -184,7 +161,8 @@
     public void onPause() {
         super.onPause();
 
-        establishInitialState();
+        if (!isFinishing()) {
+            establishInitialState();
+        }
     }
-
 }
diff --git a/src/com/android/settings/RunningServices.java b/src/com/android/settings/RunningServices.java
deleted file mode 100644
index ed970a7..0000000
--- a/src/com/android/settings/RunningServices.java
+++ /dev/null
@@ -1,1172 +0,0 @@
-/*
- * Copyright (C) 2006 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;
-
-import com.android.settings.R;
-import android.app.ActivityManager;
-import android.app.ActivityManagerNative;
-import android.app.AlertDialog;
-import android.app.Dialog;
-import android.app.ListActivity;
-import android.app.PendingIntent;
-import android.content.ActivityNotFoundException;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.IntentSender;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageItemInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.ServiceInfo;
-import android.content.res.Resources;
-import android.graphics.Canvas;
-import android.graphics.Paint;
-import android.graphics.Rect;
-import android.os.Bundle;
-import android.os.Debug;
-import android.os.Handler;
-import android.os.HandlerThread;
-import android.os.Looper;
-import android.os.Message;
-import android.os.RemoteException;
-import android.os.SystemClock;
-import android.os.SystemProperties;
-import android.text.format.DateUtils;
-import android.text.format.Formatter;
-import android.util.AttributeSet;
-import android.util.Log;
-import android.util.SparseArray;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.AbsListView;
-import android.widget.BaseAdapter;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.ListView;
-import android.widget.TextView;
-
-import java.io.FileInputStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-public class RunningServices extends ListActivity
-        implements AbsListView.RecyclerListener,
-        DialogInterface.OnClickListener {
-    static final String TAG = "RunningServices";
-    
-    /** Maximum number of services to retrieve */
-    static final int MAX_SERVICES = 100;
-    
-    static final int MSG_UPDATE_TIMES = 1;
-    static final int MSG_UPDATE_CONTENTS = 2;
-    static final int MSG_REFRESH_UI = 3;
-    
-    static final long TIME_UPDATE_DELAY = 1000;
-    static final long CONTENTS_UPDATE_DELAY = 2000;
-    
-    // Memory pages are 4K.
-    static final long PAGE_SIZE = 4*1024;
-    
-    long SECONDARY_SERVER_MEM;
-    
-    final HashMap<View, ActiveItem> mActiveItems = new HashMap<View, ActiveItem>();
-    
-    ActivityManager mAm;
-    
-    State mState;
-    
-    StringBuilder mBuilder = new StringBuilder(128);
-    
-    BaseItem mCurSelected;
-    
-    int mProcessBgColor;
-    
-    LinearColorBar mColorBar;
-    TextView mBackgroundProcessText;
-    TextView mForegroundProcessText;
-    
-    int mLastNumBackgroundProcesses = -1;
-    int mLastNumForegroundProcesses = -1;
-    int mLastNumServiceProcesses = -1;
-    long mLastBackgroundProcessMemory = -1;
-    long mLastForegroundProcessMemory = -1;
-    long mLastServiceProcessMemory = -1;
-    long mLastAvailMemory = -1;
-    
-    Dialog mCurDialog;
-    
-    byte[] mBuffer = new byte[1024];
-    
-    class ActiveItem {
-        View mRootView;
-        BaseItem mItem;
-        ActivityManager.RunningServiceInfo mService;
-        ViewHolder mHolder;
-        long mFirstRunTime;
-        
-        void updateTime(Context context) {
-            if (mItem.mIsProcess) {
-                String size = mItem.mSizeStr != null ? mItem.mSizeStr : "";
-                if (!size.equals(mItem.mCurSizeStr)) {
-                    mItem.mCurSizeStr = size;
-                    mHolder.size.setText(size);
-                }
-            } else {
-                if (mItem.mActiveSince >= 0) {
-                    mHolder.size.setText(DateUtils.formatElapsedTime(mBuilder,
-                            (SystemClock.uptimeMillis()-mFirstRunTime)/1000));
-                } else {
-                    mHolder.size.setText(context.getResources().getText(
-                            R.string.service_restarting));
-                }
-            }
-        }
-    }
-    
-    static class BaseItem {
-        final boolean mIsProcess;
-        
-        PackageItemInfo mPackageInfo;
-        CharSequence mDisplayLabel;
-        String mLabel;
-        String mDescription;
-        
-        int mCurSeq;
-        
-        long mActiveSince;
-        long mSize;
-        String mSizeStr;
-        String mCurSizeStr;
-        boolean mNeedDivider;
-        
-        public BaseItem(boolean isProcess) {
-            mIsProcess = isProcess;
-        }
-    }
-    
-    static class ServiceItem extends BaseItem {
-        ActivityManager.RunningServiceInfo mRunningService;
-        ServiceInfo mServiceInfo;
-        boolean mShownAsStarted;
-        
-        public ServiceItem() {
-            super(false);
-        }
-    }
-    
-    static class ProcessItem extends BaseItem {
-        final HashMap<ComponentName, ServiceItem> mServices
-                = new HashMap<ComponentName, ServiceItem>();
-        final SparseArray<ProcessItem> mDependentProcesses
-                = new SparseArray<ProcessItem>();
-        
-        final int mUid;
-        final String mProcessName;
-        int mPid;
-        
-        ProcessItem mClient;
-        int mLastNumDependentProcesses;
-        
-        int mRunningSeq;
-        ActivityManager.RunningAppProcessInfo mRunningProcessInfo;
-        
-        // Purely for sorting.
-        boolean mIsSystem;
-        boolean mIsStarted;
-        long mActiveSince;
-        
-        public ProcessItem(Context context, int uid, String processName) {
-            super(true);
-            mDescription = context.getResources().getString(
-                    R.string.service_process_name, processName);
-            mUid = uid;
-            mProcessName = processName;
-        }
-        
-        void ensureLabel(PackageManager pm) {
-            if (mLabel != null) {
-                return;
-            }
-            
-            try {
-                ApplicationInfo ai = pm.getApplicationInfo(mProcessName, 0);
-                if (ai.uid == mUid) {
-                    mDisplayLabel = ai.loadLabel(pm);
-                    mLabel = mDisplayLabel.toString();
-                    mPackageInfo = ai;
-                    return;
-                }
-            } catch (PackageManager.NameNotFoundException e) {
-            }
-            
-            // If we couldn't get information about the overall
-            // process, try to find something about the uid.
-            String[] pkgs = pm.getPackagesForUid(mUid);
-            
-            // If there is one package with this uid, that is what we want.
-            if (pkgs.length == 1) {
-                try {
-                    ApplicationInfo ai = pm.getApplicationInfo(pkgs[0], 0);
-                    mDisplayLabel = ai.loadLabel(pm);
-                    mLabel = mDisplayLabel.toString();
-                    mPackageInfo = ai;
-                    return;
-                } catch (PackageManager.NameNotFoundException e) {
-                }
-            }
-            
-            // If there are multiple, see if one gives us the official name
-            // for this uid.
-            for (String name : pkgs) {
-                try {
-                    PackageInfo pi = pm.getPackageInfo(name, 0);
-                    if (pi.sharedUserLabel != 0) {
-                        CharSequence nm = pm.getText(name,
-                                pi.sharedUserLabel, pi.applicationInfo);
-                        if (nm != null) {
-                            mDisplayLabel = nm;
-                            mLabel = nm.toString();
-                            mPackageInfo = pi.applicationInfo;
-                            return;
-                        }
-                    }
-                } catch (PackageManager.NameNotFoundException e) {
-                }
-            }
-            
-            // If still don't have anything to display, just use the
-            // service info.
-            if (mServices.size() > 0) {
-                mPackageInfo = mServices.values().iterator().next()
-                        .mServiceInfo.applicationInfo;
-                mDisplayLabel = mPackageInfo.loadLabel(pm);
-                mLabel = mDisplayLabel.toString();
-                return;
-            }
-            
-            // Finally... whatever, just pick the first package's name.
-            try {
-                ApplicationInfo ai = pm.getApplicationInfo(pkgs[0], 0);
-                mDisplayLabel = ai.loadLabel(pm);
-                mLabel = mDisplayLabel.toString();
-                mPackageInfo = ai;
-                return;
-            } catch (PackageManager.NameNotFoundException e) {
-            }
-        }
-        
-        boolean updateService(Context context,
-                ActivityManager.RunningServiceInfo service) {
-            final PackageManager pm = context.getPackageManager();
-            
-            boolean changed = false;
-            ServiceItem si = mServices.get(service.service);
-            if (si == null) {
-                changed = true;
-                si = new ServiceItem();
-                si.mRunningService = service;
-                try {
-                    si.mServiceInfo = pm.getServiceInfo(service.service, 0);
-                } catch (PackageManager.NameNotFoundException e) {
-                }
-                if (si.mServiceInfo != null && (si.mServiceInfo.labelRes != 0
-                        || si.mServiceInfo.nonLocalizedLabel != null)) {
-                    si.mDisplayLabel = si.mServiceInfo.loadLabel(pm);
-                    si.mLabel = si.mDisplayLabel.toString();
-                } else {
-                    si.mLabel = si.mRunningService.service.getClassName();
-                    int tail = si.mLabel.lastIndexOf('.');
-                    if (tail >= 0) {
-                        si.mLabel = si.mLabel.substring(tail+1, si.mLabel.length());
-                    }
-                    si.mDisplayLabel = si.mLabel;
-                }
-                si.mPackageInfo = si.mServiceInfo.applicationInfo;
-                mServices.put(service.service, si);
-            }
-            si.mCurSeq = mCurSeq;
-            si.mRunningService = service;
-            long activeSince = service.restarting == 0 ? service.activeSince : -1;
-            if (si.mActiveSince != activeSince) {
-                si.mActiveSince = activeSince;
-                changed = true;
-            }
-            if (service.clientPackage != null && service.clientLabel != 0) {
-                if (si.mShownAsStarted) {
-                    si.mShownAsStarted = false;
-                    changed = true;
-                }
-                try {
-                    Resources clientr = pm.getResourcesForApplication(service.clientPackage);
-                    String label = clientr.getString(service.clientLabel);
-                    si.mDescription = context.getResources().getString(
-                            R.string.service_client_name, label);
-                } catch (PackageManager.NameNotFoundException e) {
-                    si.mDescription = null;
-                }
-            } else {
-                if (!si.mShownAsStarted) {
-                    si.mShownAsStarted = true;
-                    changed = true;
-                }
-                si.mDescription = context.getResources().getString(
-                        R.string.service_started_by_app);
-            }
-            
-            return changed;
-        }
-        
-        boolean updateSize(Context context, Debug.MemoryInfo mem, int curSeq) {
-            mSize = ((long)mem.getTotalPss()) * 1024;
-            if (mCurSeq == curSeq) {
-                String sizeStr = Formatter.formatShortFileSize(
-                        context, mSize);
-                if (!sizeStr.equals(mSizeStr)){
-                    mSizeStr = sizeStr;
-                    // We update this on the second tick where we update just
-                    // the text in the current items, so no need to say we
-                    // changed here.
-                    return false;
-                }
-            }
-            return false;
-        }
-        
-        boolean buildDependencyChain(Context context, PackageManager pm, int curSeq) {
-            final int NP = mDependentProcesses.size();
-            boolean changed = false;
-            for (int i=0; i<NP; i++) {
-                ProcessItem proc = mDependentProcesses.valueAt(i);
-                if (proc.mClient != this) {
-                    changed = true;
-                    proc.mClient = this;
-                }
-                proc.mCurSeq = curSeq;
-                proc.ensureLabel(pm);
-                changed |= proc.buildDependencyChain(context, pm, curSeq);
-            }
-            
-            if (mLastNumDependentProcesses != mDependentProcesses.size()) {
-                changed = true;
-                mLastNumDependentProcesses = mDependentProcesses.size();
-            }
-            
-            return changed;
-        }
-        
-        void addDependentProcesses(ArrayList<BaseItem> dest,
-                ArrayList<ProcessItem> destProc) {
-            final int NP = mDependentProcesses.size();
-            for (int i=0; i<NP; i++) {
-                ProcessItem proc = mDependentProcesses.valueAt(i);
-                proc.addDependentProcesses(dest, destProc);
-                dest.add(proc);
-                if (proc.mPid > 0) {
-                    destProc.add(proc);
-                }
-            }
-        }
-    }
-    
-    static class ServiceProcessComparator implements Comparator<ProcessItem> {
-        public int compare(ProcessItem object1, ProcessItem object2) {
-            if (object1.mIsStarted != object2.mIsStarted) {
-                // Non-started processes go last.
-                return object1.mIsStarted ? -1 : 1;
-            }
-            if (object1.mIsSystem != object2.mIsSystem) {
-                // System processes go below non-system.
-                return object1.mIsSystem ? 1 : -1;
-            }
-            if (object1.mActiveSince != object2.mActiveSince) {
-                // Remaining ones are sorted with the longest running
-                // services last.
-                return (object1.mActiveSince > object2.mActiveSince) ? -1 : 1;
-            }
-            return 0;
-        }
-    }
-    
-    static class State {
-        final SparseArray<HashMap<String, ProcessItem>> mProcesses
-                = new SparseArray<HashMap<String, ProcessItem>>();
-        final SparseArray<ProcessItem> mActiveProcesses
-                = new SparseArray<ProcessItem>();
-        final ServiceProcessComparator mServiceProcessComparator
-                = new ServiceProcessComparator();
-        
-        // Temporary for finding process dependencies.
-        final SparseArray<ProcessItem> mRunningProcesses
-                = new SparseArray<ProcessItem>();
-        
-        final ArrayList<ProcessItem> mProcessItems = new ArrayList<ProcessItem>();
-        final ArrayList<ProcessItem> mAllProcessItems = new ArrayList<ProcessItem>();
-        
-        int mSequence = 0;
-        
-        // ----- following protected by mLock -----
-        
-        // Lock for protecting the state that will be shared between the
-        // background update thread and the UI thread.
-        final Object mLock = new Object();
-        
-        ArrayList<BaseItem> mItems = new ArrayList<BaseItem>();
-        
-        int mNumBackgroundProcesses;
-        long mBackgroundProcessMemory;
-        int mNumForegroundProcesses;
-        long mForegroundProcessMemory;
-        int mNumServiceProcesses;
-        long mServiceProcessMemory;
-        
-        boolean update(Context context, ActivityManager am) {
-            final PackageManager pm = context.getPackageManager();
-            
-            mSequence++;
-            
-            boolean changed = false;
-            
-            List<ActivityManager.RunningServiceInfo> services 
-                    = am.getRunningServices(MAX_SERVICES);
-            final int NS = services != null ? services.size() : 0;
-            for (int i=0; i<NS; i++) {
-                ActivityManager.RunningServiceInfo si = services.get(i);
-                // We are not interested in services that have not been started
-                // and don't have a known client, because
-                // there is nothing the user can do about them.
-                if (!si.started && si.clientLabel == 0) {
-                    continue;
-                }
-                // We likewise don't care about services running in a
-                // persistent process like the system or phone.
-                if ((si.flags&ActivityManager.RunningServiceInfo.FLAG_PERSISTENT_PROCESS)
-                        != 0) {
-                    continue;
-                }
-                
-                HashMap<String, ProcessItem> procs = mProcesses.get(si.uid);
-                if (procs == null) {
-                    procs = new HashMap<String, ProcessItem>();
-                    mProcesses.put(si.uid, procs);
-                }
-                ProcessItem proc = procs.get(si.process);
-                if (proc == null) {
-                    changed = true;
-                    proc = new ProcessItem(context, si.uid, si.process);
-                    procs.put(si.process, proc);
-                }
-                
-                if (proc.mCurSeq != mSequence) {
-                    int pid = si.restarting == 0 ? si.pid : 0;
-                    if (pid != proc.mPid) {
-                        changed = true;
-                        if (proc.mPid != pid) {
-                            if (proc.mPid != 0) {
-                                mActiveProcesses.remove(proc.mPid);
-                            }
-                            if (pid != 0) {
-                                mActiveProcesses.put(pid, proc);
-                            }
-                            proc.mPid = pid;
-                        }
-                    }
-                    proc.mDependentProcesses.clear();
-                    proc.mCurSeq = mSequence;
-                }
-                changed |= proc.updateService(context, si);
-            }
-            
-            // Now update the map of other processes that are running (but
-            // don't have services actively running inside them).
-            List<ActivityManager.RunningAppProcessInfo> processes
-                    = am.getRunningAppProcesses();
-            final int NP = processes != null ? processes.size() : 0;
-            for (int i=0; i<NP; i++) {
-                ActivityManager.RunningAppProcessInfo pi = processes.get(i);
-                ProcessItem proc = mActiveProcesses.get(pi.pid);
-                if (proc == null) {
-                    // This process is not one that is a direct container
-                    // of a service, so look for it in the secondary
-                    // running list.
-                    proc = mRunningProcesses.get(pi.pid);
-                    if (proc == null) {
-                        proc = new ProcessItem(context, pi.uid, pi.processName);
-                        proc.mPid = pi.pid;
-                        mRunningProcesses.put(pi.pid, proc);
-                    }
-                    proc.mDependentProcesses.clear();
-                }
-                proc.mRunningSeq = mSequence;
-                proc.mRunningProcessInfo = pi;
-            }
-            
-            // Build the chains from client processes to the process they are
-            // dependent on; also remove any old running processes.
-            int NRP = mRunningProcesses.size();
-            for (int i=0; i<NRP; i++) {
-                ProcessItem proc = mRunningProcesses.valueAt(i);
-                if (proc.mRunningSeq == mSequence) {
-                    int clientPid = proc.mRunningProcessInfo.importanceReasonPid;
-                    if (clientPid != 0) {
-                        ProcessItem client = mActiveProcesses.get(clientPid);
-                        if (client == null) {
-                            client = mRunningProcesses.get(clientPid);
-                        }
-                        if (client != null) {
-                            client.mDependentProcesses.put(proc.mPid, proc);
-                        }
-                    } else {
-                        // In this pass the process doesn't have a client.
-                        // Clear to make sure if it later gets the same one
-                        // that we will detect the change.
-                        proc.mClient = null;
-                    }
-                } else {
-                    mRunningProcesses.remove(mRunningProcesses.keyAt(i));
-                }
-            }
-            
-            // Follow the tree from all primary service processes to all
-            // processes they are dependent on, marking these processes as
-            // still being active and determining if anything has changed.
-            final int NAP = mActiveProcesses.size();
-            for (int i=0; i<NAP; i++) {
-                ProcessItem proc = mActiveProcesses.valueAt(i);
-                if (proc.mCurSeq == mSequence) {
-                    changed |= proc.buildDependencyChain(context, pm, mSequence);
-                }
-            }
-            
-            // Look for services and their primary processes that no longer exist...
-            for (int i=0; i<mProcesses.size(); i++) {
-                HashMap<String, ProcessItem> procs = mProcesses.valueAt(i);
-                Iterator<ProcessItem> pit = procs.values().iterator();
-                while (pit.hasNext()) {
-                    ProcessItem pi = pit.next();
-                    if (pi.mCurSeq == mSequence) {
-                        pi.ensureLabel(pm);
-                        if (pi.mPid == 0) {
-                            // Sanity: a non-process can't be dependent on
-                            // anything.
-                            pi.mDependentProcesses.clear();
-                        }
-                    } else {
-                        changed = true;
-                        pit.remove();
-                        if (procs.size() == 0) {
-                            mProcesses.remove(mProcesses.keyAt(i));
-                        }
-                        if (pi.mPid != 0) {
-                            mActiveProcesses.remove(pi.mPid);
-                        }
-                        continue;
-                    }
-                    Iterator<ServiceItem> sit = pi.mServices.values().iterator();
-                    while (sit.hasNext()) {
-                        ServiceItem si = sit.next();
-                        if (si.mCurSeq != mSequence) {
-                            changed = true;
-                            sit.remove();
-                        }
-                    }
-                }
-            }
-            
-            if (changed) {
-                // First determine an order for the services.
-                ArrayList<ProcessItem> sortedProcesses = new ArrayList<ProcessItem>();
-                for (int i=0; i<mProcesses.size(); i++) {
-                    for (ProcessItem pi : mProcesses.valueAt(i).values()) {
-                        pi.mIsSystem = false;
-                        pi.mIsStarted = true;
-                        pi.mActiveSince = Long.MAX_VALUE;
-                        for (ServiceItem si : pi.mServices.values()) {
-                            if (si.mServiceInfo != null
-                                    && (si.mServiceInfo.applicationInfo.flags
-                                            & ApplicationInfo.FLAG_SYSTEM) != 0) {
-                                pi.mIsSystem = true;
-                            }
-                            if (si.mRunningService != null
-                                    && si.mRunningService.clientLabel != 0) {
-                                pi.mIsStarted = false;
-                                if (pi.mActiveSince > si.mRunningService.activeSince) {
-                                    pi.mActiveSince = si.mRunningService.activeSince;
-                                }
-                            }
-                        }
-                        sortedProcesses.add(pi);
-                    }
-                }
-                
-                Collections.sort(sortedProcesses, mServiceProcessComparator);
-                
-                ArrayList<BaseItem> newItems = new ArrayList<BaseItem>();
-                mProcessItems.clear();
-                for (int i=0; i<sortedProcesses.size(); i++) {
-                    ProcessItem pi = sortedProcesses.get(i);
-                    pi.mNeedDivider = false;
-                    // First add processes we are dependent on.
-                    pi.addDependentProcesses(newItems, mProcessItems);
-                    // And add the process itself.
-                    newItems.add(pi);
-                    if (pi.mPid > 0) {
-                        mProcessItems.add(pi);
-                    }
-                    // And finally the services running in it.
-                    boolean needDivider = false;
-                    for (ServiceItem si : pi.mServices.values()) {
-                        si.mNeedDivider = needDivider;
-                        needDivider = true;
-                        newItems.add(si);
-                    }
-                }
-                synchronized (mLock) {
-                    mItems = newItems;
-                }
-            }
-            
-            // Count number of interesting other (non-active) processes, and
-            // build a list of all processes we will retrieve memory for.
-            mAllProcessItems.clear();
-            mAllProcessItems.addAll(mProcessItems);
-            int numBackgroundProcesses = 0;
-            int numForegroundProcesses = 0;
-            int numServiceProcesses = 0;
-            NRP = mRunningProcesses.size();
-            for (int i=0; i<NRP; i++) {
-                ProcessItem proc = mRunningProcesses.valueAt(i);
-                if (proc.mCurSeq != mSequence) {
-                    // We didn't hit this process as a dependency on one
-                    // of our active ones, so add it up if needed.
-                    if (proc.mRunningProcessInfo.importance >=
-                            ActivityManager.RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
-                        numBackgroundProcesses++;
-                        mAllProcessItems.add(proc);
-                    } else if (proc.mRunningProcessInfo.importance <=
-                            ActivityManager.RunningAppProcessInfo.IMPORTANCE_VISIBLE) {
-                        numForegroundProcesses++;
-                        mAllProcessItems.add(proc);
-                    } else {
-                        Log.i(TAG, "Unknown non-service process: "
-                                + proc.mProcessName + " #" + proc.mPid);
-                    }
-                } else {
-                    numServiceProcesses++;
-                }
-            }
-            
-            long backgroundProcessMemory = 0;
-            long foregroundProcessMemory = 0;
-            long serviceProcessMemory = 0;
-            try {
-                final int numProc = mAllProcessItems.size();
-                int[] pids = new int[numProc];
-                for (int i=0; i<numProc; i++) {
-                    pids[i] = mAllProcessItems.get(i).mPid;
-                }
-                Debug.MemoryInfo[] mem = ActivityManagerNative.getDefault()
-                        .getProcessMemoryInfo(pids);
-                for (int i=pids.length-1; i>=0; i--) {
-                    ProcessItem proc = mAllProcessItems.get(i);
-                    changed |= proc.updateSize(context, mem[i], mSequence);
-                    if (proc.mCurSeq == mSequence) {
-                        serviceProcessMemory += proc.mSize;
-                    } else if (proc.mRunningProcessInfo.importance >=
-                            ActivityManager.RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
-                        backgroundProcessMemory += proc.mSize;
-                    } else if (proc.mRunningProcessInfo.importance <=
-                            ActivityManager.RunningAppProcessInfo.IMPORTANCE_VISIBLE) {
-                        foregroundProcessMemory += proc.mSize;
-                    }
-                }
-            } catch (RemoteException e) {
-            }
-            
-            synchronized (mLock) {
-                mNumBackgroundProcesses = numBackgroundProcesses;
-                mNumForegroundProcesses = numForegroundProcesses;
-                mNumServiceProcesses = numServiceProcesses;
-                mBackgroundProcessMemory = backgroundProcessMemory;
-                mForegroundProcessMemory = foregroundProcessMemory;
-                mServiceProcessMemory = serviceProcessMemory;
-            }
-            
-            return changed;
-        }
-        
-        ArrayList<BaseItem> getCurrentItems() {
-            synchronized (mLock) {
-                return mItems;
-            }
-        }
-    }
-    
-    static class TimeTicker extends TextView {
-        public TimeTicker(Context context, AttributeSet attrs) {
-            super(context, attrs);
-        }
-    }
-    
-    static class ViewHolder {
-        ImageView separator;
-        ImageView icon;
-        TextView name;
-        TextView description;
-        TextView size;
-    }
-    
-    class ServiceListAdapter extends BaseAdapter {
-        final State mState;
-        final LayoutInflater mInflater;
-        ArrayList<BaseItem> mItems;
-        
-        ServiceListAdapter(State state) {
-            mState = state;
-            mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-            refreshItems();
-        }
-
-        void refreshItems() {
-            ArrayList<BaseItem> newItems = mState.getCurrentItems();
-            if (mItems != newItems) {
-                mItems = newItems;
-            }
-            if (mItems == null) {
-                mItems = new ArrayList<BaseItem>();
-            }
-        }
-        
-        public boolean hasStableIds() {
-            return true;
-        }
-        
-        public int getCount() {
-            return mItems.size();
-        }
-
-        public Object getItem(int position) {
-            return mItems.get(position);
-        }
-
-        public long getItemId(int position) {
-            return mItems.get(position).hashCode();
-        }
-
-        public boolean areAllItemsEnabled() {
-            return false;
-        }
-
-        public boolean isEnabled(int position) {
-            return !mItems.get(position).mIsProcess;
-        }
-
-        public View getView(int position, View convertView, ViewGroup parent) {
-            View v;
-            if (convertView == null) {
-                v = newView(parent);
-            } else {
-                v = convertView;
-            }
-            bindView(v, position);
-            return v;
-        }
-        
-        public View newView(ViewGroup parent) {
-            View v = mInflater.inflate(R.layout.running_services_item, parent, false);
-            ViewHolder h = new ViewHolder();
-            h.separator = (ImageView)v.findViewById(R.id.separator);
-            h.icon = (ImageView)v.findViewById(R.id.icon);
-            h.name = (TextView)v.findViewById(R.id.name);
-            h.description = (TextView)v.findViewById(R.id.description);
-            h.size = (TextView)v.findViewById(R.id.size);
-            v.setTag(h);
-            return v;
-        }
-        
-        public void bindView(View view, int position) {
-            synchronized (mState.mLock) {
-                ViewHolder vh = (ViewHolder) view.getTag();
-                if (position >= mItems.size()) {
-                    // List must have changed since we last reported its
-                    // size...  ignore here, we will be doing a data changed
-                    // to refresh the entire list.
-                    return;
-                }
-                BaseItem item = mItems.get(position);
-                vh.name.setText(item.mDisplayLabel);
-                vh.separator.setVisibility(item.mNeedDivider
-                        ? View.VISIBLE : View.INVISIBLE);
-                ActiveItem ai = new ActiveItem();
-                ai.mRootView = view;
-                ai.mItem = item;
-                ai.mHolder = vh;
-                ai.mFirstRunTime = item.mActiveSince;
-                vh.description.setText(item.mDescription);
-                if (item.mIsProcess) {
-                    view.setBackgroundColor(mProcessBgColor);
-                    vh.icon.setImageDrawable(null);
-                    vh.icon.setVisibility(View.GONE);
-                    vh.description.setText(item.mDescription);
-                    item.mCurSizeStr = null;
-                } else {
-                    view.setBackgroundDrawable(null);
-                    vh.icon.setImageDrawable(item.mPackageInfo.loadIcon(getPackageManager()));
-                    vh.icon.setVisibility(View.VISIBLE);
-                    vh.description.setText(item.mDescription);
-                    ai.mFirstRunTime = item.mActiveSince;
-                }
-                ai.updateTime(RunningServices.this);
-                mActiveItems.put(view, ai);
-            }
-        }
-    }
-    
-    public static class LinearColorBar extends LinearLayout {
-        private float mRedRatio;
-        private float mYellowRatio;
-        private float mGreenRatio;
-        
-        final Rect mRect = new Rect();
-        final Paint mPaint = new Paint();
-        
-        public LinearColorBar(Context context, AttributeSet attrs) {
-            super(context, attrs);
-            setWillNotDraw(false);
-            mPaint.setStyle(Paint.Style.FILL);
-        }
-
-        public void setRatios(float red, float yellow, float green) {
-            mRedRatio = red;
-            mYellowRatio = yellow;
-            mGreenRatio = green;
-            invalidate();
-        }
-        
-        @Override
-        protected void onDraw(Canvas canvas) {
-            super.onDraw(canvas);
-            
-            int width = getWidth();
-            mRect.top = 0;
-            mRect.bottom = getHeight();
-            
-            int left = 0;
-            
-            int right = left + (int)(width*mRedRatio);
-            if (left < right) {
-                mRect.left = left;
-                mRect.right = right;
-                mPaint.setColor(0xffff8080);
-                canvas.drawRect(mRect, mPaint);
-                width -= (right-left);
-                left = right;
-            }
-            
-            right = left + (int)(width*mYellowRatio);
-            if (left < right) {
-                mRect.left = left;
-                mRect.right = right;
-                mPaint.setColor(0xffffff00);
-                canvas.drawRect(mRect, mPaint);
-                width -= (right-left);
-                left = right;
-            }
-            
-            right = left + width;
-            if (left < right) {
-                mRect.left = left;
-                mRect.right = right;
-                mPaint.setColor(0xff80ff80);
-                canvas.drawRect(mRect, mPaint);
-            }
-        }
-    }
-    
-    HandlerThread mBackgroundThread;
-    final class BackgroundHandler extends Handler {
-        public BackgroundHandler(Looper looper) {
-            super(looper);
-        }
-        
-        @Override
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-                case MSG_UPDATE_CONTENTS:
-                    Message cmd = mHandler.obtainMessage(MSG_REFRESH_UI);
-                    cmd.arg1 = mState.update(RunningServices.this, mAm) ? 1 : 0;
-                    mHandler.sendMessage(cmd);
-                    removeMessages(MSG_UPDATE_CONTENTS);
-                    msg = obtainMessage(MSG_UPDATE_CONTENTS);
-                    sendMessageDelayed(msg, CONTENTS_UPDATE_DELAY);
-                    break;
-            }
-        }
-    };
-    BackgroundHandler mBackgroundHandler;
-    
-    final Handler mHandler = new Handler() {
-        @Override
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-                case MSG_UPDATE_TIMES:
-                    Iterator<ActiveItem> it = mActiveItems.values().iterator();
-                    while (it.hasNext()) {
-                        ActiveItem ai = it.next();
-                        if (ai.mRootView.getWindowToken() == null) {
-                            // Clean out any dead views, just in case.
-                            it.remove();
-                            continue;
-                        }
-                        ai.updateTime(RunningServices.this);
-                    }
-                    removeMessages(MSG_UPDATE_TIMES);
-                    msg = obtainMessage(MSG_UPDATE_TIMES);
-                    sendMessageDelayed(msg, TIME_UPDATE_DELAY);
-                    break;
-                case MSG_REFRESH_UI:
-                    refreshUi(msg.arg1 != 0);
-                    break;
-            }
-        }
-    };
-    
-    private boolean matchText(byte[] buffer, int index, String text) {
-        int N = text.length();
-        if ((index+N) >= buffer.length) {
-            return false;
-        }
-        for (int i=0; i<N; i++) {
-            if (buffer[index+i] != text.charAt(i)) {
-                return false;
-            }
-        }
-        return true;
-    }
-    
-    private long extractMemValue(byte[] buffer, int index) {
-        while (index < buffer.length && buffer[index] != '\n') {
-            if (buffer[index] >= '0' && buffer[index] <= '9') {
-                int start = index;
-                index++;
-                while (index < buffer.length && buffer[index] >= '0'
-                    && buffer[index] <= '9') {
-                    index++;
-                }
-                String str = new String(buffer, start, index-start);
-                return ((long)Integer.parseInt(str)) * 1024;
-            }
-            index++;
-        }
-        return 0;
-    }
-    
-    private long readAvailMem() {
-        try {
-            long memFree = 0;
-            long memCached = 0;
-            FileInputStream is = new FileInputStream("/proc/meminfo");
-            int len = is.read(mBuffer);
-            is.close();
-            final int BUFLEN = mBuffer.length;
-            for (int i=0; i<len && (memFree == 0 || memCached == 0); i++) {
-                if (matchText(mBuffer, i, "MemFree")) {
-                    i += 7;
-                    memFree = extractMemValue(mBuffer, i);
-                } else if (matchText(mBuffer, i, "Cached")) {
-                    i += 6;
-                    memCached = extractMemValue(mBuffer, i);
-                }
-                while (i < BUFLEN && mBuffer[i] != '\n') {
-                    i++;
-                }
-            }
-            return memFree + memCached;
-        } catch (java.io.FileNotFoundException e) {
-        } catch (java.io.IOException e) {
-        }
-        return 0;
-    }
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        mAm = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
-        mState = (State)getLastNonConfigurationInstance();
-        if (mState == null) {
-            mState = new State();
-        }
-        mProcessBgColor = 0xff505050;
-        setContentView(R.layout.running_services);
-        getListView().setDivider(null);
-        getListView().setAdapter(new ServiceListAdapter(mState));
-        mColorBar = (LinearColorBar)findViewById(R.id.color_bar);
-        mBackgroundProcessText = (TextView)findViewById(R.id.backgroundText);
-        mForegroundProcessText = (TextView)findViewById(R.id.foregroundText);
-        
-        // Magic!  Implementation detail!  Don't count on this!
-        SECONDARY_SERVER_MEM =
-            Integer.valueOf(SystemProperties.get("ro.SECONDARY_SERVER_MEM"))*PAGE_SIZE;
-    }
-
-    void refreshUi(boolean dataChanged) {
-        if (dataChanged) {
-            ServiceListAdapter adapter = (ServiceListAdapter)(getListView().getAdapter());
-            adapter.refreshItems();
-            adapter.notifyDataSetChanged();
-        }
-        
-        // This is the amount of available memory until we start killing
-        // background services.
-        long availMem = readAvailMem() - SECONDARY_SERVER_MEM;
-        if (availMem < 0) {
-            availMem = 0;
-        }
-        
-        synchronized (mState.mLock) {
-            if (mLastNumBackgroundProcesses != mState.mNumBackgroundProcesses
-                    || mLastBackgroundProcessMemory != mState.mBackgroundProcessMemory
-                    || mLastAvailMemory != availMem) {
-                mLastNumBackgroundProcesses = mState.mNumBackgroundProcesses;
-                mLastBackgroundProcessMemory = mState.mBackgroundProcessMemory;
-                mLastAvailMemory = availMem;
-                String availStr = availMem != 0
-                        ? Formatter.formatShortFileSize(this, availMem) : "0";
-                String sizeStr = Formatter.formatShortFileSize(this, mLastBackgroundProcessMemory);
-                mBackgroundProcessText.setText(getResources().getString(
-                        R.string.service_background_processes,
-                        mLastNumBackgroundProcesses, availStr, sizeStr));
-            }
-            if (mLastNumForegroundProcesses != mState.mNumForegroundProcesses
-                    || mLastForegroundProcessMemory != mState.mForegroundProcessMemory) {
-                mLastNumForegroundProcesses = mState.mNumForegroundProcesses;
-                mLastForegroundProcessMemory = mState.mForegroundProcessMemory;
-                String sizeStr = Formatter.formatShortFileSize(this, mLastForegroundProcessMemory);
-                mForegroundProcessText.setText(getResources().getString(
-                        R.string.service_foreground_processes, mLastNumForegroundProcesses, sizeStr));
-            }
-            mLastNumServiceProcesses = mState.mNumServiceProcesses;
-            mLastServiceProcessMemory = mState.mServiceProcessMemory;
-            
-            float totalMem = availMem + mLastBackgroundProcessMemory
-                    + mLastForegroundProcessMemory + mLastServiceProcessMemory;
-            mColorBar.setRatios(mLastForegroundProcessMemory/totalMem,
-                    mLastServiceProcessMemory/totalMem,
-                    (availMem+mLastBackgroundProcessMemory)/totalMem);
-        }
-    }
-    
-    @Override
-    protected void onListItemClick(ListView l, View v, int position, long id) {
-        BaseItem bi = (BaseItem)l.getAdapter().getItem(position);
-        if (!bi.mIsProcess) {
-            ServiceItem si = (ServiceItem)bi;
-            if (si.mRunningService.clientLabel != 0) {
-                mCurSelected = null;
-                PendingIntent pi = mAm.getRunningServiceControlPanel(
-                        si.mRunningService.service);
-                if (pi != null) {
-                    try {
-                        this.startIntentSender(pi.getIntentSender(), null,
-                                Intent.FLAG_ACTIVITY_NEW_TASK
-                                        | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET,
-                                Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET, 0);
-                    } catch (IntentSender.SendIntentException e) {
-                        Log.w(TAG, e);
-                    } catch (IllegalArgumentException e) {
-                        Log.w(TAG, e);
-                    } catch (ActivityNotFoundException e) {
-                        Log.w(TAG, e);
-                    }
-                }
-            } else {
-                mCurSelected = bi;
-                AlertDialog.Builder builder = new AlertDialog.Builder(this);
-                builder.setTitle(R.string.confirm_stop_service);
-                String msg = getResources().getString(
-                        R.string.confirm_stop_service_msg,
-                        si.mPackageInfo.loadLabel(getPackageManager()));
-                builder.setMessage(msg);
-                builder.setPositiveButton(R.string.confirm_stop_stop, this);
-                builder.setNegativeButton(R.string.confirm_stop_cancel, null);
-                builder.setCancelable(true);
-                mCurDialog = builder.show();
-            }
-        } else {
-            mCurSelected = null;
-        }
-    }
-
-    public void onClick(DialogInterface dialog, int which) {
-        if (mCurSelected != null) {
-            stopService(new Intent().setComponent(
-                    ((ServiceItem)mCurSelected).mRunningService.service));
-            if (mBackgroundHandler != null) {
-                mBackgroundHandler.sendEmptyMessage(MSG_UPDATE_CONTENTS);
-            }
-        }
-    }
-
-    @Override
-    protected void onPause() {
-        super.onPause();
-        mHandler.removeMessages(MSG_UPDATE_TIMES);
-        if (mBackgroundThread != null) {
-            mBackgroundThread.quit();
-            mBackgroundThread = null;
-            mBackgroundHandler = null;
-        }
-    }
-
-    @Override
-    protected void onResume() {
-        super.onResume();
-        refreshUi(mState.update(this, mAm));
-        mBackgroundThread = new HandlerThread("RunningServices");
-        mBackgroundThread.start();
-        mBackgroundHandler = new BackgroundHandler(mBackgroundThread.getLooper());
-        mHandler.removeMessages(MSG_UPDATE_TIMES);
-        Message msg = mHandler.obtainMessage(MSG_UPDATE_TIMES);
-        mHandler.sendMessageDelayed(msg, TIME_UPDATE_DELAY);
-        mBackgroundHandler.removeMessages(MSG_UPDATE_CONTENTS);
-        msg = mBackgroundHandler.obtainMessage(MSG_UPDATE_CONTENTS);
-        mBackgroundHandler.sendMessageDelayed(msg, CONTENTS_UPDATE_DELAY);
-    }
-
-    @Override
-    public Object onRetainNonConfigurationInstance() {
-        return mState;
-    }
-
-    public void onMovedToScrapHeap(View view) {
-        mActiveItems.remove(view);
-    }
-
-    @Override
-    protected void onDestroy() {
-        super.onDestroy();
-        if (mCurDialog != null) {
-            mCurDialog.dismiss();
-        }
-    }
-}
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index b29db2d..454ea60 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -31,6 +31,7 @@
 import android.database.Cursor;
 import android.location.LocationManager;
 import android.os.Bundle;
+import android.os.SystemProperties;
 import android.preference.CheckBoxPreference;
 import android.preference.Preference;
 import android.preference.PreferenceActivity;
@@ -61,6 +62,10 @@
     private static final String KEY_VISIBLE_PATTERN = "visiblepattern";
     private static final String KEY_TACTILE_FEEDBACK_ENABLED = "unlock_tactile_feedback";
 
+    // Encrypted File Systems constants
+    private static final String PROPERTY_EFS_ENABLED = "persist.security.efs.enabled";
+    private static final String PROPERTY_EFS_TRANSITION = "persist.security.efs.trans";
+
     private CheckBoxPreference mVisiblePattern;
     private CheckBoxPreference mTactileFeedback;
 
@@ -75,6 +80,9 @@
     // Credential storage
     private CredentialStorage mCredentialStorage = new CredentialStorage();
 
+    // Encrypted file system
+    private  CheckBoxPreference mEncryptedFSEnabled;
+
     private CheckBoxPreference mNetwork;
     private CheckBoxPreference mGps;
     private CheckBoxPreference mAssistedGps;
@@ -204,6 +212,11 @@
         root.addPreference(credentialsCat);
         mCredentialStorage.createPreferences(credentialsCat, CredentialStorage.TYPE_KEYSTORE);
 
+        // File System Encryption
+        PreferenceCategory encryptedfsCat = new PreferenceCategory(this);
+        encryptedfsCat.setTitle(R.string.encrypted_fs_category);
+        //root.addPreference(encryptedfsCat);
+        mCredentialStorage.createPreferences(encryptedfsCat, CredentialStorage.TYPE_ENCRYPTEDFS);
         return root;
     }
 
@@ -297,18 +310,21 @@
         private static final int MINIMUM_PASSWORD_LENGTH = 8;
 
         private static final int TYPE_KEYSTORE = 0;
+        private static final int TYPE_ENCRYPTEDFS = 1;
 
         // Dialog identifiers
         private static final int DLG_BASE = 0;
         private static final int DLG_UNLOCK = DLG_BASE + 1;
         private static final int DLG_PASSWORD = DLG_UNLOCK + 1;
         private static final int DLG_RESET = DLG_PASSWORD + 1;
+        private static final int DLG_ENABLE_EFS = DLG_RESET + 1;
 
         private KeyStore mKeyStore = KeyStore.getInstance();
         private int mState;
         private boolean mSubmit = false;
         private boolean mExternal = false;
 
+        private boolean mWillEnableEncryptedFS;
         private int mShowingDialog = 0;
 
         // Key Store controls
@@ -317,6 +333,10 @@
         private Preference mPasswordButton;
         private Preference mResetButton;
 
+
+        // Encrypted file system controls
+        private  CheckBoxPreference mEncryptedFSEnabled;
+
         void resume() {
             mState = mKeyStore.test();
             updatePreferences(mState);
@@ -368,6 +388,10 @@
                     lock();
                 }
                 return true;
+            } else if (preference == mEncryptedFSEnabled) {
+                Boolean bval = (Boolean)value;
+                mWillEnableEncryptedFS = bval.booleanValue();
+                showSwitchEncryptedFSDialog();
             }
             return true;
         }
@@ -386,9 +410,26 @@
         }
 
         public void onClick(DialogInterface dialog, int button) {
-            mSubmit = (button == DialogInterface.BUTTON_POSITIVE);
-            if (button == DialogInterface.BUTTON_NEUTRAL) {
-                reset();
+            if (mShowingDialog != DLG_ENABLE_EFS) {
+                mSubmit = (button == DialogInterface.BUTTON_POSITIVE);
+                if (button == DialogInterface.BUTTON_NEUTRAL) {
+                    reset();
+                }
+            } else {
+                if (button == DialogInterface.BUTTON_POSITIVE) {
+                    Intent intent = new Intent("android.intent.action.MASTER_CLEAR");
+                    intent.putExtra("enableEFS", mWillEnableEncryptedFS);
+                    sendBroadcast(intent);
+                    updatePreferences(mState);
+                } else if (button == DialogInterface.BUTTON_NEGATIVE) {
+                    // Cancel action
+                    Toast.makeText(SecuritySettings.this, R.string.encrypted_fs_cancel_confirm,
+                            Toast.LENGTH_SHORT).show();
+                    updatePreferences(mState);
+                } else {
+                    // Unknown - should not happen
+                    return;
+                }
             }
         }
 
@@ -502,16 +543,25 @@
                 category.addPreference(mResetButton);
                 break;
 
+            case TYPE_ENCRYPTEDFS:
+                mEncryptedFSEnabled = new CheckBoxPreference(SecuritySettings.this);
+                mEncryptedFSEnabled.setTitle(R.string.encrypted_fs_enable);
+                mEncryptedFSEnabled.setSummary(R.string.encrypted_fs_enable_summary);
+                mEncryptedFSEnabled.setOnPreferenceChangeListener(this);
+                // category.addPreference(mEncryptedFSEnabled);
+                break;
             }
         }
 
         private void updatePreferences(int state) {
             mAccessCheckBox.setChecked(state == KeyStore.NO_ERROR);
-
-            mResetButton.setEnabled(state != KeyStore.UNINITIALIZED);
-            mAccessCheckBox.setEnabled(state != KeyStore.UNINITIALIZED);
+            boolean encFSEnabled = SystemProperties.getBoolean(PROPERTY_EFS_ENABLED,
+                    false);
+            mResetButton.setEnabled((!encFSEnabled) && (state != KeyStore.UNINITIALIZED));
+            mAccessCheckBox.setEnabled((state != KeyStore.UNINITIALIZED) && (!encFSEnabled));
 
             // Encrypted File system preferences
+            mEncryptedFSEnabled.setChecked(encFSEnabled);
 
             // Show a toast message if the state is changed.
             if (mState == state) {
@@ -581,5 +631,24 @@
                     .setNegativeButton(getString(android.R.string.cancel), this)
                     .create().show();
         }
+
+        private void showSwitchEncryptedFSDialog() {
+            AlertDialog.Builder builder = new AlertDialog.Builder(SecuritySettings.this)
+                    .setCancelable(false)
+                    .setTitle(R.string.encrypted_fs_alert_dialog_title);
+
+            mShowingDialog = DLG_ENABLE_EFS;
+            if (mWillEnableEncryptedFS) {
+                 builder.setMessage(R.string.encrypted_fs_enable_dialog)
+                         .setPositiveButton(R.string.encrypted_fs_enable_button, this)
+                         .setNegativeButton(R.string.encrypted_fs_cancel_button, this)
+                         .create().show();
+            } else {
+                builder.setMessage(R.string.encrypted_fs_disable_dialog)
+                        .setPositiveButton(R.string.encrypted_fs_disable_button, this)
+                        .setNegativeButton(R.string.encrypted_fs_cancel_button, this)
+                        .create().show();
+            }
+        }
     }
 }
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index a2816f8..d924834 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -16,6 +16,7 @@
 
 package com.android.settings;
 
+import android.net.sip.SipManager;
 import android.os.Bundle;
 import android.preference.Preference;
 import android.preference.PreferenceActivity;
@@ -26,7 +27,6 @@
     private static final String KEY_PARENT = "parent";
     private static final String KEY_CALL_SETTINGS = "call_settings";
     private static final String KEY_SYNC_SETTINGS = "sync_settings";
-    private static final String KEY_SEARCH_SETTINGS = "search_settings";
     private static final String KEY_DOCK_SETTINGS = "dock_settings";
     
     private static final String KEY_OPERATOR_SETTINGS = "operator_settings";
@@ -40,7 +40,6 @@
 
         PreferenceGroup parent = (PreferenceGroup) findPreference(KEY_PARENT);
         Utils.updatePreferenceToSpecificActivityOrRemove(this, parent, KEY_SYNC_SETTINGS, 0);
-        Utils.updatePreferenceToSpecificActivityOrRemove(this, parent, KEY_SEARCH_SETTINGS, 0);
 
         Preference dockSettings = parent.findPreference(KEY_DOCK_SETTINGS);
         if (getResources().getBoolean(R.bool.has_dock_settings) == false && dockSettings != null) {
@@ -56,7 +55,9 @@
     @Override
     protected void onResume() {
         super.onResume();
-        findPreference(KEY_CALL_SETTINGS).setEnabled(!AirplaneModeEnabler.isAirplaneModeOn(this));
+        findPreference(KEY_CALL_SETTINGS).setEnabled(
+                !AirplaneModeEnabler.isAirplaneModeOn(this)
+                || SipManager.isVoipSupported(this));
     }
 
 }
diff --git a/src/com/android/settings/WirelessSettings.java b/src/com/android/settings/WirelessSettings.java
index 78cf8cf..85cd546 100644
--- a/src/com/android/settings/WirelessSettings.java
+++ b/src/com/android/settings/WirelessSettings.java
@@ -20,7 +20,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.net.ConnectivityManager;
-import android.net.wifi.WifiManager;
+import android.nfc.NfcAdapter;
 import android.os.Bundle;
 import android.os.ServiceManager;
 import android.os.SystemProperties;
@@ -29,28 +29,30 @@
 import android.preference.PreferenceActivity;
 import android.preference.PreferenceScreen;
 import android.provider.Settings;
-import android.util.Log;
-
 import com.android.internal.telephony.TelephonyIntents;
 import com.android.internal.telephony.TelephonyProperties;
 import com.android.settings.bluetooth.BluetoothEnabler;
 import com.android.settings.wifi.WifiEnabler;
+import com.android.settings.nfc.NfcEnabler;
 
 public class WirelessSettings extends PreferenceActivity {
 
     private static final String KEY_TOGGLE_AIRPLANE = "toggle_airplane";
     private static final String KEY_TOGGLE_BLUETOOTH = "toggle_bluetooth";
     private static final String KEY_TOGGLE_WIFI = "toggle_wifi";
+    private static final String KEY_TOGGLE_NFC = "toggle_nfc";
     private static final String KEY_WIFI_SETTINGS = "wifi_settings";
     private static final String KEY_BT_SETTINGS = "bt_settings";
     private static final String KEY_VPN_SETTINGS = "vpn_settings";
     private static final String KEY_TETHER_SETTINGS = "tether_settings";
+
     public static final String EXIT_ECM_RESULT = "exit_ecm_result";
     public static final int REQUEST_CODE_EXIT_ECM = 1;
 
     private AirplaneModeEnabler mAirplaneModeEnabler;
     private CheckBoxPreference mAirplaneModePreference;
     private WifiEnabler mWifiEnabler;
+    private NfcEnabler mNfcEnabler;
     private BluetoothEnabler mBtEnabler;
 
     /**
@@ -91,11 +93,13 @@
         CheckBoxPreference airplane = (CheckBoxPreference) findPreference(KEY_TOGGLE_AIRPLANE);
         CheckBoxPreference wifi = (CheckBoxPreference) findPreference(KEY_TOGGLE_WIFI);
         CheckBoxPreference bt = (CheckBoxPreference) findPreference(KEY_TOGGLE_BLUETOOTH);
+        CheckBoxPreference nfc = (CheckBoxPreference) findPreference(KEY_TOGGLE_NFC);
 
         mAirplaneModeEnabler = new AirplaneModeEnabler(this, airplane);
         mAirplaneModePreference = (CheckBoxPreference) findPreference(KEY_TOGGLE_AIRPLANE);
         mWifiEnabler = new WifiEnabler(this, wifi);
         mBtEnabler = new BluetoothEnabler(this, bt);
+        mNfcEnabler = new NfcEnabler(this, nfc);
 
         String toggleable = Settings.System.getString(getContentResolver(),
                 Settings.System.AIRPLANE_MODE_TOGGLEABLE_RADIOS);
@@ -113,9 +117,14 @@
             findPreference(KEY_BT_SETTINGS).setDependency(KEY_TOGGLE_AIRPLANE);
         }
 
-        // Disable Bluetooth Settings if Bluetooth service is not available.
+        // Remove Bluetooth Settings if Bluetooth service is not available.
         if (ServiceManager.getService(BluetoothAdapter.BLUETOOTH_SERVICE) == null) {
-            findPreference(KEY_BT_SETTINGS).setEnabled(false);
+            getPreferenceScreen().removePreference(bt);
+        }
+
+        // Remove NFC if its not available
+        if (NfcAdapter.getDefaultAdapter() == null) {
+            getPreferenceScreen().removePreference(nfc);
         }
 
         // Disable Tethering if it's not allowed
@@ -145,21 +154,23 @@
     @Override
     protected void onResume() {
         super.onResume();
-        
+
         mAirplaneModeEnabler.resume();
         mWifiEnabler.resume();
         mBtEnabler.resume();
+        mNfcEnabler.resume();
     }
-    
+
     @Override
     protected void onPause() {
         super.onPause();
-        
+
         mAirplaneModeEnabler.pause();
         mWifiEnabler.pause();
         mBtEnabler.pause();
+        mNfcEnabler.pause();
     }
-    
+
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         if (requestCode == REQUEST_CODE_EXIT_ECM) {
diff --git a/src/com/android/settings/applications/ApplicationsState.java b/src/com/android/settings/applications/ApplicationsState.java
new file mode 100644
index 0000000..6e9f2a2
--- /dev/null
+++ b/src/com/android/settings/applications/ApplicationsState.java
@@ -0,0 +1,807 @@
+package com.android.settings.applications;
+
+import android.app.Application;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.IPackageStatsObserver;
+import android.content.pm.PackageManager;
+import android.content.pm.PackageStats;
+import android.content.pm.PackageManager.NameNotFoundException;
+import android.graphics.drawable.Drawable;
+import android.net.Uri;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Looper;
+import android.os.Message;
+import android.os.Process;
+import android.os.SystemClock;
+import android.text.format.Formatter;
+import android.util.Log;
+
+import java.io.File;
+import java.text.Collator;
+import java.text.Normalizer;
+import java.text.Normalizer.Form;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.regex.Pattern;
+
+/**
+ * Keeps track of information about all installed applications, lazy-loading
+ * as needed.
+ */
+public class ApplicationsState {
+    static final String TAG = "ApplicationsState";
+    static final boolean DEBUG = false;
+    static final boolean DEBUG_LOCKING = false;
+
+    public static interface Callbacks {
+        public void onRunningStateChanged(boolean running);
+        public void onPackageListChanged();
+        public void onRebuildComplete(ArrayList<AppEntry> apps);
+        public void onPackageIconChanged();
+        public void onPackageSizeChanged(String packageName);
+        public void onAllSizesComputed();
+    }
+
+    public static interface AppFilter {
+        public void init();
+        public boolean filterApp(ApplicationInfo info);
+    }
+
+    static final int SIZE_UNKNOWN = -1;
+    static final int SIZE_INVALID = -2;
+
+    static final Pattern REMOVE_DIACRITICALS_PATTERN
+            = Pattern.compile("\\p{InCombiningDiacriticalMarks}+");
+
+    public static String normalize(String str) {
+        String tmp = Normalizer.normalize(str, Form.NFD);
+        return REMOVE_DIACRITICALS_PATTERN.matcher(tmp)
+                .replaceAll("").toLowerCase();
+    }
+
+    public static class SizeInfo {
+        long cacheSize;
+        long codeSize;
+        long dataSize;
+    }
+    
+    public static class AppEntry extends SizeInfo {
+        final File apkFile;
+        final long id;
+        String label;
+        long size;
+
+        boolean mounted;
+        
+        String getNormalizedLabel() {
+            if (normalizedLabel != null) {
+                return normalizedLabel;
+            }
+            normalizedLabel = normalize(label);
+            return normalizedLabel;
+        }
+
+        // Need to synchronize on 'this' for the following.
+        ApplicationInfo info;
+        Drawable icon;
+        String sizeStr;
+        boolean sizeStale;
+        long sizeLoadStart;
+
+        String normalizedLabel;
+
+        AppEntry(Context context, ApplicationInfo info, long id) {
+            apkFile = new File(info.sourceDir);
+            this.id = id;
+            this.info = info;
+            this.size = SIZE_UNKNOWN;
+            this.sizeStale = true;
+            ensureLabel(context);
+        }
+        
+        void ensureLabel(Context context) {
+            if (this.label == null || !this.mounted) {
+                if (!this.apkFile.exists()) {
+                    this.mounted = false;
+                    this.label = info.packageName;
+                } else {
+                    this.mounted = true;
+                    CharSequence label = info.loadLabel(context.getPackageManager());
+                    this.label = label != null ? label.toString() : info.packageName;
+                }
+            }
+        }
+        
+        boolean ensureIconLocked(Context context, PackageManager pm) {
+            if (this.icon == null) {
+                if (this.apkFile.exists()) {
+                    this.icon = this.info.loadIcon(pm);
+                    return true;
+                } else {
+                    this.mounted = false;
+                    this.icon = context.getResources().getDrawable(
+                            com.android.internal.R.drawable.sym_app_on_sd_unavailable_icon);
+                }
+            } else if (!this.mounted) {
+                // If the app wasn't mounted but is now mounted, reload
+                // its icon.
+                if (this.apkFile.exists()) {
+                    this.mounted = true;
+                    this.icon = this.info.loadIcon(pm);
+                    return true;
+                }
+            }
+            return false;
+        }
+    }
+
+    public static final Comparator<AppEntry> ALPHA_COMPARATOR = new Comparator<AppEntry>() {
+        private final Collator sCollator = Collator.getInstance();
+        @Override
+        public int compare(AppEntry object1, AppEntry object2) {
+            return sCollator.compare(object1.label, object2.label);
+        }
+    };
+
+    public static final Comparator<AppEntry> SIZE_COMPARATOR = new Comparator<AppEntry>() {
+        private final Collator sCollator = Collator.getInstance();
+        @Override
+        public int compare(AppEntry object1, AppEntry object2) {
+            if (object1.size < object2.size) return 1;
+            if (object1.size > object2.size) return -1;
+            return sCollator.compare(object1.label, object2.label);
+        }
+    };
+
+    public static final AppFilter THIRD_PARTY_FILTER = new AppFilter() {
+        public void init() {
+        }
+        
+        @Override
+        public boolean filterApp(ApplicationInfo info) {
+            if ((info.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) {
+                return true;
+            } else if ((info.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
+                return true;
+            }
+            return false;
+        }
+    };
+
+    public static final AppFilter ON_SD_CARD_FILTER = new AppFilter() {
+        final CanBeOnSdCardChecker mCanBeOnSdCardChecker
+                = new CanBeOnSdCardChecker();
+        
+        public void init() {
+            mCanBeOnSdCardChecker.init();
+        }
+        
+        @Override
+        public boolean filterApp(ApplicationInfo info) {
+            return mCanBeOnSdCardChecker.check(info);
+        }
+    };
+
+    final Context mContext;
+    final PackageManager mPm;
+    PackageIntentReceiver mPackageIntentReceiver;
+
+    boolean mResumed;
+    Callbacks mCurCallbacks;
+
+    // Information about all applications.  Synchronize on mAppEntries
+    // to protect access to these.
+    final HashMap<String, AppEntry> mEntriesMap = new HashMap<String, AppEntry>();
+    final ArrayList<AppEntry> mAppEntries = new ArrayList<AppEntry>();
+    List<ApplicationInfo> mApplications = new ArrayList<ApplicationInfo>();
+    long mCurId = 1;
+    String mCurComputingSizePkg;
+
+    // Rebuilding of app list.  Synchronized on mRebuildSync.
+    final Object mRebuildSync = new Object();
+    boolean mRebuildRequested;
+    boolean mRebuildAsync;
+    AppFilter mRebuildFilter;
+    Comparator<AppEntry> mRebuildComparator;
+    ArrayList<AppEntry> mRebuildResult;
+
+    /**
+     * Receives notifications when applications are added/removed.
+     */
+    private class PackageIntentReceiver extends BroadcastReceiver {
+         void registerReceiver() {
+             IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_ADDED);
+             filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
+             filter.addAction(Intent.ACTION_PACKAGE_CHANGED);
+             filter.addDataScheme("package");
+             mContext.registerReceiver(this, filter);
+             // Register for events related to sdcard installation.
+             IntentFilter sdFilter = new IntentFilter();
+             sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE);
+             sdFilter.addAction(Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE);
+             mContext.registerReceiver(this, sdFilter);
+         }
+         @Override
+         public void onReceive(Context context, Intent intent) {
+             String actionStr = intent.getAction();
+             if (Intent.ACTION_PACKAGE_ADDED.equals(actionStr)) {
+                 Uri data = intent.getData();
+                 String pkgName = data.getEncodedSchemeSpecificPart();
+                 addPackage(pkgName);
+             } else if (Intent.ACTION_PACKAGE_REMOVED.equals(actionStr)) {
+                 Uri data = intent.getData();
+                 String pkgName = data.getEncodedSchemeSpecificPart();
+                 removePackage(pkgName);
+             } else if (Intent.ACTION_PACKAGE_CHANGED.equals(actionStr)) {
+                 Uri data = intent.getData();
+                 String pkgName = data.getEncodedSchemeSpecificPart();
+                 removePackage(pkgName);
+                 addPackage(pkgName);
+             } else if (Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE.equals(actionStr) ||
+                     Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE.equals(actionStr)) {
+                 // When applications become available or unavailable (perhaps because
+                 // the SD card was inserted or ejected) we need to refresh the
+                 // AppInfo with new label, icon and size information as appropriate
+                 // given the newfound (un)availability of the application.
+                 // A simple way to do that is to treat the refresh as a package
+                 // removal followed by a package addition.
+                 String pkgList[] = intent.getStringArrayExtra(Intent.EXTRA_CHANGED_PACKAGE_LIST);
+                 if (pkgList == null || pkgList.length == 0) {
+                     // Ignore
+                     return;
+                 }
+                 boolean avail = Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE.equals(actionStr);
+                 if (avail) {
+                     for (String pkgName : pkgList) {
+                         removePackage(pkgName);
+                         addPackage(pkgName);
+                     }
+                 }
+             }
+         }
+    }
+
+    class MainHandler extends Handler {
+        static final int MSG_REBUILD_COMPLETE = 1;
+        static final int MSG_PACKAGE_LIST_CHANGED = 2;
+        static final int MSG_PACKAGE_ICON_CHANGED = 3;
+        static final int MSG_PACKAGE_SIZE_CHANGED = 4;
+        static final int MSG_ALL_SIZES_COMPUTED = 5;
+        static final int MSG_RUNNING_STATE_CHANGED = 6;
+
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what) {
+                case MSG_REBUILD_COMPLETE: {
+                    if (mCurCallbacks != null) {
+                        mCurCallbacks.onRebuildComplete((ArrayList<AppEntry>)msg.obj);
+                    }
+                } break;
+                case MSG_PACKAGE_LIST_CHANGED: {
+                    if (mCurCallbacks != null) {
+                        mCurCallbacks.onPackageListChanged();
+                    }
+                } break;
+                case MSG_PACKAGE_ICON_CHANGED: {
+                    if (mCurCallbacks != null) {
+                        mCurCallbacks.onPackageIconChanged();
+                    }
+                } break;
+                case MSG_PACKAGE_SIZE_CHANGED: {
+                    if (mCurCallbacks != null) {
+                        mCurCallbacks.onPackageSizeChanged((String)msg.obj);
+                    }
+                } break;
+                case MSG_ALL_SIZES_COMPUTED: {
+                    if (mCurCallbacks != null) {
+                        mCurCallbacks.onAllSizesComputed();
+                    }
+                } break;
+                case MSG_RUNNING_STATE_CHANGED: {
+                    if (mCurCallbacks != null) {
+                        mCurCallbacks.onRunningStateChanged(msg.arg1 != 0);
+                    }
+                } break;
+            }
+        }
+    }
+
+    final MainHandler mMainHandler = new MainHandler();
+
+    // --------------------------------------------------------------
+
+    static final Object sLock = new Object();
+    static ApplicationsState sInstance;
+
+    static ApplicationsState getInstance(Application app) {
+        synchronized (sLock) {
+            if (sInstance == null) {
+                sInstance = new ApplicationsState(app);
+            }
+            return sInstance;
+        }
+    }
+
+    private ApplicationsState(Application app) {
+        mContext = app;
+        mPm = mContext.getPackageManager();
+        mThread = new HandlerThread("ApplicationsState.Loader",
+                Process.THREAD_PRIORITY_BACKGROUND);
+        mThread.start();
+        mBackgroundHandler = new BackgroundHandler(mThread.getLooper());
+        
+        /**
+         * This is a trick to prevent the foreground thread from being delayed.
+         * The problem is that Dalvik monitors are initially spin locks, to keep
+         * them lightweight.  This leads to unfair contention -- Even though the
+         * background thread only holds the lock for a short amount of time, if
+         * it keeps running and locking again it can prevent the main thread from
+         * acquiring its lock for a long time...  sometimes even > 5 seconds
+         * (leading to an ANR).
+         * 
+         * Dalvik will promote a monitor to a "real" lock if it detects enough
+         * contention on it.  It doesn't figure this out fast enough for us
+         * here, though, so this little trick will force it to turn into a real
+         * lock immediately.
+         */
+        synchronized (mEntriesMap) {
+            try {
+                mEntriesMap.wait(1);
+            } catch (InterruptedException e) {
+            }
+        }
+    }
+
+    void resume(Callbacks callbacks) {
+        if (DEBUG_LOCKING) Log.v(TAG, "resume about to acquire lock...");
+        synchronized (mEntriesMap) {
+            mCurCallbacks = callbacks;
+            mResumed = true;
+            if (mPackageIntentReceiver == null) {
+                mPackageIntentReceiver = new PackageIntentReceiver();
+                mPackageIntentReceiver.registerReceiver();
+            }
+            mApplications = mPm.getInstalledApplications(
+                    PackageManager.GET_UNINSTALLED_PACKAGES |
+                    PackageManager.GET_DISABLED_COMPONENTS);
+            if (mApplications == null) {
+                mApplications = new ArrayList<ApplicationInfo>();
+            }
+            for (int i=0; i<mAppEntries.size(); i++) {
+                mAppEntries.get(i).sizeStale = true;
+            }
+            for (int i=0; i<mApplications.size(); i++) {
+                final ApplicationInfo info = mApplications.get(i);
+                final AppEntry entry = mEntriesMap.get(info.packageName);
+                if (entry != null) {
+                    entry.info = info;
+                }
+            }
+            mCurComputingSizePkg = null;
+            if (!mBackgroundHandler.hasMessages(BackgroundHandler.MSG_LOAD_ENTRIES)) {
+                mBackgroundHandler.sendEmptyMessage(BackgroundHandler.MSG_LOAD_ENTRIES);
+            }
+            if (DEBUG_LOCKING) Log.v(TAG, "...resume releasing lock");
+        }
+    }
+
+    void pause() {
+        if (DEBUG_LOCKING) Log.v(TAG, "pause about to acquire lock...");
+        synchronized (mEntriesMap) {
+            mCurCallbacks = null;
+            mResumed = false;
+            if (DEBUG_LOCKING) Log.v(TAG, "...pause releasing lock");
+        }
+    }
+
+    // Creates a new list of app entries with the given filter and comparator.
+    ArrayList<AppEntry> rebuild(AppFilter filter, Comparator<AppEntry> comparator) {
+        synchronized (mRebuildSync) {
+            mRebuildRequested = true;
+            mRebuildAsync = false;
+            mRebuildFilter = filter;
+            mRebuildComparator = comparator;
+            mRebuildResult = null;
+            if (!mBackgroundHandler.hasMessages(BackgroundHandler.MSG_REBUILD_LIST)) {
+                mBackgroundHandler.sendEmptyMessage(BackgroundHandler.MSG_REBUILD_LIST);
+            }
+
+            // We will wait for .25s for the list to be built.
+            long waitend = SystemClock.uptimeMillis()+250;
+
+            while (mRebuildResult == null) {
+                long now = SystemClock.uptimeMillis();
+                if (now >= waitend) {
+                    break;
+                }
+                try {
+                    mRebuildSync.wait(waitend - now);
+                } catch (InterruptedException e) {
+                }
+            }
+
+            mRebuildAsync = true;
+
+            return mRebuildResult;
+        }
+    }
+
+    void handleRebuildList() {
+        AppFilter filter;
+        Comparator<AppEntry> comparator;
+        synchronized (mRebuildSync) {
+            if (!mRebuildRequested) {
+                return;
+            }
+
+            filter = mRebuildFilter;
+            comparator = mRebuildComparator;
+            mRebuildRequested = false;
+            mRebuildFilter = null;
+            mRebuildComparator = null;
+        }
+
+        Process.setThreadPriority(Process.THREAD_PRIORITY_FOREGROUND);
+
+        if (filter != null) {
+            filter.init();
+        }
+        
+        List<ApplicationInfo> apps;
+        synchronized (mEntriesMap) {
+            apps = new ArrayList<ApplicationInfo>(mApplications);
+        }
+
+        ArrayList<AppEntry> filteredApps = new ArrayList<AppEntry>();
+        if (DEBUG) Log.i(TAG, "Rebuilding...");
+        for (int i=0; i<apps.size(); i++) {
+            ApplicationInfo info = apps.get(i);
+            if (filter == null || filter.filterApp(info)) {
+                synchronized (mEntriesMap) {
+                    if (DEBUG_LOCKING) Log.v(TAG, "rebuild acquired lock");
+                    AppEntry entry = getEntryLocked(info);
+                    entry.ensureLabel(mContext);
+                    if (DEBUG) Log.i(TAG, "Using " + info.packageName + ": " + entry);
+                    filteredApps.add(entry);
+                    if (DEBUG_LOCKING) Log.v(TAG, "rebuild releasing lock");
+                }
+            }
+        }
+
+        Collections.sort(filteredApps, comparator);
+
+        synchronized (mRebuildSync) {
+            if (!mRebuildRequested) {
+                if (!mRebuildAsync) {
+                    mRebuildResult = filteredApps;
+                    mRebuildSync.notifyAll();
+                } else {
+                    if (!mMainHandler.hasMessages(MainHandler.MSG_REBUILD_COMPLETE)) {
+                        Message msg = mMainHandler.obtainMessage(
+                                MainHandler.MSG_REBUILD_COMPLETE, filteredApps);
+                        mMainHandler.sendMessage(msg);
+                    }
+                }
+            }
+        }
+
+        Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
+    }
+
+    AppEntry getEntry(String packageName) {
+        if (DEBUG_LOCKING) Log.v(TAG, "getEntry about to acquire lock...");
+        synchronized (mEntriesMap) {
+            AppEntry entry = mEntriesMap.get(packageName);
+            if (entry == null) {
+                for (int i=0; i<mApplications.size(); i++) {
+                    ApplicationInfo info = mApplications.get(i);
+                    if (packageName.equals(info.packageName)) {
+                        entry = getEntryLocked(info);
+                        break;
+                    }
+                }
+            }
+            if (DEBUG_LOCKING) Log.v(TAG, "...getEntry releasing lock");
+            return entry;
+        }
+    }
+    
+    void ensureIcon(AppEntry entry) {
+        if (entry.icon != null) {
+            return;
+        }
+        synchronized (entry) {
+            entry.ensureIconLocked(mContext, mPm);
+        }
+    }
+    
+    void requestSize(String packageName) {
+        if (DEBUG_LOCKING) Log.v(TAG, "requestSize about to acquire lock...");
+        synchronized (mEntriesMap) {
+            AppEntry entry = mEntriesMap.get(packageName);
+            if (entry != null) {
+                mPm.getPackageSizeInfo(packageName, mBackgroundHandler.mStatsObserver);
+            }
+            if (DEBUG_LOCKING) Log.v(TAG, "...requestSize releasing lock");
+        }
+    }
+
+    long sumCacheSizes() {
+        long sum = 0;
+        if (DEBUG_LOCKING) Log.v(TAG, "sumCacheSizes about to acquire lock...");
+        synchronized (mEntriesMap) {
+            if (DEBUG_LOCKING) Log.v(TAG, "-> sumCacheSizes now has lock");
+            for (int i=mAppEntries.size()-1; i>=0; i--) {
+                sum += mAppEntries.get(i).cacheSize;
+            }
+            if (DEBUG_LOCKING) Log.v(TAG, "...sumCacheSizes releasing lock");
+        }
+        return sum;
+    }
+    
+    int indexOfApplicationInfoLocked(String pkgName) {
+        for (int i=mApplications.size()-1; i>=0; i--) {
+            if (mApplications.get(i).packageName.equals(pkgName)) {
+                return i;
+            }
+        }
+        return -1;
+    }
+
+    void addPackage(String pkgName) {
+        try {
+            synchronized (mEntriesMap) {
+                if (DEBUG_LOCKING) Log.v(TAG, "addPackage acquired lock");
+                if (DEBUG) Log.i(TAG, "Adding package " + pkgName);
+                if (!mResumed) {
+                    // If we are not resumed, we will do a full query the
+                    // next time we resume, so there is no reason to do work
+                    // here.
+                    if (DEBUG_LOCKING) Log.v(TAG, "addPackage release lock: not resumed");
+                    return;
+                }
+                if (indexOfApplicationInfoLocked(pkgName) >= 0) {
+                    if (DEBUG) Log.i(TAG, "Package already exists!");
+                    if (DEBUG_LOCKING) Log.v(TAG, "addPackage release lock: already exists");
+                    return;
+                }
+                ApplicationInfo info = mPm.getApplicationInfo(pkgName,
+                        PackageManager.GET_UNINSTALLED_PACKAGES |
+                        PackageManager.GET_DISABLED_COMPONENTS);
+                mApplications.add(info);
+                if (!mBackgroundHandler.hasMessages(BackgroundHandler.MSG_LOAD_ENTRIES)) {
+                    mBackgroundHandler.sendEmptyMessage(BackgroundHandler.MSG_LOAD_ENTRIES);
+                }
+                if (!mMainHandler.hasMessages(MainHandler.MSG_PACKAGE_LIST_CHANGED)) {
+                    mMainHandler.sendEmptyMessage(MainHandler.MSG_PACKAGE_LIST_CHANGED);
+                }
+                if (DEBUG_LOCKING) Log.v(TAG, "addPackage releasing lock");
+            }
+        } catch (NameNotFoundException e) {
+        }
+    }
+
+    void removePackage(String pkgName) {
+        synchronized (mEntriesMap) {
+            if (DEBUG_LOCKING) Log.v(TAG, "removePackage acquired lock");
+            int idx = indexOfApplicationInfoLocked(pkgName);
+            if (DEBUG) Log.i(TAG, "removePackage: " + pkgName + " @ " + idx);
+            if (idx >= 0) {
+                AppEntry entry = mEntriesMap.get(pkgName);
+                if (DEBUG) Log.i(TAG, "removePackage: " + entry);
+                if (entry != null) {
+                    mEntriesMap.remove(pkgName);
+                    mAppEntries.remove(entry);
+                }
+                mApplications.remove(idx);
+                if (!mMainHandler.hasMessages(MainHandler.MSG_PACKAGE_LIST_CHANGED)) {
+                    mMainHandler.sendEmptyMessage(MainHandler.MSG_PACKAGE_LIST_CHANGED);
+                }
+            }
+            if (DEBUG_LOCKING) Log.v(TAG, "removePackage releasing lock");
+        }
+    }
+
+    AppEntry getEntryLocked(ApplicationInfo info) {
+        AppEntry entry = mEntriesMap.get(info.packageName);
+        if (DEBUG) Log.i(TAG, "Looking up entry of pkg " + info.packageName + ": " + entry);
+        if (entry == null) {
+            if (DEBUG) Log.i(TAG, "Creating AppEntry for " + info.packageName);
+            entry = new AppEntry(mContext, info, mCurId++);
+            mEntriesMap.put(info.packageName, entry);
+            mAppEntries.add(entry);
+        } else if (entry.info != info) {
+            entry.info = info;
+        }
+        return entry;
+    }
+
+    // --------------------------------------------------------------
+
+    private long getTotalSize(PackageStats ps) {
+        if (ps != null) {
+            return ps.codeSize+ps.dataSize;
+        }
+        return SIZE_INVALID;
+    }
+
+    private String getSizeStr(long size) {
+        if (size >= 0) {
+            return Formatter.formatFileSize(mContext, size);
+        }
+        return null;
+    }
+
+    final HandlerThread mThread;
+    final BackgroundHandler mBackgroundHandler;
+    class BackgroundHandler extends Handler {
+        static final int MSG_REBUILD_LIST = 1;
+        static final int MSG_LOAD_ENTRIES = 2;
+        static final int MSG_LOAD_ICONS = 3;
+        static final int MSG_LOAD_SIZES = 4;
+
+        boolean mRunning;
+
+        final IPackageStatsObserver.Stub mStatsObserver = new IPackageStatsObserver.Stub() {
+            public void onGetStatsCompleted(PackageStats stats, boolean succeeded) {
+                boolean sizeChanged = false;
+                synchronized (mEntriesMap) {
+                    if (DEBUG_LOCKING) Log.v(TAG, "onGetStatsCompleted acquired lock");
+                    AppEntry entry = mEntriesMap.get(stats.packageName);
+                    if (entry != null) {
+                        synchronized (entry) {
+                            entry.sizeStale = false;
+                            entry.sizeLoadStart = 0;
+                            long newSize = getTotalSize(stats);
+                            if (entry.size != newSize ||
+                                    entry.cacheSize != stats.cacheSize ||
+                                    entry.codeSize != stats.codeSize ||
+                                    entry.dataSize != stats.dataSize) {
+                                entry.size = newSize;
+                                entry.cacheSize = stats.cacheSize;
+                                entry.codeSize = stats.codeSize;
+                                entry.dataSize = stats.dataSize;
+                                entry.sizeStr = getSizeStr(entry.size);
+                                if (DEBUG) Log.i(TAG, "Set size of " + entry.label + " " + entry
+                                        + ": " + entry.sizeStr);
+                                sizeChanged = true;
+                            }
+                        }
+                        if (sizeChanged) {
+                            Message msg = mMainHandler.obtainMessage(
+                                    MainHandler.MSG_PACKAGE_SIZE_CHANGED, stats.packageName);
+                            mMainHandler.sendMessage(msg);
+                        }
+                    }
+                    if (mCurComputingSizePkg == null
+                            || mCurComputingSizePkg.equals(stats.packageName)) {
+                        mCurComputingSizePkg = null;
+                        sendEmptyMessage(MSG_LOAD_SIZES);
+                    }
+                    if (DEBUG_LOCKING) Log.v(TAG, "onGetStatsCompleted releasing lock");
+                }
+            }
+        };
+
+        BackgroundHandler(Looper looper) {
+            super(looper);
+        }
+
+        @Override
+        public void handleMessage(Message msg) {
+            // Always try rebuilding list first thing, if needed.
+            handleRebuildList();
+
+            switch (msg.what) {
+                case MSG_REBUILD_LIST: {
+                } break;
+                case MSG_LOAD_ENTRIES: {
+                    int numDone = 0;
+                    synchronized (mEntriesMap) {
+                        if (DEBUG_LOCKING) Log.v(TAG, "MSG_LOAD_ENTRIES acquired lock");
+                        for (int i=0; i<mApplications.size() && numDone<6; i++) {
+                            if (!mRunning) {
+                                mRunning = true;
+                                Message m = mMainHandler.obtainMessage(
+                                        MainHandler.MSG_RUNNING_STATE_CHANGED, 1);
+                                mMainHandler.sendMessage(m);
+                            }
+                            ApplicationInfo info = mApplications.get(i);
+                            if (mEntriesMap.get(info.packageName) == null) {
+                                numDone++;
+                                getEntryLocked(info);
+                            }
+                        }
+                        if (DEBUG_LOCKING) Log.v(TAG, "MSG_LOAD_ENTRIES releasing lock");
+                    }
+
+                    if (numDone >= 6) {
+                        sendEmptyMessage(MSG_LOAD_ENTRIES);
+                    } else {
+                        sendEmptyMessage(MSG_LOAD_ICONS);
+                    }
+                } break;
+                case MSG_LOAD_ICONS: {
+                    int numDone = 0;
+                    synchronized (mEntriesMap) {
+                        if (DEBUG_LOCKING) Log.v(TAG, "MSG_LOAD_ICONS acquired lock");
+                        for (int i=0; i<mAppEntries.size() && numDone<2; i++) {
+                            AppEntry entry = mAppEntries.get(i);
+                            if (entry.icon == null || !entry.mounted) {
+                                synchronized (entry) {
+                                    if (entry.ensureIconLocked(mContext, mPm)) {
+                                        if (!mRunning) {
+                                            mRunning = true;
+                                            Message m = mMainHandler.obtainMessage(
+                                                    MainHandler.MSG_RUNNING_STATE_CHANGED, 1);
+                                            mMainHandler.sendMessage(m);
+                                        }
+                                        numDone++;
+                                    }
+                                }
+                            }
+                        }
+                        if (DEBUG_LOCKING) Log.v(TAG, "MSG_LOAD_ICONS releasing lock");
+                    }
+                    if (numDone > 0) {
+                        if (!mMainHandler.hasMessages(MainHandler.MSG_PACKAGE_ICON_CHANGED)) {
+                            mMainHandler.sendEmptyMessage(MainHandler.MSG_PACKAGE_ICON_CHANGED);
+                        }
+                    }
+                    if (numDone >= 2) {
+                        sendEmptyMessage(MSG_LOAD_ICONS);
+                    } else {
+                        sendEmptyMessage(MSG_LOAD_SIZES);
+                    }
+                } break;
+                case MSG_LOAD_SIZES: {
+                    synchronized (mEntriesMap) {
+                        if (DEBUG_LOCKING) Log.v(TAG, "MSG_LOAD_SIZES acquired lock");
+                        if (mCurComputingSizePkg != null) {
+                            if (DEBUG_LOCKING) Log.v(TAG, "MSG_LOAD_SIZES releasing: currently computing");
+                            return;
+                        }
+
+                        long now = SystemClock.uptimeMillis();
+                        for (int i=0; i<mAppEntries.size(); i++) {
+                            AppEntry entry = mAppEntries.get(i);
+                            if (entry.size == SIZE_UNKNOWN || entry.sizeStale) {
+                                if (entry.sizeLoadStart == 0 ||
+                                        (entry.sizeLoadStart < (now-20*1000))) {
+                                    if (!mRunning) {
+                                        mRunning = true;
+                                        Message m = mMainHandler.obtainMessage(
+                                                MainHandler.MSG_RUNNING_STATE_CHANGED, 1);
+                                        mMainHandler.sendMessage(m);
+                                    }
+                                    entry.sizeLoadStart = now;
+                                    mCurComputingSizePkg = entry.info.packageName;
+                                    mPm.getPackageSizeInfo(mCurComputingSizePkg, mStatsObserver);
+                                }
+                                if (DEBUG_LOCKING) Log.v(TAG, "MSG_LOAD_SIZES releasing: now computing");
+                                return;
+                            }
+                        }
+                        if (!mMainHandler.hasMessages(MainHandler.MSG_ALL_SIZES_COMPUTED)) {
+                            mMainHandler.sendEmptyMessage(MainHandler.MSG_ALL_SIZES_COMPUTED);
+                            mRunning = false;
+                            Message m = mMainHandler.obtainMessage(
+                                    MainHandler.MSG_RUNNING_STATE_CHANGED, 0);
+                            mMainHandler.sendMessage(m);
+                        }
+                        if (DEBUG_LOCKING) Log.v(TAG, "MSG_LOAD_SIZES releasing lock");
+                    }
+                } break;
+            }
+        }
+
+    }
+}
diff --git a/src/com/android/settings/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java
similarity index 61%
rename from src/com/android/settings/InstalledAppDetails.java
rename to src/com/android/settings/applications/InstalledAppDetails.java
index 0ca35b8..912cc3e 100644
--- a/src/com/android/settings/InstalledAppDetails.java
+++ b/src/com/android/settings/applications/InstalledAppDetails.java
@@ -1,5 +1,3 @@
-
-
 /**
  * Copyright (C) 2007 The Android Open Source Project
  *
@@ -16,10 +14,12 @@
  * under the License.
  */
 
-package com.android.settings;
+package com.android.settings.applications;
 
 import com.android.internal.content.PackageHelper;
 import com.android.settings.R;
+import com.android.settings.applications.ApplicationsState.AppEntry;
+
 import android.app.Activity;
 import android.app.ActivityManager;
 import android.app.AlertDialog;
@@ -33,22 +33,21 @@
 import android.content.pm.IPackageDataObserver;
 import android.content.pm.IPackageManager;
 import android.content.pm.IPackageMoveObserver;
-import android.content.pm.IPackageStatsObserver;
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
-import android.content.pm.PackageParser;
-import android.content.pm.PackageStats;
+import android.content.pm.ResolveInfo;
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.net.Uri;
+import android.os.AsyncTask;
 import android.os.Bundle;
 import android.os.Handler;
-import android.os.IBinder;
 import android.os.Message;
 import android.os.RemoteException;
 import android.os.ServiceManager;
-import android.os.storage.IMountService;
 import android.text.format.Formatter;
 import android.util.Log;
+
+import java.lang.ref.WeakReference;
 import java.util.ArrayList;
 import java.util.List;
 import android.content.ComponentName;
@@ -68,20 +67,26 @@
  * For non-system applications, there is no option to clear data. Instead there is an option to
  * uninstall the application.
  */
-public class InstalledAppDetails extends Activity implements View.OnClickListener {
+public class InstalledAppDetails extends Activity
+        implements View.OnClickListener, ApplicationsState.Callbacks {
     private static final String TAG="InstalledAppDetails";
-    private static final int _UNKNOWN_APP=R.string.unknown;
-    private ApplicationInfo mAppInfo;
+    static final boolean SUPPORT_DISABLE_APPS = false;
+    private static final boolean localLOGV = false;
+    
+    private PackageManager mPm;
+    private ApplicationsState mState;
+    private ApplicationsState.AppEntry mAppEntry;
+    private PackageInfo mPackageInfo;
+    private CanBeOnSdCardChecker mCanBeOnSdCardChecker;
     private Button mUninstallButton;
     private boolean mMoveInProgress = false;
     private boolean mUpdatedSysApp = false;
     private Button mActivitiesButton;
-    private boolean localLOGV = false;
+    private boolean mCanClearData = true;
     private TextView mAppVersion;
     private TextView mTotalSize;
     private TextView mAppSize;
     private TextView mDataSize;
-    private PkgSizeObserver mSizeObserver;
     private ClearUserDataObserver mClearDataObserver;
     // Views related to cache info
     private TextView mCacheSize;
@@ -92,18 +97,20 @@
     private Button mMoveAppButton;
     private int mMoveErrorCode;
     
-    PackageStats mSizeInfo;
-    private PackageManager mPm;
     private PackageMoveObserver mPackageMoveObserver;
     
+    private boolean mHaveSizes = false;
+    private long mLastCodeSize = -1;
+    private long mLastDataSize = -1;
+    private long mLastCacheSize = -1;
+    private long mLastTotalSize = -1;
+    
     //internal constants used in Handler
     private static final int OP_SUCCESSFUL = 1;
     private static final int OP_FAILED = 2;
     private static final int CLEAR_USER_DATA = 1;
-    private static final int GET_PKG_SIZE = 2;
     private static final int CLEAR_CACHE = 3;
     private static final int PACKAGE_MOVE = 4;
-    private static final String ATTR_PACKAGE_STATS="PackageStats";
     
     // invalid size value used initially and also when size retrieval through PackageManager
     // fails for whatever reason
@@ -132,12 +139,9 @@
                 case CLEAR_USER_DATA:
                     processClearMsg(msg);
                     break;
-                case GET_PKG_SIZE:
-                    refreshSizeInfo(msg);
-                    break;
                 case CLEAR_CACHE:
                     // Refresh size info
-                    mPm.getPackageSizeInfo(mAppInfo.packageName, mSizeObserver);
+                    mState.requestSize(mAppEntry.info.packageName);
                     break;
                 case PACKAGE_MOVE:
                     processMoveMsg(msg);
@@ -156,17 +160,6 @@
         }
     }
     
-    class PkgSizeObserver extends IPackageStatsObserver.Stub {
-        public void onGetStatsCompleted(PackageStats pStats, boolean succeeded) {
-             Message msg = mHandler.obtainMessage(GET_PKG_SIZE);
-             Bundle data = new Bundle();
-             data.putParcelable(ATTR_PACKAGE_STATS, pStats);
-             msg.setData(data);
-             mHandler.sendMessage(msg);
-            
-         }
-     }
-
     class ClearCacheObserver extends IPackageDataObserver.Stub {
         public void onRemoveCompleted(final String packageName, final boolean succeeded) {
             final Message msg = mHandler.obtainMessage(CLEAR_CACHE);
@@ -191,12 +184,20 @@
     }
     
     private void initDataButtons() {
-        if (mAppInfo.manageSpaceActivityName != null) {
-            mClearDataButton.setText(R.string.manage_space_text);
-        } else {
+        if ((mAppEntry.info.flags&(ApplicationInfo.FLAG_SYSTEM
+                | ApplicationInfo.FLAG_ALLOW_CLEAR_USER_DATA))
+                == ApplicationInfo.FLAG_SYSTEM) {
             mClearDataButton.setText(R.string.clear_user_data_text);
+            mClearDataButton.setEnabled(false);
+            mCanClearData = false;
+        } else {
+            if (mAppEntry.info.manageSpaceActivityName != null) {
+                mClearDataButton.setText(R.string.manage_space_text);
+            } else {
+                mClearDataButton.setText(R.string.clear_user_data_text);
+            }
+            mClearDataButton.setOnClickListener(this);
         }
-        mClearDataButton.setOnClickListener(this);
     }
 
     private CharSequence getMoveErrMsg(int errCode) {
@@ -218,50 +219,19 @@
     }
 
     private void initMoveButton() {
-        String pkgName = mAppInfo.packageName;
         boolean dataOnly = false;
-        ApplicationInfo info1 = null;
-        PackageInfo pkgInfo = null;
-
-        try {
-            info1 = mPm.getApplicationInfo(pkgName, 0);
-            pkgInfo = mPm.getPackageInfo(mAppInfo.packageName,
-                    PackageManager.GET_UNINSTALLED_PACKAGES);
-        } catch (NameNotFoundException e) {
-        }
-        dataOnly = (info1 == null) && (mAppInfo != null);
+        dataOnly = (mPackageInfo == null) && (mAppEntry != null);
         boolean moveDisable = true;
         if (dataOnly) {
             mMoveAppButton.setText(R.string.move_app);
-        } else if ((mAppInfo.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0) {
+        } else if ((mAppEntry.info.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0) {
             mMoveAppButton.setText(R.string.move_app_to_internal);
             // Always let apps move to internal storage from sdcard.
             moveDisable = false;
         } else {
             mMoveAppButton.setText(R.string.move_app_to_sdcard);
-            if ((mAppInfo.flags & ApplicationInfo.FLAG_FORWARD_LOCK) == 0 &&
-                    (mAppInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0 &&
-                    pkgInfo != null) {
-                if (pkgInfo.installLocation == PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL ||
-                        pkgInfo.installLocation == PackageInfo.INSTALL_LOCATION_AUTO) {
-                    moveDisable = false;
-                } else if (pkgInfo.installLocation == PackageInfo.INSTALL_LOCATION_UNSPECIFIED) {
-                    IPackageManager ipm  = IPackageManager.Stub.asInterface(
-                            ServiceManager.getService("package"));
-                    int loc;
-                    try {
-                        loc = ipm.getInstallLocation();
-                    } catch (RemoteException e) {
-                        Log.e(TAG, "Is Pakage Manager running?");
-                        return;
-                    }
-                    if (loc == PackageHelper.APP_INSTALL_EXTERNAL) {
-                        // For apps with no preference and the default value set
-                        // to install on sdcard.
-                        moveDisable = false;
-                    }
-                }
-            }
+            mCanBeOnSdCardChecker.init();
+            moveDisable = !mCanBeOnSdCardChecker.check(mAppEntry.info);
         }
         if (moveDisable) {
             mMoveAppButton.setEnabled(false);
@@ -272,16 +242,43 @@
     }
 
     private void initUninstallButtons() {
-        mUpdatedSysApp = (mAppInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0;
+        mUpdatedSysApp = (mAppEntry.info.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0;
         boolean enabled = true;
         if (mUpdatedSysApp) {
             mUninstallButton.setText(R.string.app_factory_reset);
         } else {
-            if ((mAppInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0){
-                // Disable button for system applications.
+            if ((mAppEntry.info.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
                 enabled = false;
+                if (SUPPORT_DISABLE_APPS) {
+                    try {
+                        // Try to prevent the user from bricking their phone
+                        // by not allowing disabling of apps signed with the
+                        // system cert and any launcher app in the system.
+                        PackageInfo sys = mPm.getPackageInfo("android",
+                                PackageManager.GET_SIGNATURES);
+                        Intent intent = new Intent(Intent.ACTION_MAIN);
+                        intent.addCategory(Intent.CATEGORY_HOME);
+                        intent.setPackage(mAppEntry.info.packageName);
+                        List<ResolveInfo> homes = mPm.queryIntentActivities(intent, 0);
+                        if ((homes != null && homes.size() > 0) ||
+                                (mPackageInfo != null &&
+                                        sys.signatures[0].equals(mPackageInfo.signatures[0]))) {
+                            // Disable button for core system applications.
+                            mUninstallButton.setText(R.string.disable_text);
+                        } else if (mAppEntry.info.enabled) {
+                            mUninstallButton.setText(R.string.disable_text);
+                            enabled = true;
+                        } else {
+                            mUninstallButton.setText(R.string.enable_text);
+                            enabled = true;
+                        }
+                    } catch (PackageManager.NameNotFoundException e) {
+                        Log.w(TAG, "Unable to get package info", e);
+                    }
+                }
+            } else {
+                mUninstallButton.setText(R.string.uninstall_text);
             }
-            mUninstallButton.setText(R.string.uninstall_text);
         }
         mUninstallButton.setEnabled(enabled);
         if (enabled) {
@@ -290,49 +287,24 @@
         }
     }
 
-    private boolean initAppInfo(String packageName) {
-        try {
-            mAppInfo = mPm.getApplicationInfo(packageName,
-                    PackageManager.GET_UNINSTALLED_PACKAGES);
-            return true;
-        } catch (NameNotFoundException e) {
-            Log.e(TAG, "Exception when retrieving package: " + packageName, e);
-            showDialogInner(DLG_APP_NOT_FOUND);
-            return false;
-        }
-    }
-
     /** Called when the activity is first created. */
     @Override
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);
         
-        // Get package manager
+        mState = ApplicationsState.getInstance(getApplication());
         mPm = getPackageManager();
         
-        // Get application's name from intent
-        Intent intent = getIntent();
-        final String packageName = intent.getStringExtra(ManageApplications.APP_PKG_NAME);
-        if (! initAppInfo(packageName)) {
-            return; // could not find package, finish called
-        }
+        mCanBeOnSdCardChecker = new CanBeOnSdCardChecker();
         
-        // Try retrieving package stats again
-        CharSequence totalSizeStr, appSizeStr, dataSizeStr;
-        mComputingStr = getText(R.string.computing_size);
-        totalSizeStr = appSizeStr = dataSizeStr = mComputingStr;
-        if(localLOGV) Log.i(TAG, "Have to compute package sizes");
-        mSizeObserver = new PkgSizeObserver();
         setContentView(R.layout.installed_app_details);
-        //TODO download str and download url
+        
+        mComputingStr = getText(R.string.computing_size);
         
         // Set default values on sizes
         mTotalSize = (TextView)findViewById(R.id.total_size_text);
-        mTotalSize.setText(totalSizeStr);
         mAppSize = (TextView)findViewById(R.id.application_size_text);
-        mAppSize.setText(appSizeStr);
         mDataSize = (TextView)findViewById(R.id.data_size_text);
-        mDataSize.setText(dataSizeStr);
         
         // Get Control button panel
         View btnPanel = findViewById(R.id.control_buttons_panel);
@@ -346,51 +318,22 @@
         mClearDataButton = (Button) data_buttons_panel.findViewById(R.id.left_button);
         mMoveAppButton = (Button) data_buttons_panel.findViewById(R.id.right_button);
         
-         // Cache section
-         mCacheSize = (TextView) findViewById(R.id.cache_size_text);
-         mCacheSize.setText(mComputingStr);
-         mClearCacheButton = (Button) findViewById(R.id.clear_cache_button);
-
-         // Get list of preferred activities
-         mActivitiesButton = (Button)findViewById(R.id.clear_activities_button);
-         List<ComponentName> prefActList = new ArrayList<ComponentName>();
-         
-         // Intent list cannot be null. so pass empty list
-         List<IntentFilter> intentList = new ArrayList<IntentFilter>();
-         mPm.getPreferredActivities(intentList,  prefActList, packageName);
-         if(localLOGV) Log.i(TAG, "Have "+prefActList.size()+" number of activities in prefered list");
-         TextView autoLaunchView = (TextView)findViewById(R.id.auto_launch);
-         if(prefActList.size() <= 0) {
-             // Disable clear activities button
-             autoLaunchView.setText(R.string.auto_launch_disable_text);
-             mActivitiesButton.setEnabled(false);
-         } else {
-             autoLaunchView.setText(R.string.auto_launch_enable_text);
-             mActivitiesButton.setOnClickListener(this);
-         }
-         
-         // Security permissions section
-         LinearLayout permsView = (LinearLayout) findViewById(R.id.permissions_section);
-         AppSecurityPermissions asp = new AppSecurityPermissions(this, packageName);
-         if(asp.getPermissionCount() > 0) {
-             permsView.setVisibility(View.VISIBLE);
-             // Make the security sections header visible
-             LinearLayout securityList = (LinearLayout) permsView.findViewById(
-                     R.id.security_settings_list);
-             securityList.addView(asp.getPermissionsView());
-         } else {
-             permsView.setVisibility(View.GONE);
-         }
+        // Cache section
+        mCacheSize = (TextView) findViewById(R.id.cache_size_text);
+        mClearCacheButton = (Button) findViewById(R.id.clear_cache_button);
+        
+        mActivitiesButton = (Button)findViewById(R.id.clear_activities_button);
     }
 
     // Utility method to set applicaiton label and icon.
     private void setAppLabelAndIcon(PackageInfo pkgInfo) {
         View appSnippet = findViewById(R.id.app_snippet);
         ImageView icon = (ImageView) appSnippet.findViewById(R.id.app_icon);
-        icon.setImageDrawable(mAppInfo.loadIcon(mPm));
+        mState.ensureIcon(mAppEntry);
+        icon.setImageDrawable(mAppEntry.icon);
         // Set application name.
         TextView label = (TextView) appSnippet.findViewById(R.id.app_name);
-        label.setText(mAppInfo.loadLabel(mPm));
+        label.setText(mAppEntry.label);
         // Version number of application
         mAppVersion = (TextView) appSnippet.findViewById(R.id.app_size);
 
@@ -407,35 +350,109 @@
     public void onResume() {
         super.onResume();
         
-        if (mAppInfo == null) {
+        mState.resume(this);
+        if (!refreshUi()) {
             setIntentAndFinish(true, true);
-            return; // onCreate must have failed, make sure to exit
-        }
-        if (! initAppInfo(mAppInfo.packageName)) {
-            return; // could not find package, finish called
-        }
-        
-        PackageInfo pkgInfo = null;
-        // Get application info again to refresh changed properties of application
-        try {
-            pkgInfo = mPm.getPackageInfo(mAppInfo.packageName,
-                    PackageManager.GET_UNINSTALLED_PACKAGES);
-        } catch (NameNotFoundException e) {
-            Log.e(TAG, "Exception when retrieving package:" + mAppInfo.packageName, e);
-            showDialogInner(DLG_APP_NOT_FOUND);
-            return; // could not find package, finish called
-        }
-        
-        checkForceStop();
-        setAppLabelAndIcon(pkgInfo);
-        refreshButtons();
-        
-        // Refresh size info
-        if (mAppInfo != null && mAppInfo.packageName != null) {
-            mPm.getPackageSizeInfo(mAppInfo.packageName, mSizeObserver);
         }
     }
 
+    @Override
+    public void onPause() {
+        super.onPause();
+        mState.pause();
+    }
+
+    @Override
+    public void onAllSizesComputed() {
+    }
+
+    @Override
+    public void onPackageIconChanged() {
+    }
+
+    @Override
+    public void onPackageListChanged() {
+        refreshUi();
+    }
+
+    @Override
+    public void onRebuildComplete(ArrayList<AppEntry> apps) {
+    }
+
+    @Override
+    public void onPackageSizeChanged(String packageName) {
+        if (packageName.equals(mAppEntry.info.packageName)) {
+            refreshSizeInfo();
+        }
+    }
+
+    @Override
+    public void onRunningStateChanged(boolean running) {
+    }
+
+    private boolean refreshUi() {
+        if (mMoveInProgress) {
+            return true;
+        }
+        
+        Intent intent = getIntent();
+        final String packageName = intent.getData().getSchemeSpecificPart();
+        mAppEntry = mState.getEntry(packageName);
+        
+        if (mAppEntry == null) {
+            return false; // onCreate must have failed, make sure to exit
+        }
+        
+        // Get application info again to refresh changed properties of application
+        try {
+            mPackageInfo = mPm.getPackageInfo(mAppEntry.info.packageName,
+                    PackageManager.GET_DISABLED_COMPONENTS |
+                    PackageManager.GET_UNINSTALLED_PACKAGES |
+                    PackageManager.GET_SIGNATURES);
+        } catch (NameNotFoundException e) {
+            Log.e(TAG, "Exception when retrieving package:" + mAppEntry.info.packageName, e);
+            return false; // onCreate must have failed, make sure to exit
+        }
+        
+        // Get list of preferred activities
+        List<ComponentName> prefActList = new ArrayList<ComponentName>();
+        
+        // Intent list cannot be null. so pass empty list
+        List<IntentFilter> intentList = new ArrayList<IntentFilter>();
+        mPm.getPreferredActivities(intentList, prefActList, packageName);
+        if(localLOGV) Log.i(TAG, "Have "+prefActList.size()+" number of activities in prefered list");
+        TextView autoLaunchView = (TextView)findViewById(R.id.auto_launch);
+        if (prefActList.size() <= 0) {
+            // Disable clear activities button
+            autoLaunchView.setText(R.string.auto_launch_disable_text);
+            mActivitiesButton.setEnabled(false);
+        } else {
+            autoLaunchView.setText(R.string.auto_launch_enable_text);
+            mActivitiesButton.setEnabled(true);
+            mActivitiesButton.setOnClickListener(this);
+        }
+         
+        // Security permissions section
+        LinearLayout permsView = (LinearLayout) findViewById(R.id.permissions_section);
+        AppSecurityPermissions asp = new AppSecurityPermissions(this, packageName);
+        if (asp.getPermissionCount() > 0) {
+            permsView.setVisibility(View.VISIBLE);
+            // Make the security sections header visible
+            LinearLayout securityList = (LinearLayout) permsView.findViewById(
+                    R.id.security_settings_list);
+            securityList.removeAllViews();
+            securityList.addView(asp.getPermissionsView());
+        } else {
+            permsView.setVisibility(View.GONE);
+        }
+        
+        checkForceStop();
+        setAppLabelAndIcon(mPackageInfo);
+        refreshButtons();
+        refreshSizeInfo();
+        return true;
+    }
+    
     private void setIntentAndFinish(boolean finish, boolean appChanged) {
         if(localLOGV) Log.i(TAG, "appChanged="+appChanged);
         Intent intent = new Intent();
@@ -446,60 +463,50 @@
         }
     }
     
-    /*
-     * Private method to handle get size info notification from observer when
-     * the async operation from PackageManager is complete. The current user data
-     * info has to be refreshed in the manage applications screen as well as the current screen.
-     */
-    private void refreshSizeInfo(Message msg) {
-        boolean changed = false;
-        PackageStats newPs = msg.getData().getParcelable(ATTR_PACKAGE_STATS);
-        long newTot = newPs.cacheSize+newPs.codeSize+newPs.dataSize;
-        if(mSizeInfo == null) {
-            mSizeInfo = newPs;
-            String str = getSizeStr(newTot);
-            mTotalSize.setText(str);
-            mAppSize.setText(getSizeStr(newPs.codeSize));
-            mDataSize.setText(getSizeStr(newPs.dataSize));
-            mCacheSize.setText(getSizeStr(newPs.cacheSize));
-        } else {
-            long oldTot = mSizeInfo.cacheSize+mSizeInfo.codeSize+mSizeInfo.dataSize;
-            if(newTot != oldTot) {
-                String str = getSizeStr(newTot);
-                mTotalSize.setText(str);
-                changed = true;
+    private void refreshSizeInfo() {
+        if (mAppEntry.size == ApplicationsState.SIZE_INVALID
+                || mAppEntry.size == ApplicationsState.SIZE_UNKNOWN) {
+            mLastCodeSize = mLastDataSize = mLastCacheSize = mLastTotalSize = -1;
+            if (!mHaveSizes) {
+                mAppSize.setText(mComputingStr);
+                mDataSize.setText(mComputingStr);
+                mCacheSize.setText(mComputingStr);
+                mTotalSize.setText(mComputingStr);
             }
-            if(newPs.codeSize != mSizeInfo.codeSize) {
-                mAppSize.setText(getSizeStr(newPs.codeSize));
-                changed = true;
-            }
-            if(newPs.dataSize != mSizeInfo.dataSize) {
-                mDataSize.setText(getSizeStr(newPs.dataSize));
-                changed = true;
-            }
-            if(newPs.cacheSize != mSizeInfo.cacheSize) {
-                mCacheSize.setText(getSizeStr(newPs.cacheSize));
-                changed = true;
-            }
-            if(changed) {
-                mSizeInfo = newPs;
-            }
-        }
-        // If data size is zero disable clear data button
-        if (newPs.dataSize == 0) {
             mClearDataButton.setEnabled(false);
-        }
-        long data = mSizeInfo.dataSize;
-        refreshCacheInfo(newPs.cacheSize);
-    }
-    
-    private void refreshCacheInfo(long cacheSize) {
-        // Set cache info
-        mCacheSize.setText(getSizeStr(cacheSize));
-        if (cacheSize <= 0) {
             mClearCacheButton.setEnabled(false);
+            
         } else {
-            mClearCacheButton.setOnClickListener(this);
+            mHaveSizes = true;
+            if (mLastCodeSize != mAppEntry.codeSize) {
+                mLastCodeSize = mAppEntry.codeSize;
+                mAppSize.setText(getSizeStr(mAppEntry.codeSize));
+            }
+            if (mLastDataSize != mAppEntry.dataSize) {
+                mLastDataSize = mAppEntry.dataSize;
+                mDataSize.setText(getSizeStr(mAppEntry.dataSize));
+            }
+            if (mLastCacheSize != mAppEntry.cacheSize) {
+                mLastCacheSize = mAppEntry.cacheSize;
+                mCacheSize.setText(getSizeStr(mAppEntry.cacheSize));
+            }
+            if (mLastTotalSize != mAppEntry.size) {
+                mLastTotalSize = mAppEntry.size;
+                mTotalSize.setText(getSizeStr(mAppEntry.size));
+            }
+            
+            if (mAppEntry.dataSize <= 0 || !mCanClearData) {
+                mClearDataButton.setEnabled(false);
+            } else {
+                mClearDataButton.setEnabled(true);
+                mClearDataButton.setOnClickListener(this);
+            }
+            if (mAppEntry.cacheSize <= 0) {
+                mClearCacheButton.setEnabled(false);
+            } else {
+                mClearCacheButton.setEnabled(true);
+                mClearCacheButton.setOnClickListener(this);
+            }
         }
     }
     
@@ -509,14 +516,15 @@
      */
     private void processClearMsg(Message msg) {
         int result = msg.arg1;
-        String packageName = mAppInfo.packageName;
+        String packageName = mAppEntry.info.packageName;
         mClearDataButton.setText(R.string.clear_user_data_text);
         if(result == OP_SUCCESSFUL) {
             Log.i(TAG, "Cleared user data for package : "+packageName);
-            mPm.getPackageSizeInfo(packageName, mSizeObserver);
+            mState.requestSize(mAppEntry.info.packageName);
         } else {
             mClearDataButton.setEnabled(true);
         }
+        checkForceStop();
     }
 
     private void refreshButtons() {
@@ -533,23 +541,18 @@
 
     private void processMoveMsg(Message msg) {
         int result = msg.arg1;
-        String packageName = mAppInfo.packageName;
+        String packageName = mAppEntry.info.packageName;
         // Refresh the button attributes.
         mMoveInProgress = false;
-        if(result == PackageManager.MOVE_SUCCEEDED) {
+        if (result == PackageManager.MOVE_SUCCEEDED) {
             Log.i(TAG, "Moved resources for " + packageName);
             // Refresh size information again.
-            mPm.getPackageSizeInfo(packageName, mSizeObserver);
+            mState.requestSize(mAppEntry.info.packageName);
         } else {
             mMoveErrorCode = result;
             showDialogInner(DLG_MOVE_FAILED);
         }
-        
-        if (! initAppInfo(packageName)) {
-            return; // could not find package, finish called
-        }
-        
-        refreshButtons();
+        refreshUi();
     }
 
     /*
@@ -559,14 +562,14 @@
     private  void initiateClearUserData() {
         mClearDataButton.setEnabled(false);
         // Invoke uninstall or clear user data based on sysPackage
-        String packageName = mAppInfo.packageName;
+        String packageName = mAppEntry.info.packageName;
         Log.i(TAG, "Clearing user data for package : " + packageName);
-        if(mClearDataObserver == null) {
+        if (mClearDataObserver == null) {
             mClearDataObserver = new ClearUserDataObserver();
         }
         ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
         boolean res = am.clearApplicationUserData(packageName, mClearDataObserver);
-        if(!res) {
+        if (!res) {
             // Clearing data failed for some obscure reason. Just log error for now
             Log.i(TAG, "Couldnt clear application user data for package:"+packageName);
             showDialogInner(DLG_CANNOT_CLEAR_DATA);
@@ -606,7 +609,7 @@
                     new DialogInterface.OnClickListener() {
                 public void onClick(DialogInterface dialog, int which) {
                     // Clear user data here
-                    uninstallPkg(mAppInfo.packageName);
+                    uninstallPkg(mAppEntry.info.packageName);
                 }
             })
             .setNegativeButton(R.string.dlg_cancel, null)
@@ -638,29 +641,29 @@
                 }
             })
             .create();
-            case DLG_FORCE_STOP:
-                return new AlertDialog.Builder(this)
-                .setTitle(getString(R.string.force_stop_dlg_title))
-                .setIcon(android.R.drawable.ic_dialog_alert)
-                .setMessage(getString(R.string.force_stop_dlg_text))
-                .setPositiveButton(R.string.dlg_ok,
-                    new DialogInterface.OnClickListener() {
+        case DLG_FORCE_STOP:
+            return new AlertDialog.Builder(this)
+            .setTitle(getString(R.string.force_stop_dlg_title))
+            .setIcon(android.R.drawable.ic_dialog_alert)
+            .setMessage(getString(R.string.force_stop_dlg_text))
+            .setPositiveButton(R.string.dlg_ok,
+                new DialogInterface.OnClickListener() {
                 public void onClick(DialogInterface dialog, int which) {
                     // Force stop
-                    forceStopPackage(mAppInfo.packageName);
+                    forceStopPackage(mAppEntry.info.packageName);
                 }
             })
             .setNegativeButton(R.string.dlg_cancel, null)
             .create();
-            case DLG_MOVE_FAILED:
-                CharSequence msg = getString(R.string.move_app_failed_dlg_text,
-                        getMoveErrMsg(mMoveErrorCode));
-                return new AlertDialog.Builder(this)
-                .setTitle(getString(R.string.move_app_failed_dlg_title))
-                .setIcon(android.R.drawable.ic_dialog_alert)
-                .setMessage(msg)
-                .setNeutralButton(R.string.dlg_ok, null)
-                .create();
+        case DLG_MOVE_FAILED:
+            CharSequence msg = getString(R.string.move_app_failed_dlg_text,
+                    getMoveErrMsg(mMoveErrorCode));
+            return new AlertDialog.Builder(this)
+            .setTitle(getString(R.string.move_app_failed_dlg_title))
+            .setIcon(android.R.drawable.ic_dialog_alert)
+            .setMessage(msg)
+            .setNeutralButton(R.string.dlg_ok, null)
+            .create();
         }
         return null;
     }
@@ -690,32 +693,59 @@
     
     private void checkForceStop() {
         Intent intent = new Intent(Intent.ACTION_QUERY_PACKAGE_RESTART,
-                Uri.fromParts("package", mAppInfo.packageName, null));
-        intent.putExtra(Intent.EXTRA_PACKAGES, new String[] { mAppInfo.packageName });
-        intent.putExtra(Intent.EXTRA_UID, mAppInfo.uid);
+                Uri.fromParts("package", mAppEntry.info.packageName, null));
+        intent.putExtra(Intent.EXTRA_PACKAGES, new String[] { mAppEntry.info.packageName });
+        intent.putExtra(Intent.EXTRA_UID, mAppEntry.info.uid);
         sendOrderedBroadcast(intent, null, mCheckKillProcessesReceiver, null,
                 Activity.RESULT_CANCELED, null, null);
     }
     
+    static class DisableChanger extends AsyncTask<Object, Object, Object> {
+        final PackageManager mPm;
+        final WeakReference<InstalledAppDetails> mActivity;
+        final ApplicationInfo mInfo;
+        final int mState;
+
+        DisableChanger(InstalledAppDetails activity, ApplicationInfo info, int state) {
+            mPm = activity.mPm;
+            mActivity = new WeakReference<InstalledAppDetails>(activity);
+            mInfo = info;
+            mState = state;
+        }
+
+        @Override
+        protected Object doInBackground(Object... params) {
+            mPm.setApplicationEnabledSetting(mInfo.packageName, mState, 0);
+            return null;
+        }
+    }
+
     /*
      * Method implementing functionality of buttons clicked
      * @see android.view.View.OnClickListener#onClick(android.view.View)
      */
     public void onClick(View v) {
-        String packageName = mAppInfo.packageName;
+        String packageName = mAppEntry.info.packageName;
         if(v == mUninstallButton) {
             if (mUpdatedSysApp) {
                 showDialogInner(DLG_FACTORY_RESET);
             } else {
-                uninstallPkg(packageName);
+                if ((mAppEntry.info.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
+                    new DisableChanger(this, mAppEntry.info, mAppEntry.info.enabled ?
+                            PackageManager.COMPONENT_ENABLED_STATE_DISABLED
+                            : PackageManager.COMPONENT_ENABLED_STATE_DEFAULT).execute((Object)null);
+                } else {
+                    uninstallPkg(packageName);
+                }
             }
         } else if(v == mActivitiesButton) {
             mPm.clearPackagePreferredActivities(packageName);
             mActivitiesButton.setEnabled(false);
         } else if(v == mClearDataButton) {
-            if (mAppInfo.manageSpaceActivityName != null) {
+            if (mAppEntry.info.manageSpaceActivityName != null) {
                 Intent intent = new Intent(Intent.ACTION_DEFAULT);
-                intent.setClassName(mAppInfo.packageName, mAppInfo.manageSpaceActivityName);
+                intent.setClassName(mAppEntry.info.packageName,
+                        mAppEntry.info.manageSpaceActivityName);
                 startActivityForResult(intent, -1);
             } else {
                 showDialogInner(DLG_CLEAR_DATA);
@@ -727,16 +757,17 @@
             }
             mPm.deleteApplicationCacheFiles(packageName, mClearCacheObserver);
         } else if (v == mForceStopButton) {
-            forceStopPackage(mAppInfo.packageName);
+            showDialogInner(DLG_FORCE_STOP);
+            //forceStopPackage(mAppInfo.packageName);
         } else if (v == mMoveAppButton) {
             if (mPackageMoveObserver == null) {
                 mPackageMoveObserver = new PackageMoveObserver();
             }
-            int moveFlags = (mAppInfo.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0 ?
+            int moveFlags = (mAppEntry.info.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0 ?
                     PackageManager.MOVE_INTERNAL : PackageManager.MOVE_EXTERNAL_MEDIA;
             mMoveInProgress = true;
             refreshButtons();
-            mPm.movePackage(mAppInfo.packageName, mPackageMoveObserver, moveFlags);
+            mPm.movePackage(mAppEntry.info.packageName, mPackageMoveObserver, moveFlags);
         }
     }
 }
diff --git a/src/com/android/settings/applications/LinearColorBar.java b/src/com/android/settings/applications/LinearColorBar.java
new file mode 100644
index 0000000..0b9f7b0
--- /dev/null
+++ b/src/com/android/settings/applications/LinearColorBar.java
@@ -0,0 +1,175 @@
+/**
+ *
+ */
+package com.android.settings.applications;
+
+import android.content.Context;
+import android.graphics.Canvas;
+import android.graphics.LinearGradient;
+import android.graphics.Paint;
+import android.graphics.Path;
+import android.graphics.Rect;
+import android.graphics.Shader;
+import android.util.AttributeSet;
+import android.util.DisplayMetrics;
+import android.widget.LinearLayout;
+
+public class LinearColorBar extends LinearLayout {
+    static final int LEFT_COLOR = 0xffa0a0a0;
+    static final int MIDDLE_COLOR = 0xffa0a0a0;
+    static final int RIGHT_COLOR = 0xffa0c0a0;
+
+    private float mRedRatio;
+    private float mYellowRatio;
+    private float mGreenRatio;
+
+    private boolean mShowingGreen;
+
+    final Rect mRect = new Rect();
+    final Paint mPaint = new Paint();
+
+    int mLastInterestingLeft, mLastInterestingRight;
+    int mLineWidth;
+
+    final Path mColorPath = new Path();
+    final Path mEdgePath = new Path();
+    final Paint mColorGradientPaint = new Paint();
+    final Paint mEdgeGradientPaint = new Paint();
+
+    public LinearColorBar(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        setWillNotDraw(false);
+        mPaint.setStyle(Paint.Style.FILL);
+        mColorGradientPaint.setStyle(Paint.Style.FILL);
+        mColorGradientPaint.setAntiAlias(true);
+        mEdgeGradientPaint.setStyle(Paint.Style.STROKE);
+        mLineWidth = getResources().getDisplayMetrics().densityDpi >= DisplayMetrics.DENSITY_HIGH
+                ? 2 : 1;
+        mEdgeGradientPaint.setStrokeWidth(mLineWidth);
+        mEdgeGradientPaint.setAntiAlias(true);
+        
+    }
+
+    public void setRatios(float red, float yellow, float green) {
+        mRedRatio = red;
+        mYellowRatio = yellow;
+        mGreenRatio = green;
+        invalidate();
+    }
+
+    public void setShowingGreen(boolean showingGreen) {
+        if (mShowingGreen != showingGreen) {
+            mShowingGreen = showingGreen;
+            updateIndicator();
+            invalidate();
+        }
+    }
+
+    private void updateIndicator() {
+        int off = getPaddingTop() - getPaddingBottom();
+        if (off < 0) off = 0;
+        mRect.top = off;
+        mRect.bottom = getHeight();
+        if (mShowingGreen) {
+            mColorGradientPaint.setShader(new LinearGradient(
+                    0, 0, 0, off-2, RIGHT_COLOR&0xffffff, RIGHT_COLOR, Shader.TileMode.CLAMP));
+        } else {
+            mColorGradientPaint.setShader(new LinearGradient(
+                    0, 0, 0, off-2, MIDDLE_COLOR&0xffffff, MIDDLE_COLOR, Shader.TileMode.CLAMP));
+        }
+        mEdgeGradientPaint.setShader(new LinearGradient(
+                0, 0, 0, off/2, 0x00a0a0a0, 0xffa0a0a0, Shader.TileMode.CLAMP));
+    }
+
+    @Override
+    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
+        super.onSizeChanged(w, h, oldw, oldh);
+        updateIndicator();
+    }
+
+    @Override
+    protected void onDraw(Canvas canvas) {
+        super.onDraw(canvas);
+
+        int width = getWidth();
+
+        int left = 0;
+
+        int right = left + (int)(width*mRedRatio);
+        int right2 = right + (int)(width*mYellowRatio);
+        int right3 = right2 + (int)(width*mGreenRatio);
+
+        int indicatorLeft, indicatorRight;
+        if (mShowingGreen) {
+            indicatorLeft = right2;
+            indicatorRight = right3;
+        } else {
+            indicatorLeft = right;
+            indicatorRight = right2;
+        }
+
+        if (mLastInterestingLeft != indicatorLeft || mLastInterestingRight != indicatorRight) {
+            mColorPath.reset();
+            mEdgePath.reset();
+            if (indicatorLeft < indicatorRight) {
+                final int midTopY = mRect.top;
+                final int midBottomY = 0;
+                final int xoff = 2;
+                mColorPath.moveTo(indicatorLeft, mRect.top);
+                mColorPath.cubicTo(indicatorLeft, midBottomY,
+                        -xoff, midTopY,
+                        -xoff, 0);
+                mColorPath.lineTo(width+xoff-1, 0);
+                mColorPath.cubicTo(width+xoff-1, midTopY,
+                        indicatorRight, midBottomY,
+                        indicatorRight, mRect.top);
+                mColorPath.close();
+                final float lineOffset = mLineWidth+.5f;
+                mEdgePath.moveTo(-xoff+lineOffset, 0);
+                mEdgePath.cubicTo(-xoff+lineOffset, midTopY,
+                        indicatorLeft+lineOffset, midBottomY,
+                        indicatorLeft+lineOffset, mRect.top);
+                mEdgePath.moveTo(width+xoff-1-lineOffset, 0);
+                mEdgePath.cubicTo(width+xoff-1-lineOffset, midTopY,
+                        indicatorRight-lineOffset, midBottomY,
+                        indicatorRight-lineOffset, mRect.top);
+            }
+            mLastInterestingLeft = indicatorLeft;
+            mLastInterestingRight = indicatorRight;
+        }
+
+        if (!mEdgePath.isEmpty()) {
+            canvas.drawPath(mEdgePath, mEdgeGradientPaint);
+            canvas.drawPath(mColorPath, mColorGradientPaint);
+        }
+
+        if (left < right) {
+            mRect.left = left;
+            mRect.right = right;
+            mPaint.setColor(LEFT_COLOR);
+            canvas.drawRect(mRect, mPaint);
+            width -= (right-left);
+            left = right;
+        }
+
+        right = right2;
+
+        if (left < right) {
+            mRect.left = left;
+            mRect.right = right;
+            mPaint.setColor(MIDDLE_COLOR);
+            canvas.drawRect(mRect, mPaint);
+            width -= (right-left);
+            left = right;
+        }
+
+
+        right = left + width;
+        if (left < right) {
+            mRect.left = left;
+            mRect.right = right;
+            mPaint.setColor(RIGHT_COLOR);
+            canvas.drawRect(mRect, mPaint);
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java
new file mode 100644
index 0000000..9ec65c1
--- /dev/null
+++ b/src/com/android/settings/applications/ManageApplications.java
@@ -0,0 +1,870 @@
+/*
+ * Copyright (C) 2006 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.applications;
+
+import com.android.internal.content.PackageHelper;
+import com.android.settings.R;
+import com.android.settings.applications.ApplicationsState.AppEntry;
+
+import android.app.TabActivity;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.IPackageManager;
+import android.content.pm.PackageInfo;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.Environment;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.os.StatFs;
+import android.provider.Settings;
+import android.text.format.Formatter;
+import android.util.Log;
+import android.view.KeyEvent;
+import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.Window;
+import android.view.animation.AnimationUtils;
+import android.view.inputmethod.InputMethodManager;
+import android.widget.AbsListView;
+import android.widget.AdapterView;
+import android.widget.BaseAdapter;
+import android.widget.CheckBox;
+import android.widget.Filter;
+import android.widget.Filterable;
+import android.widget.ImageView;
+import android.widget.ListView;
+import android.widget.TabHost;
+import android.widget.TextView;
+import android.widget.AdapterView.OnItemClickListener;
+
+import java.util.ArrayList;
+import java.util.Comparator;
+
+final class CanBeOnSdCardChecker {
+    final IPackageManager mPm;
+    int mInstallLocation;
+    
+    CanBeOnSdCardChecker() {
+        mPm = IPackageManager.Stub.asInterface(
+                ServiceManager.getService("package"));
+    }
+    
+    void init() {
+        try {
+            mInstallLocation = mPm.getInstallLocation();
+        } catch (RemoteException e) {
+            Log.e("CanBeOnSdCardChecker", "Is Package Manager running?");
+            return;
+        }
+    }
+    
+    boolean check(ApplicationInfo info) {
+        boolean canBe = false;
+        if ((info.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0) {
+            canBe = true;
+        } else {
+            if ((info.flags & ApplicationInfo.FLAG_FORWARD_LOCK) == 0 &&
+                    (info.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
+                if (info.installLocation == PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL ||
+                        info.installLocation == PackageInfo.INSTALL_LOCATION_AUTO) {
+                    canBe = true;
+                } else if (info.installLocation
+                        == PackageInfo.INSTALL_LOCATION_UNSPECIFIED) {
+                    if (mInstallLocation == PackageHelper.APP_INSTALL_EXTERNAL) {
+                        // For apps with no preference and the default value set
+                        // to install on sdcard.
+                        canBe = true;
+                    }
+                }
+            }
+        }
+        return canBe;
+    }
+}
+
+/**
+ * Activity to pick an application that will be used to display installation information and
+ * options to uninstall/delete user data for system applications. This activity
+ * can be launched through Settings or via the ACTION_MANAGE_PACKAGE_STORAGE
+ * intent.
+ */
+public class ManageApplications extends TabActivity implements
+        OnItemClickListener, DialogInterface.OnCancelListener,
+        TabHost.TabContentFactory, TabHost.OnTabChangeListener {
+    static final String TAG = "ManageApplications";
+    static final boolean DEBUG = false;
+    
+    // attributes used as keys when passing values to InstalledAppDetails activity
+    public static final String APP_CHG = "chg";
+    
+    // constant value that can be used to check return code from sub activity.
+    private static final int INSTALLED_APP_DETAILS = 1;
+
+    // sort order that can be changed through the menu can be sorted alphabetically
+    // or size(descending)
+    private static final int MENU_OPTIONS_BASE = 0;
+    // Filter options used for displayed list of applications
+    public static final int FILTER_APPS_ALL = MENU_OPTIONS_BASE + 0;
+    public static final int FILTER_APPS_THIRD_PARTY = MENU_OPTIONS_BASE + 1;
+    public static final int FILTER_APPS_SDCARD = MENU_OPTIONS_BASE + 2;
+
+    public static final int SORT_ORDER_ALPHA = MENU_OPTIONS_BASE + 4;
+    public static final int SORT_ORDER_SIZE = MENU_OPTIONS_BASE + 5;
+    public static final int SHOW_RUNNING_SERVICES = MENU_OPTIONS_BASE + 6;
+    public static final int SHOW_BACKGROUND_PROCESSES = MENU_OPTIONS_BASE + 7;
+    // sort order
+    private int mSortOrder = SORT_ORDER_ALPHA;
+    // Filter value
+    private int mFilterApps = FILTER_APPS_THIRD_PARTY;
+    
+    private ApplicationsState mApplicationsState;
+    private ApplicationsAdapter mApplicationsAdapter;
+    
+    // Size resource used for packages whose size computation failed for some reason
+    private CharSequence mInvalidSizeStr;
+    private CharSequence mComputingSizeStr;
+    
+    // layout inflater object used to inflate views
+    private LayoutInflater mInflater;
+    
+    private String mCurrentPkgName;
+    
+    private View mLoadingContainer;
+
+    private View mListContainer;
+
+    // ListView used to display list
+    private ListView mListView;
+    // Custom view used to display running processes
+    private RunningProcessesView mRunningProcessesView;
+    
+    LinearColorBar mColorBar;
+    TextView mStorageChartLabel;
+    TextView mUsedStorageText;
+    TextView mFreeStorageText;
+
+    // These are for keeping track of activity and tab switch state.
+    private int mCurView;
+    private boolean mCreatedRunning;
+
+    private boolean mResumedRunning;
+    private boolean mActivityResumed;
+    private Object mNonConfigInstance;
+    
+    private StatFs mDataFileStats;
+    private StatFs mSDCardFileStats;
+    private boolean mLastShowedInternalStorage = true;
+    private long mLastUsedStorage, mLastAppStorage, mLastFreeStorage;
+
+    final Runnable mRunningProcessesAvail = new Runnable() {
+        public void run() {
+            handleRunningProcessesAvail();
+        }
+    };
+
+    // View Holder used when displaying views
+    static class AppViewHolder {
+        ApplicationsState.AppEntry entry;
+        TextView appName;
+        ImageView appIcon;
+        TextView appSize;
+        TextView disabled;
+        CheckBox checkBox;
+        
+        void updateSizeText(ManageApplications ma) {
+            if (DEBUG) Log.i(TAG, "updateSizeText of " + entry.label + " " + entry
+                    + ": " + entry.sizeStr);
+            if (entry.sizeStr != null) {
+                appSize.setText(entry.sizeStr);
+            } else if (entry.size == ApplicationsState.SIZE_INVALID) {
+                appSize.setText(ma.mInvalidSizeStr);
+            }
+        }
+    }
+    
+    /*
+     * Custom adapter implementation for the ListView
+     * This adapter maintains a map for each displayed application and its properties
+     * An index value on each AppInfo object indicates the correct position or index
+     * in the list. If the list gets updated dynamically when the user is viewing the list of
+     * applications, we need to return the correct index of position. This is done by mapping
+     * the getId methods via the package name into the internal maps and indices.
+     * The order of applications in the list is mirrored in mAppLocalList
+     */
+    class ApplicationsAdapter extends BaseAdapter implements Filterable,
+            ApplicationsState.Callbacks, AbsListView.RecyclerListener {
+        private final ApplicationsState mState;
+        private final ArrayList<View> mActive = new ArrayList<View>();
+        private ArrayList<ApplicationsState.AppEntry> mBaseEntries;
+        private ArrayList<ApplicationsState.AppEntry> mEntries;
+        private boolean mResumed;
+        private int mLastFilterMode=-1, mLastSortMode=-1;
+        private boolean mWaitingForData;
+        CharSequence mCurFilterPrefix;
+
+        private Filter mFilter = new Filter() {
+            @Override
+            protected FilterResults performFiltering(CharSequence constraint) {
+                ArrayList<ApplicationsState.AppEntry> entries
+                        = applyPrefixFilter(constraint, mBaseEntries);
+                FilterResults fr = new FilterResults();
+                fr.values = entries;
+                fr.count = entries.size();
+                return fr;
+            }
+
+            @Override
+            protected void publishResults(CharSequence constraint, FilterResults results) {
+                mCurFilterPrefix = constraint;
+                mEntries = (ArrayList<ApplicationsState.AppEntry>)results.values;
+                notifyDataSetChanged();
+                updateStorageUsage();
+            }
+        };
+
+        public ApplicationsAdapter(ApplicationsState state) {
+            mState = state;
+        }
+
+        public void resume(int filter, int sort) {
+            if (DEBUG) Log.i(TAG, "Resume!  mResumed=" + mResumed);
+            if (!mResumed) {
+                mResumed = true;
+                mState.resume(this);
+                mLastFilterMode = filter;
+                mLastSortMode = sort;
+                rebuild(true);
+            } else {
+                rebuild(filter, sort);
+            }
+        }
+
+        public void pause() {
+            if (mResumed) {
+                mResumed = false;
+                mState.pause();
+            }
+        }
+
+        public void rebuild(int filter, int sort) {
+            if (filter == mLastFilterMode && sort == mLastSortMode) {
+                return;
+            }
+            mLastFilterMode = filter;
+            mLastSortMode = sort;
+            rebuild(true);
+        }
+        
+        public void rebuild(boolean eraseold) {
+            if (DEBUG) Log.i(TAG, "Rebuilding app list...");
+            ApplicationsState.AppFilter filterObj;
+            Comparator<AppEntry> comparatorObj;
+            switch (mLastFilterMode) {
+                case FILTER_APPS_THIRD_PARTY:
+                    filterObj = ApplicationsState.THIRD_PARTY_FILTER;
+                    break;
+                case FILTER_APPS_SDCARD:
+                    filterObj = ApplicationsState.ON_SD_CARD_FILTER;
+                    break;
+                default:
+                    filterObj = null;
+                    break;
+            }
+            switch (mLastSortMode) {
+                case SORT_ORDER_SIZE:
+                    comparatorObj = ApplicationsState.SIZE_COMPARATOR;
+                    break;
+                default:
+                    comparatorObj = ApplicationsState.ALPHA_COMPARATOR;
+                    break;
+            }
+            ArrayList<ApplicationsState.AppEntry> entries
+                    = mState.rebuild(filterObj, comparatorObj);
+            if (entries == null && !eraseold) {
+                // Don't have new list yet, but can continue using the old one.
+                return;
+            }
+            mBaseEntries = entries;
+            if (mBaseEntries != null) {
+                mEntries = applyPrefixFilter(mCurFilterPrefix, mBaseEntries);
+            } else {
+                mEntries = null;
+            }
+            notifyDataSetChanged();
+            updateStorageUsage();
+
+            if (entries == null) {
+                mWaitingForData = true;
+                mListContainer.setVisibility(View.INVISIBLE);
+                mLoadingContainer.setVisibility(View.VISIBLE);
+            } else {
+                mListContainer.setVisibility(View.VISIBLE);
+                mLoadingContainer.setVisibility(View.GONE);
+            }
+        }
+
+        ArrayList<ApplicationsState.AppEntry> applyPrefixFilter(CharSequence prefix,
+                ArrayList<ApplicationsState.AppEntry> origEntries) {
+            if (prefix == null || prefix.length() == 0) {
+                return origEntries;
+            } else {
+                String prefixStr = ApplicationsState.normalize(prefix.toString());
+                final String spacePrefixStr = " " + prefixStr;
+                ArrayList<ApplicationsState.AppEntry> newEntries
+                        = new ArrayList<ApplicationsState.AppEntry>();
+                for (int i=0; i<origEntries.size(); i++) {
+                    ApplicationsState.AppEntry entry = origEntries.get(i);
+                    String nlabel = entry.getNormalizedLabel();
+                    if (nlabel.startsWith(prefixStr) || nlabel.indexOf(spacePrefixStr) != -1) {
+                        newEntries.add(entry);
+                    }
+                }
+                return newEntries;
+            }
+        }
+
+        @Override
+        public void onRunningStateChanged(boolean running) {
+            setProgressBarIndeterminateVisibility(running);
+        }
+
+        @Override
+        public void onRebuildComplete(ArrayList<AppEntry> apps) {
+            if (mLoadingContainer.getVisibility() == View.VISIBLE) {
+                mLoadingContainer.startAnimation(AnimationUtils.loadAnimation(
+                        ManageApplications.this, android.R.anim.fade_out));
+                mListContainer.startAnimation(AnimationUtils.loadAnimation(
+                        ManageApplications.this, android.R.anim.fade_in));
+            }
+            mListContainer.setVisibility(View.VISIBLE);
+            mLoadingContainer.setVisibility(View.GONE);
+            mWaitingForData = false;
+            mBaseEntries = apps;
+            mEntries = applyPrefixFilter(mCurFilterPrefix, mBaseEntries);
+            notifyDataSetChanged();
+            updateStorageUsage();
+        }
+
+        @Override
+        public void onPackageListChanged() {
+            rebuild(false);
+        }
+
+        @Override
+        public void onPackageIconChanged() {
+            // We ensure icons are loaded when their item is displayed, so
+            // don't care about icons loaded in the background.
+        }
+
+        @Override
+        public void onPackageSizeChanged(String packageName) {
+            for (int i=0; i<mActive.size(); i++) {
+                AppViewHolder holder = (AppViewHolder)mActive.get(i).getTag();
+                if (holder.entry.info.packageName.equals(packageName)) {
+                    synchronized (holder.entry) {
+                        holder.updateSizeText(ManageApplications.this);
+                    }
+                    if (holder.entry.info.packageName.equals(mCurrentPkgName)
+                            && mLastSortMode == SORT_ORDER_SIZE) {
+                        // We got the size information for the last app the
+                        // user viewed, and are sorting by size...  they may
+                        // have cleared data, so we immediately want to resort
+                        // the list with the new size to reflect it to the user.
+                        rebuild(false);
+                    }
+                    updateStorageUsage();
+                    return;
+                }
+            }
+        }
+
+        @Override
+        public void onAllSizesComputed() {
+            if (mLastSortMode == SORT_ORDER_SIZE) {
+                rebuild(false);
+            }
+        }
+        
+        public int getCount() {
+            return mEntries != null ? mEntries.size() : 0;
+        }
+        
+        public Object getItem(int position) {
+            return mEntries.get(position);
+        }
+        
+        public ApplicationsState.AppEntry getAppEntry(int position) {
+            return mEntries.get(position);
+        }
+
+        public long getItemId(int position) {
+            return mEntries.get(position).id;
+        }
+        
+        public View getView(int position, View convertView, ViewGroup parent) {
+            // A ViewHolder keeps references to children views to avoid unnecessary calls
+            // to findViewById() on each row.
+            AppViewHolder holder;
+
+            // When convertView is not null, we can reuse it directly, there is no need
+            // to reinflate it. We only inflate a new View when the convertView supplied
+            // by ListView is null.
+            if (convertView == null) {
+                convertView = mInflater.inflate(R.layout.manage_applications_item, null);
+
+                // Creates a ViewHolder and store references to the two children views
+                // we want to bind data to.
+                holder = new AppViewHolder();
+                holder.appName = (TextView) convertView.findViewById(R.id.app_name);
+                holder.appIcon = (ImageView) convertView.findViewById(R.id.app_icon);
+                holder.appSize = (TextView) convertView.findViewById(R.id.app_size);
+                holder.disabled = (TextView) convertView.findViewById(R.id.app_disabled);
+                holder.checkBox = (CheckBox) convertView.findViewById(R.id.app_on_sdcard);
+                convertView.setTag(holder);
+            } else {
+                // Get the ViewHolder back to get fast access to the TextView
+                // and the ImageView.
+                holder = (AppViewHolder) convertView.getTag();
+            }
+
+            // Bind the data efficiently with the holder
+            ApplicationsState.AppEntry entry = mEntries.get(position);
+            synchronized (entry) {
+                holder.entry = entry;
+                if (entry.label != null) {
+                    holder.appName.setText(entry.label);
+                    holder.appName.setTextColor(getResources().getColorStateList(
+                            entry.info.enabled ? android.R.color.primary_text_dark
+                                    : android.R.color.secondary_text_dark));
+                }
+                mState.ensureIcon(entry);
+                if (entry.icon != null) {
+                    holder.appIcon.setImageDrawable(entry.icon);
+                }
+                holder.updateSizeText(ManageApplications.this);
+                if (InstalledAppDetails.SUPPORT_DISABLE_APPS) {
+                    holder.disabled.setVisibility(entry.info.enabled ? View.GONE : View.VISIBLE);
+                } else {
+                    holder.disabled.setVisibility(View.GONE);
+                }
+                if (mLastFilterMode == FILTER_APPS_SDCARD) {
+                    holder.checkBox.setVisibility(View.VISIBLE);
+                    holder.checkBox.setChecked((entry.info.flags
+                            & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0);
+                } else {
+                    holder.checkBox.setVisibility(View.GONE);
+                }
+            }
+            mActive.remove(convertView);
+            mActive.add(convertView);
+            return convertView;
+        }
+
+        @Override
+        public Filter getFilter() {
+            return mFilter;
+        }
+
+        @Override
+        public void onMovedToScrapHeap(View view) {
+            mActive.remove(view);
+        }
+    }
+    
+    static final String TAB_DOWNLOADED = "Downloaded";
+    static final String TAB_RUNNING = "Running";
+    static final String TAB_ALL = "All";
+    static final String TAB_SDCARD = "OnSdCard";
+    private View mRootView;
+    
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        mApplicationsState = ApplicationsState.getInstance(getApplication());
+        mApplicationsAdapter = new ApplicationsAdapter(mApplicationsState);
+        Intent intent = getIntent();
+        String action = intent.getAction();
+        String defaultTabTag = TAB_DOWNLOADED;
+        if (intent.getComponent().getClassName().equals(
+                "com.android.settings.RunningServices")) {
+            defaultTabTag = TAB_RUNNING;
+        } else if (intent.getComponent().getClassName().equals(
+                "com.android.settings.applications.StorageUse")
+                || action.equals(Intent.ACTION_MANAGE_PACKAGE_STORAGE)) {
+            mSortOrder = SORT_ORDER_SIZE;
+            mFilterApps = FILTER_APPS_ALL;
+            defaultTabTag = TAB_ALL;
+        } else if (action.equals(Settings.ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS)) {
+            // Select the all-apps tab, with the default sorting
+            defaultTabTag = TAB_ALL;
+        }
+        
+        if (savedInstanceState != null) {
+            mSortOrder = savedInstanceState.getInt("sortOrder", mSortOrder);
+            mFilterApps = savedInstanceState.getInt("filterApps", mFilterApps);
+            String tmp = savedInstanceState.getString("defaultTabTag");
+            if (tmp != null) defaultTabTag = tmp;
+        }
+        
+        mNonConfigInstance = getLastNonConfigurationInstance();
+        
+        mDataFileStats = new StatFs("/data");
+        mSDCardFileStats = new StatFs(Environment.getExternalStorageDirectory().toString());
+
+        // initialize some window features
+        requestWindowFeature(Window.FEATURE_RIGHT_ICON);
+        requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
+        mInvalidSizeStr = getText(R.string.invalid_size_value);
+        mComputingSizeStr = getText(R.string.computing_size);
+        // initialize the inflater
+        mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+        mRootView = mInflater.inflate(R.layout.manage_applications, null);
+        mLoadingContainer = mRootView.findViewById(R.id.loading_container);
+        mListContainer = mRootView.findViewById(R.id.list_container);
+        // Create adapter and list view here
+        ListView lv = (ListView) mListContainer.findViewById(android.R.id.list);
+        View emptyView = mListContainer.findViewById(com.android.internal.R.id.empty);
+        if (emptyView != null) {
+            lv.setEmptyView(emptyView);
+        }
+        lv.setOnItemClickListener(this);
+        lv.setSaveEnabled(true);
+        lv.setItemsCanFocus(true);
+        lv.setOnItemClickListener(this);
+        lv.setTextFilterEnabled(true);
+        mListView = lv;
+        lv.setRecyclerListener(mApplicationsAdapter);
+        mListView.setAdapter(mApplicationsAdapter);
+        mColorBar = (LinearColorBar)mListContainer.findViewById(R.id.storage_color_bar);
+        mStorageChartLabel = (TextView)mListContainer.findViewById(R.id.storageChartLabel);
+        mUsedStorageText = (TextView)mListContainer.findViewById(R.id.usedStorageText);
+        mFreeStorageText = (TextView)mListContainer.findViewById(R.id.freeStorageText);
+        mRunningProcessesView = (RunningProcessesView)mRootView.findViewById(
+                R.id.running_processes);
+
+        final TabHost tabHost = getTabHost();
+        tabHost.addTab(tabHost.newTabSpec(TAB_DOWNLOADED)
+                .setIndicator(getString(R.string.filter_apps_third_party),
+                        getResources().getDrawable(R.drawable.ic_tab_download))
+                .setContent(this));
+        tabHost.addTab(tabHost.newTabSpec(TAB_ALL)
+                .setIndicator(getString(R.string.filter_apps_all),
+                        getResources().getDrawable(R.drawable.ic_tab_all))
+                .setContent(this));
+        tabHost.addTab(tabHost.newTabSpec(TAB_SDCARD)
+                .setIndicator(getString(R.string.filter_apps_onsdcard),
+                        getResources().getDrawable(R.drawable.ic_tab_sdcard))
+                .setContent(this));
+        tabHost.addTab(tabHost.newTabSpec(TAB_RUNNING)
+                .setIndicator(getString(R.string.filter_apps_running),
+                        getResources().getDrawable(R.drawable.ic_tab_running))
+                .setContent(this));
+        tabHost.setCurrentTabByTag(defaultTabTag);
+        tabHost.setOnTabChangedListener(this);
+    }
+    
+    @Override
+    public void onStart() {
+        super.onStart();
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        mActivityResumed = true;
+        showCurrentTab();
+    }
+
+    @Override
+    protected void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+        outState.putInt("sortOrder", mSortOrder);
+        outState.putInt("filterApps", mFilterApps);
+        outState.putString("defautTabTag", getTabHost().getCurrentTabTag());
+    }
+
+    @Override
+    public Object onRetainNonConfigurationInstance() {
+        return mRunningProcessesView.doRetainNonConfigurationInstance();
+    }
+    
+    @Override
+    protected void onPause() {
+        super.onPause();
+        mActivityResumed = false;
+        mApplicationsAdapter.pause();
+        if (mResumedRunning) {
+            mRunningProcessesView.doPause();
+            mResumedRunning = false;
+        }
+    }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode,
+            Intent data) {
+        if (requestCode == INSTALLED_APP_DETAILS && mCurrentPkgName != null) {
+            mApplicationsState.requestSize(mCurrentPkgName);
+        }
+    }
+    
+    // utility method used to start sub activity
+    private void startApplicationDetailsActivity() {
+        // Create intent to start new activity
+        Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
+                Uri.fromParts("package", mCurrentPkgName, null));
+        // start new activity to display extended information
+        startActivityForResult(intent, INSTALLED_APP_DETAILS);
+    }
+    
+    @Override
+    public boolean onCreateOptionsMenu(Menu menu) {
+        menu.add(0, SORT_ORDER_ALPHA, 1, R.string.sort_order_alpha)
+                .setIcon(android.R.drawable.ic_menu_sort_alphabetically);
+        menu.add(0, SORT_ORDER_SIZE, 2, R.string.sort_order_size)
+                .setIcon(android.R.drawable.ic_menu_sort_by_size); 
+        menu.add(0, SHOW_RUNNING_SERVICES, 3, R.string.show_running_services);
+        menu.add(0, SHOW_BACKGROUND_PROCESSES, 3, R.string.show_background_processes);
+        return true;
+    }
+    
+    @Override
+    public boolean onPrepareOptionsMenu(Menu menu) {
+        /*
+         * The running processes screen doesn't use the mApplicationsAdapter
+         * so bringing up this menu in that case doesn't make any sense.
+         */
+        if (mCurView == VIEW_RUNNING) {
+            boolean showingBackground = mRunningProcessesView.mAdapter.getShowBackground();
+            menu.findItem(SORT_ORDER_ALPHA).setVisible(false);
+            menu.findItem(SORT_ORDER_SIZE).setVisible(false);
+            menu.findItem(SHOW_RUNNING_SERVICES).setVisible(showingBackground);
+            menu.findItem(SHOW_BACKGROUND_PROCESSES).setVisible(!showingBackground);
+        } else {
+            menu.findItem(SORT_ORDER_ALPHA).setVisible(mSortOrder != SORT_ORDER_ALPHA);
+            menu.findItem(SORT_ORDER_SIZE).setVisible(mSortOrder != SORT_ORDER_SIZE);
+            menu.findItem(SHOW_RUNNING_SERVICES).setVisible(false);
+            menu.findItem(SHOW_BACKGROUND_PROCESSES).setVisible(false);
+        }
+        return true;
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        int menuId = item.getItemId();
+        if ((menuId == SORT_ORDER_ALPHA) || (menuId == SORT_ORDER_SIZE)) {
+            mSortOrder = menuId;
+            if (mCurView != VIEW_RUNNING) {
+                mApplicationsAdapter.rebuild(mFilterApps, mSortOrder);
+            }
+        } else if (menuId == SHOW_RUNNING_SERVICES) {
+            mRunningProcessesView.mAdapter.setShowBackground(false);
+        } else if (menuId == SHOW_BACKGROUND_PROCESSES) {
+            mRunningProcessesView.mAdapter.setShowBackground(true);
+        }
+        return true;
+    }
+    
+    @Override
+    public boolean onKeyUp(int keyCode, KeyEvent event) {
+        if (keyCode == KeyEvent.KEYCODE_SEARCH && event.isTracking()) {
+            if (mCurView != VIEW_RUNNING) {
+                ((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE))
+                        .showSoftInputUnchecked(0, null);
+            }
+            return true;
+        }
+        return super.onKeyUp(keyCode, event);
+    }
+
+    public void onItemClick(AdapterView<?> parent, View view, int position,
+            long id) {
+        ApplicationsState.AppEntry entry = mApplicationsAdapter.getAppEntry(position);
+        mCurrentPkgName = entry.info.packageName;
+        startApplicationDetailsActivity();
+    }
+    
+    // Finish the activity if the user presses the back button to cancel the activity
+    public void onCancel(DialogInterface dialog) {
+        finish();
+    }
+
+    public View createTabContent(String tag) {
+        return mRootView;
+    }
+
+    static final int VIEW_NOTHING = 0;
+    static final int VIEW_LIST = 1;
+    static final int VIEW_RUNNING = 2;
+
+    void updateStorageUsage() {
+        if (mCurView == VIEW_RUNNING) {
+            return;
+        }
+
+        long freeStorage = 0;
+        long appStorage = 0;
+        long totalStorage = 0;
+        CharSequence newLabel = null;
+
+        if (mFilterApps == FILTER_APPS_SDCARD) {
+            if (mLastShowedInternalStorage) {
+                mLastShowedInternalStorage = false;
+            }
+            newLabel = this.getText(R.string.sd_card_storage);
+            mSDCardFileStats.restat(Environment.getExternalStorageDirectory().toString());
+            try {
+                totalStorage = (long)mSDCardFileStats.getBlockCount() *
+                        mSDCardFileStats.getBlockSize();
+                freeStorage = (long) mSDCardFileStats.getAvailableBlocks() *
+                mSDCardFileStats.getBlockSize();
+            } catch (IllegalArgumentException e) {
+                // use the old value of mFreeMem
+            }
+        } else {
+            if (!mLastShowedInternalStorage) {
+                mLastShowedInternalStorage = true;
+            }
+            newLabel = this.getText(R.string.internal_storage);
+            mDataFileStats.restat("/data");
+            try {
+                totalStorage = (long)mDataFileStats.getBlockCount() *
+                        mDataFileStats.getBlockSize();
+                freeStorage = (long) mDataFileStats.getAvailableBlocks() *
+                    mDataFileStats.getBlockSize();
+            } catch (IllegalArgumentException e) {
+            }
+            final int N = mApplicationsAdapter.getCount();
+            for (int i=0; i<N; i++) {
+                ApplicationsState.AppEntry ae = mApplicationsAdapter.getAppEntry(i);
+                appStorage += ae.codeSize + ae.dataSize;
+            }
+            freeStorage += mApplicationsState.sumCacheSizes();
+        }
+        if (newLabel != null) {
+            mStorageChartLabel.setText(newLabel);
+        }
+        if (totalStorage > 0) {
+            mColorBar.setRatios((totalStorage-freeStorage-appStorage)/(float)totalStorage,
+                    appStorage/(float)totalStorage, freeStorage/(float)totalStorage);
+            long usedStorage = totalStorage - freeStorage;
+            if (mLastUsedStorage != usedStorage) {
+                mLastUsedStorage = usedStorage;
+                String sizeStr = Formatter.formatShortFileSize(this, usedStorage);
+                mUsedStorageText.setText(getResources().getString(
+                        R.string.service_foreground_processes, sizeStr));
+            }
+            if (mLastFreeStorage != freeStorage) {
+                mLastFreeStorage = freeStorage;
+                String sizeStr = Formatter.formatShortFileSize(this, freeStorage);
+                mFreeStorageText.setText(getResources().getString(
+                        R.string.service_background_processes, sizeStr));
+            }
+        } else {
+            mColorBar.setRatios(0, 0, 0);
+            if (mLastUsedStorage != -1) {
+                mLastUsedStorage = -1;
+                mUsedStorageText.setText("");
+            }
+            if (mLastFreeStorage != -1) {
+                mLastFreeStorage = -1;
+                mFreeStorageText.setText("");
+            }
+        }
+    }
+
+    private void selectView(int which) {
+        if (which == VIEW_LIST) {
+            if (mResumedRunning) {
+                mRunningProcessesView.doPause();
+                mResumedRunning = false;
+            }
+            if (mCurView != which) {
+                mRunningProcessesView.setVisibility(View.GONE);
+                mListContainer.setVisibility(View.VISIBLE);
+                mLoadingContainer.setVisibility(View.GONE);
+            }
+            if (mActivityResumed) {
+                mApplicationsAdapter.resume(mFilterApps, mSortOrder);
+            }
+        } else if (which == VIEW_RUNNING) {
+            if (!mCreatedRunning) {
+                mRunningProcessesView.doCreate(null, mNonConfigInstance);
+                mCreatedRunning = true;
+            }
+            boolean haveData = true;
+            if (mActivityResumed && !mResumedRunning) {
+                haveData = mRunningProcessesView.doResume(mRunningProcessesAvail);
+                mResumedRunning = true;
+            }
+            mApplicationsAdapter.pause();
+            if (mCurView != which) {
+                if (haveData) {
+                    mRunningProcessesView.setVisibility(View.VISIBLE);
+                } else {
+                    mLoadingContainer.setVisibility(View.VISIBLE);
+                }
+                mListContainer.setVisibility(View.GONE);
+            }
+        }
+        mCurView = which;
+    }
+
+    void handleRunningProcessesAvail() {
+        if (mCurView == VIEW_RUNNING) {
+            mLoadingContainer.startAnimation(AnimationUtils.loadAnimation(
+                    this, android.R.anim.fade_out));
+            mRunningProcessesView.startAnimation(AnimationUtils.loadAnimation(
+                    this, android.R.anim.fade_in));
+            mRunningProcessesView.setVisibility(View.VISIBLE);
+            mLoadingContainer.setVisibility(View.GONE);
+        }
+    }
+
+    public void showCurrentTab() {
+        String tabId = getTabHost().getCurrentTabTag();
+        int newOption;
+        if (TAB_DOWNLOADED.equalsIgnoreCase(tabId)) {
+            newOption = FILTER_APPS_THIRD_PARTY;
+        } else if (TAB_ALL.equalsIgnoreCase(tabId)) {
+            newOption = FILTER_APPS_ALL;
+        } else if (TAB_SDCARD.equalsIgnoreCase(tabId)) {
+            newOption = FILTER_APPS_SDCARD;
+        } else if (TAB_RUNNING.equalsIgnoreCase(tabId)) {
+            ((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE))
+                    .hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), 0);
+            selectView(VIEW_RUNNING);
+            return;
+        } else {
+            // Invalid option. Do nothing
+            return;
+        }
+        
+        mFilterApps = newOption;
+        selectView(VIEW_LIST);
+        updateStorageUsage();
+    }
+
+    public void onTabChanged(String tabId) {
+        showCurrentTab();
+    }
+}
diff --git a/src/com/android/settings/applications/RunningProcessesView.java b/src/com/android/settings/applications/RunningProcessesView.java
new file mode 100644
index 0000000..86457bf
--- /dev/null
+++ b/src/com/android/settings/applications/RunningProcessesView.java
@@ -0,0 +1,522 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.applications;
+
+import com.android.settings.R;
+
+import android.app.ActivityManager;
+import android.app.Dialog;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.os.Bundle;
+import android.os.SystemClock;
+import android.os.SystemProperties;
+import android.text.format.DateUtils;
+import android.text.format.Formatter;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AdapterView;
+import android.widget.BaseAdapter;
+import android.widget.FrameLayout;
+import android.widget.ImageView;
+import android.widget.ListView;
+import android.widget.TextView;
+import android.widget.AbsListView.RecyclerListener;
+
+import java.io.FileInputStream;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+
+public class RunningProcessesView extends FrameLayout
+        implements AdapterView.OnItemClickListener, RecyclerListener,
+        RunningState.OnRefreshUiListener {
+    
+    // Memory pages are 4K.
+    static final long PAGE_SIZE = 4*1024;
+    
+    long SECONDARY_SERVER_MEM;
+    
+    final HashMap<View, ActiveItem> mActiveItems = new HashMap<View, ActiveItem>();
+    
+    ActivityManager mAm;
+    
+    RunningState mState;
+    
+    Runnable mDataAvail;
+
+    StringBuilder mBuilder = new StringBuilder(128);
+    
+    RunningState.BaseItem mCurSelected;
+    
+    ListView mListView;
+    ServiceListAdapter mAdapter;
+    LinearColorBar mColorBar;
+    TextView mBackgroundProcessText;
+    TextView mForegroundProcessText;
+    
+    int mLastNumBackgroundProcesses = -1;
+    int mLastNumForegroundProcesses = -1;
+    int mLastNumServiceProcesses = -1;
+    long mLastBackgroundProcessMemory = -1;
+    long mLastForegroundProcessMemory = -1;
+    long mLastServiceProcessMemory = -1;
+    long mLastAvailMemory = -1;
+    
+    Dialog mCurDialog;
+    
+    byte[] mBuffer = new byte[1024];
+    
+    public static class ActiveItem {
+        View mRootView;
+        RunningState.BaseItem mItem;
+        ActivityManager.RunningServiceInfo mService;
+        ViewHolder mHolder;
+        long mFirstRunTime;
+        boolean mSetBackground;
+        
+        void updateTime(Context context, StringBuilder builder) {
+            TextView uptimeView = null;
+            
+            if (mItem instanceof RunningState.ServiceItem) {
+                // If we are displaying a service, then the service
+                // uptime goes at the top.
+                uptimeView = mHolder.size;
+                
+            } else {
+                String size = mItem.mSizeStr != null ? mItem.mSizeStr : "";
+                if (!size.equals(mItem.mCurSizeStr)) {
+                    mItem.mCurSizeStr = size;
+                    mHolder.size.setText(size);
+                }
+                
+                if (mItem.mBackground) {
+                    // This is a background process; no uptime.
+                    if (!mSetBackground) {
+                        mSetBackground = true;
+                        mHolder.uptime.setText("");
+                    }
+                } else if (mItem instanceof RunningState.MergedItem) {
+                    // This item represents both services and processes,
+                    // so show the service uptime below.
+                    uptimeView = mHolder.uptime;
+                }
+            }
+            
+            if (uptimeView != null) {
+                mSetBackground = false;
+                if (mFirstRunTime >= 0) {
+                    //Log.i("foo", "Time for " + mItem.mDisplayLabel
+                    //        + ": " + (SystemClock.uptimeMillis()-mFirstRunTime));
+                    uptimeView.setText(DateUtils.formatElapsedTime(builder,
+                            (SystemClock.elapsedRealtime()-mFirstRunTime)/1000));
+                } else {
+                    boolean isService = false;
+                    if (mItem instanceof RunningState.MergedItem) {
+                        isService = ((RunningState.MergedItem)mItem).mServices.size() > 0;
+                    }
+                    if (isService) {
+                        uptimeView.setText(context.getResources().getText(
+                                R.string.service_restarting));
+                    } else {
+                        uptimeView.setText("");
+                    }
+                }
+            }
+        }
+    }
+    
+    public static class ViewHolder {
+        public View rootView;
+        public ImageView icon;
+        public TextView name;
+        public TextView description;
+        public TextView size;
+        public TextView uptime;
+        
+        public ViewHolder(View v) {
+            rootView = v;
+            icon = (ImageView)v.findViewById(R.id.icon);
+            name = (TextView)v.findViewById(R.id.name);
+            description = (TextView)v.findViewById(R.id.description);
+            size = (TextView)v.findViewById(R.id.size);
+            uptime = (TextView)v.findViewById(R.id.uptime);
+            v.setTag(this);
+        }
+        
+        public ActiveItem bind(RunningState state, RunningState.BaseItem item,
+                StringBuilder builder) {
+            synchronized (state.mLock) {
+                PackageManager pm = rootView.getContext().getPackageManager();
+                if (item.mPackageInfo == null && item instanceof RunningState.MergedItem) {
+                    // Items for background processes don't normally load
+                    // their labels for performance reasons.  Do it now.
+                    ((RunningState.MergedItem)item).mProcess.ensureLabel(pm);
+                    item.mPackageInfo = ((RunningState.MergedItem)item).mProcess.mPackageInfo;
+                    item.mDisplayLabel = ((RunningState.MergedItem)item).mProcess.mDisplayLabel;
+                }
+                name.setText(item.mDisplayLabel);
+                ActiveItem ai = new ActiveItem();
+                ai.mRootView = rootView;
+                ai.mItem = item;
+                ai.mHolder = this;
+                ai.mFirstRunTime = item.mActiveSince;
+                if (item.mBackground) {
+                    description.setText(rootView.getContext().getText(R.string.cached));
+                } else {
+                    description.setText(item.mDescription);
+                }
+                item.mCurSizeStr = null;
+                if (item.mPackageInfo != null) {
+                    icon.setImageDrawable(item.mPackageInfo.loadIcon(pm));
+                }
+                icon.setVisibility(View.VISIBLE);
+                ai.updateTime(rootView.getContext(), builder);
+                return ai;
+            }
+        }
+    }
+    
+    static class TimeTicker extends TextView {
+        public TimeTicker(Context context, AttributeSet attrs) {
+            super(context, attrs);
+        }
+    }
+    
+    class ServiceListAdapter extends BaseAdapter {
+        final RunningState mState;
+        final LayoutInflater mInflater;
+        boolean mShowBackground;
+        ArrayList<RunningState.MergedItem> mItems;
+        
+        ServiceListAdapter(RunningState state) {
+            mState = state;
+            mInflater = (LayoutInflater)getContext().getSystemService(
+                    Context.LAYOUT_INFLATER_SERVICE);
+            refreshItems();
+        }
+
+        void setShowBackground(boolean showBackground) {
+            if (mShowBackground != showBackground) {
+                mShowBackground = showBackground;
+                mState.setWatchingBackgroundItems(showBackground);
+                refreshItems();
+                notifyDataSetChanged();
+                mColorBar.setShowingGreen(mShowBackground);
+            }
+        }
+
+        boolean getShowBackground() {
+            return mShowBackground;
+        }
+
+        void refreshItems() {
+            ArrayList<RunningState.MergedItem> newItems =
+                mShowBackground ? mState.getCurrentBackgroundItems()
+                        : mState.getCurrentMergedItems();
+            if (mItems != newItems) {
+                mItems = newItems;
+            }
+            if (mItems == null) {
+                mItems = new ArrayList<RunningState.MergedItem>();
+            }
+        }
+        
+        public boolean hasStableIds() {
+            return true;
+        }
+        
+        public int getCount() {
+            return mItems.size();
+        }
+
+        @Override
+        public boolean isEmpty() {
+            return mState.hasData() && mItems.size() == 0;
+        }
+
+        public Object getItem(int position) {
+            return mItems.get(position);
+        }
+
+        public long getItemId(int position) {
+            return mItems.get(position).hashCode();
+        }
+
+        public boolean areAllItemsEnabled() {
+            return false;
+        }
+
+        public boolean isEnabled(int position) {
+            return !mItems.get(position).mIsProcess;
+        }
+
+        public View getView(int position, View convertView, ViewGroup parent) {
+            View v;
+            if (convertView == null) {
+                v = newView(parent);
+            } else {
+                v = convertView;
+            }
+            bindView(v, position);
+            return v;
+        }
+        
+        public View newView(ViewGroup parent) {
+            View v = mInflater.inflate(R.layout.running_processes_item, parent, false);
+            new ViewHolder(v);
+            return v;
+        }
+        
+        public void bindView(View view, int position) {
+            synchronized (mState.mLock) {
+                if (position >= mItems.size()) {
+                    // List must have changed since we last reported its
+                    // size...  ignore here, we will be doing a data changed
+                    // to refresh the entire list.
+                    return;
+                }
+                ViewHolder vh = (ViewHolder) view.getTag();
+                RunningState.MergedItem item = mItems.get(position);
+                ActiveItem ai = vh.bind(mState, item, mBuilder);
+                mActiveItems.put(view, ai);
+            }
+        }
+    }
+    
+    private boolean matchText(byte[] buffer, int index, String text) {
+        int N = text.length();
+        if ((index+N) >= buffer.length) {
+            return false;
+        }
+        for (int i=0; i<N; i++) {
+            if (buffer[index+i] != text.charAt(i)) {
+                return false;
+            }
+        }
+        return true;
+    }
+    
+    private long extractMemValue(byte[] buffer, int index) {
+        while (index < buffer.length && buffer[index] != '\n') {
+            if (buffer[index] >= '0' && buffer[index] <= '9') {
+                int start = index;
+                index++;
+                while (index < buffer.length && buffer[index] >= '0'
+                    && buffer[index] <= '9') {
+                    index++;
+                }
+                String str = new String(buffer, 0, start, index-start);
+                return ((long)Integer.parseInt(str)) * 1024;
+            }
+            index++;
+        }
+        return 0;
+    }
+    
+    private long readAvailMem() {
+        try {
+            long memFree = 0;
+            long memCached = 0;
+            FileInputStream is = new FileInputStream("/proc/meminfo");
+            int len = is.read(mBuffer);
+            is.close();
+            final int BUFLEN = mBuffer.length;
+            for (int i=0; i<len && (memFree == 0 || memCached == 0); i++) {
+                if (matchText(mBuffer, i, "MemFree")) {
+                    i += 7;
+                    memFree = extractMemValue(mBuffer, i);
+                } else if (matchText(mBuffer, i, "Cached")) {
+                    i += 6;
+                    memCached = extractMemValue(mBuffer, i);
+                }
+                while (i < BUFLEN && mBuffer[i] != '\n') {
+                    i++;
+                }
+            }
+            return memFree + memCached;
+        } catch (java.io.FileNotFoundException e) {
+        } catch (java.io.IOException e) {
+        }
+        return 0;
+    }
+
+    
+    void refreshUi(boolean dataChanged) {
+        if (dataChanged) {
+            ServiceListAdapter adapter = (ServiceListAdapter)(mListView.getAdapter());
+            adapter.refreshItems();
+            adapter.notifyDataSetChanged();
+        }
+        
+        if (mDataAvail != null) {
+            mDataAvail.run();
+            mDataAvail = null;
+        }
+
+        // This is the amount of available memory until we start killing
+        // background services.
+        long availMem = readAvailMem() - SECONDARY_SERVER_MEM;
+        if (availMem < 0) {
+            availMem = 0;
+        }
+        
+        synchronized (mState.mLock) {
+            if (mLastNumBackgroundProcesses != mState.mNumBackgroundProcesses
+                    || mLastBackgroundProcessMemory != mState.mBackgroundProcessMemory
+                    || mLastAvailMemory != availMem) {
+                mLastNumBackgroundProcesses = mState.mNumBackgroundProcesses;
+                mLastBackgroundProcessMemory = mState.mBackgroundProcessMemory;
+                mLastAvailMemory = availMem;
+                String sizeStr = Formatter.formatShortFileSize(getContext(),
+                        mLastAvailMemory + mLastBackgroundProcessMemory);
+                mBackgroundProcessText.setText(getResources().getString(
+                        R.string.service_background_processes, sizeStr));
+            }
+            if (mLastNumForegroundProcesses != mState.mNumForegroundProcesses
+                    || mLastForegroundProcessMemory != mState.mForegroundProcessMemory
+                    || mLastNumServiceProcesses != mState.mNumServiceProcesses
+                    || mLastServiceProcessMemory != mState.mServiceProcessMemory) {
+                mLastNumForegroundProcesses = mState.mNumForegroundProcesses;
+                mLastForegroundProcessMemory = mState.mForegroundProcessMemory;
+                mLastNumServiceProcesses = mState.mNumServiceProcesses;
+                mLastServiceProcessMemory = mState.mServiceProcessMemory;
+                String sizeStr = Formatter.formatShortFileSize(getContext(),
+                        mLastForegroundProcessMemory + mLastServiceProcessMemory);
+                mForegroundProcessText.setText(getResources().getString(
+                        R.string.service_foreground_processes, sizeStr));
+            }
+            
+            float totalMem = availMem + mLastBackgroundProcessMemory
+                    + mLastForegroundProcessMemory + mLastServiceProcessMemory;
+            mColorBar.setRatios(mLastForegroundProcessMemory/totalMem,
+                    mLastServiceProcessMemory/totalMem,
+                    mLastBackgroundProcessMemory/totalMem);
+        }
+    }
+    
+    public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
+        ListView l = (ListView)parent;
+        RunningState.MergedItem mi = (RunningState.MergedItem)l.getAdapter().getItem(position);
+        mCurSelected = mi;
+        Intent intent = new Intent();
+        intent.putExtra(RunningServiceDetails.KEY_UID, mi.mProcess.mUid);
+        intent.putExtra(RunningServiceDetails.KEY_PROCESS, mi.mProcess.mProcessName);
+        intent.putExtra(RunningServiceDetails.KEY_BACKGROUND, mAdapter.mShowBackground);
+        intent.setClass(getContext(), RunningServiceDetails.class);
+        getContext().startActivity(intent);
+    }
+
+    public void onMovedToScrapHeap(View view) {
+        mActiveItems.remove(view);
+    }
+
+    public RunningProcessesView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+    
+    public void doCreate(Bundle savedInstanceState, Object nonConfigurationInstace) {
+        mAm = (ActivityManager)getContext().getSystemService(Context.ACTIVITY_SERVICE);
+        mState = RunningState.getInstance(getContext());
+        LayoutInflater inflater = (LayoutInflater)getContext().getSystemService(
+                Context.LAYOUT_INFLATER_SERVICE);
+        inflater.inflate(R.layout.running_processes_view, this);
+        mListView = (ListView)findViewById(android.R.id.list);
+        View emptyView = findViewById(com.android.internal.R.id.empty);
+        if (emptyView != null) {
+            mListView.setEmptyView(emptyView);
+        }
+        mListView.setOnItemClickListener(this);
+        mListView.setRecyclerListener(this);
+        mAdapter = new ServiceListAdapter(mState);
+        mListView.setAdapter(mAdapter);
+        mColorBar = (LinearColorBar)findViewById(R.id.color_bar);
+        mBackgroundProcessText = (TextView)findViewById(R.id.backgroundText);
+        mBackgroundProcessText.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                mAdapter.setShowBackground(true);
+            }
+        });
+        mForegroundProcessText = (TextView)findViewById(R.id.foregroundText);
+        mForegroundProcessText.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                mAdapter.setShowBackground(false);
+            }
+        });
+        
+        // Magic!  Implementation detail!  Don't count on this!
+        SECONDARY_SERVER_MEM =
+            Integer.valueOf(SystemProperties.get("ro.SECONDARY_SERVER_MEM"))*PAGE_SIZE;
+    }
+    
+    public void doPause() {
+        mState.pause();
+        mDataAvail = null;
+    }
+
+    public boolean doResume(Runnable dataAvail) {
+        mState.resume(this);
+        if (mState.hasData()) {
+            // If the state already has its data, then let's populate our
+            // list right now to avoid flicker.
+            refreshUi(true);
+            return true;
+        }
+        mDataAvail = dataAvail;
+        return false;
+    }
+
+    public Object doRetainNonConfigurationInstance() {
+        return null;
+    }
+
+    void updateTimes() {
+        Iterator<ActiveItem> it = mActiveItems.values().iterator();
+        while (it.hasNext()) {
+            ActiveItem ai = it.next();
+            if (ai.mRootView.getWindowToken() == null) {
+                // Clean out any dead views, just in case.
+                it.remove();
+                continue;
+            }
+            ai.updateTime(getContext(), mBuilder);
+        }
+    }
+
+    @Override
+    public void onRefreshUi(int what) {
+        switch (what) {
+            case REFRESH_TIME:
+                updateTimes();
+                break;
+            case REFRESH_DATA:
+                refreshUi(false);
+                updateTimes();
+                break;
+            case REFRESH_STRUCTURE:
+                refreshUi(true);
+                updateTimes();
+                break;
+        }
+    }
+}
diff --git a/src/com/android/settings/applications/RunningServiceDetails.java b/src/com/android/settings/applications/RunningServiceDetails.java
new file mode 100644
index 0000000..aa89baf
--- /dev/null
+++ b/src/com/android/settings/applications/RunningServiceDetails.java
@@ -0,0 +1,536 @@
+package com.android.settings.applications;
+
+import com.android.settings.R;
+
+import android.app.Activity;
+import android.app.ActivityManager;
+import android.app.AlertDialog;
+import android.app.ApplicationErrorReport;
+import android.app.Dialog;
+import android.app.PendingIntent;
+import android.content.ActivityNotFoundException;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.IntentSender;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ProviderInfo;
+import android.content.pm.ServiceInfo;
+import android.content.pm.PackageManager.NameNotFoundException;
+import android.content.res.Resources;
+import android.os.Bundle;
+import android.os.Debug;
+import android.os.SystemClock;
+import android.provider.Settings;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+import android.widget.TextView;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+
+public class RunningServiceDetails extends Activity
+        implements RunningState.OnRefreshUiListener {
+    static final String TAG = "RunningServicesDetails";
+    
+    static final String KEY_UID = "uid";
+    static final String KEY_PROCESS = "process";
+    static final String KEY_BACKGROUND = "background";
+    
+    static final int DIALOG_CONFIRM_STOP = 1;
+    
+    ActivityManager mAm;
+    LayoutInflater mInflater;
+    
+    RunningState mState;
+    boolean mHaveData;
+    
+    int mUid;
+    String mProcessName;
+    boolean mShowBackground;
+    
+    RunningState.MergedItem mMergedItem;
+    
+    ViewGroup mAllDetails;
+    ViewGroup mSnippet;
+    RunningProcessesView.ActiveItem mSnippetActiveItem;
+    RunningProcessesView.ViewHolder mSnippetViewHolder;
+    
+    int mNumServices, mNumProcesses;
+    
+    TextView mServicesHeader;
+    TextView mProcessesHeader;
+    final ArrayList<ActiveDetail> mActiveDetails = new ArrayList<ActiveDetail>();
+    
+    class ActiveDetail implements View.OnClickListener {
+        View mRootView;
+        Button mStopButton;
+        Button mReportButton;
+        RunningState.ServiceItem mServiceItem;
+        RunningProcessesView.ActiveItem mActiveItem;
+        RunningProcessesView.ViewHolder mViewHolder;
+        PendingIntent mManageIntent;
+        ComponentName mInstaller;
+
+        void stopActiveService(boolean confirmed) {
+            RunningState.ServiceItem si = mServiceItem;
+            if (!confirmed) {
+                if ((si.mServiceInfo.applicationInfo.flags&ApplicationInfo.FLAG_SYSTEM) != 0) {
+                    Bundle args = new Bundle();
+                    args.putParcelable("comp", si.mRunningService.service);
+                    removeDialog(DIALOG_CONFIRM_STOP);
+                    showDialog(DIALOG_CONFIRM_STOP, args);
+                    return;
+                }
+            }
+            stopService(new Intent().setComponent(si.mRunningService.service));
+            if (mMergedItem == null) {
+                // If this is gone, we are gone.
+                mState.updateNow();
+                finish();
+            } else if (!mShowBackground && mMergedItem.mServices.size() <= 1) {
+                // If there was only one service, we are finishing it,
+                // so no reason for the UI to stick around.
+                mState.updateNow();
+                finish();
+            } else {
+                mState.updateNow();
+            }
+        }
+        
+        public void onClick(View v) {
+            if (v == mReportButton) {
+                ApplicationErrorReport report = new ApplicationErrorReport();
+                report.type = ApplicationErrorReport.TYPE_RUNNING_SERVICE;
+                report.packageName = mServiceItem.mServiceInfo.packageName;
+                report.installerPackageName = mInstaller.getPackageName();
+                report.processName = mServiceItem.mRunningService.process;
+                report.time = System.currentTimeMillis();
+                report.systemApp = (mServiceItem.mServiceInfo.applicationInfo.flags
+                        & ApplicationInfo.FLAG_SYSTEM) != 0;
+                ApplicationErrorReport.RunningServiceInfo info
+                        = new ApplicationErrorReport.RunningServiceInfo();
+                if (mActiveItem.mFirstRunTime >= 0) {
+                    info.durationMillis = SystemClock.elapsedRealtime()-mActiveItem.mFirstRunTime;
+                } else {
+                    info.durationMillis = -1;
+                }
+                ComponentName comp = new ComponentName(mServiceItem.mServiceInfo.packageName,
+                        mServiceItem.mServiceInfo.name);
+                File filename = getFileStreamPath("service_dump.txt");
+                FileOutputStream output = null;
+                try {
+                    output = new FileOutputStream(filename);
+                    Debug.dumpService("activity", output.getFD(),
+                            new String[] { "-a", "service", comp.flattenToString() });
+                } catch (IOException e) {
+                    Log.w(TAG, "Can't dump service: " + comp, e);
+                } finally {
+                    if (output != null) try { output.close(); } catch (IOException e) {}
+                }
+                FileInputStream input = null;
+                try {
+                    input = new FileInputStream(filename);
+                    byte[] buffer = new byte[(int) filename.length()];
+                    input.read(buffer);
+                    info.serviceDetails = new String(buffer);
+                } catch (IOException e) {
+                    Log.w(TAG, "Can't read service dump: " + comp, e);
+                } finally {
+                    if (input != null) try { input.close(); } catch (IOException e) {}
+                }
+                filename.delete();
+                Log.i(TAG, "Details: " + info.serviceDetails);
+                report.runningServiceInfo = info;
+                Intent result = new Intent(Intent.ACTION_APP_ERROR);
+                result.setComponent(mInstaller);
+                result.putExtra(Intent.EXTRA_BUG_REPORT, report);
+                result.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+                startActivity(result);
+                return;
+            }
+
+            if (mManageIntent != null) {
+                try {
+                    startIntentSender(mManageIntent.getIntentSender(), null,
+                            Intent.FLAG_ACTIVITY_NEW_TASK
+                                    | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET,
+                            Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET, 0);
+                } catch (IntentSender.SendIntentException e) {
+                    Log.w(TAG, e);
+                } catch (IllegalArgumentException e) {
+                    Log.w(TAG, e);
+                } catch (ActivityNotFoundException e) {
+                    Log.w(TAG, e);
+                }
+            } else if (mServiceItem != null) {
+                stopActiveService(false);
+            } else if (mActiveItem.mItem.mBackground) {
+                // Background process.  Just kill it.
+                mAm.killBackgroundProcesses(mActiveItem.mItem.mPackageInfo.packageName);
+                finish();
+            } else {
+                // Heavy-weight process.  We'll do a force-stop on it.
+                mAm.forceStopPackage(mActiveItem.mItem.mPackageInfo.packageName);
+                finish();
+            }
+        }
+    }
+    
+    StringBuilder mBuilder = new StringBuilder(128);
+    
+    boolean findMergedItem() {
+        RunningState.MergedItem item = null;
+        ArrayList<RunningState.MergedItem> newItems = mShowBackground
+                ? mState.getCurrentBackgroundItems() : mState.getCurrentMergedItems();
+        if (newItems != null) {
+            for (int i=0; i<newItems.size(); i++) {
+                RunningState.MergedItem mi = newItems.get(i);
+                if (mi.mProcess.mUid == mUid
+                        && mi.mProcess.mProcessName.equals(mProcessName)) {
+                    item = mi;
+                    break;
+                }
+            }
+        }
+
+        if (mMergedItem != item) {
+            mMergedItem = item;
+            return true;
+        }
+        return false;
+    }
+    
+    void addServiceDetailsView(RunningState.ServiceItem si, RunningState.MergedItem mi) {
+        if (mNumServices == 0) {
+            mServicesHeader = (TextView)mInflater.inflate(R.layout.separator_label,
+                    mAllDetails, false);
+            mServicesHeader.setText(R.string.runningservicedetails_services_title);
+            mAllDetails.addView(mServicesHeader);
+        }
+        mNumServices++;
+        
+        RunningState.BaseItem bi = si != null ? si : mi;
+        
+        ActiveDetail detail = new ActiveDetail();
+        View root = mInflater.inflate(R.layout.running_service_details_service,
+                mAllDetails, false);
+        mAllDetails.addView(root);
+        detail.mRootView = root;
+        detail.mServiceItem = si;
+        detail.mViewHolder = new RunningProcessesView.ViewHolder(root);
+        detail.mActiveItem = detail.mViewHolder.bind(mState, bi, mBuilder);
+        
+        if (si != null && si.mRunningService.clientLabel != 0) {
+            detail.mManageIntent = mAm.getRunningServiceControlPanel(
+                    si.mRunningService.service);
+        }
+        
+        TextView description = (TextView)root.findViewById(R.id.comp_description);
+        if (si != null && si.mServiceInfo.descriptionRes != 0) {
+            description.setText(getPackageManager().getText(
+                    si.mServiceInfo.packageName, si.mServiceInfo.descriptionRes,
+                    si.mServiceInfo.applicationInfo));
+        } else {
+            if (mi.mBackground) {
+                description.setText(R.string.background_process_stop_description);
+            } else if (detail.mManageIntent != null) {
+                try {
+                    Resources clientr = getPackageManager().getResourcesForApplication(
+                            si.mRunningService.clientPackage);
+                    String label = clientr.getString(si.mRunningService.clientLabel);
+                    description.setText(getString(R.string.service_manage_description,
+                            label));
+                } catch (PackageManager.NameNotFoundException e) {
+                }
+            } else {
+                description.setText(getText(si != null
+                        ? R.string.service_stop_description
+                        : R.string.heavy_weight_stop_description));
+            }
+        }
+        
+        detail.mStopButton = (Button)root.findViewById(R.id.left_button);
+        detail.mStopButton.setOnClickListener(detail);
+        detail.mStopButton.setText(getText(detail.mManageIntent != null
+                ? R.string.service_manage : R.string.service_stop));
+
+        detail.mReportButton = (Button)root.findViewById(R.id.right_button);
+        detail.mReportButton.setOnClickListener(detail);
+        detail.mReportButton.setText(com.android.internal.R.string.report);
+        // check if error reporting is enabled in secure settings
+        int enabled = Settings.Secure.getInt(getContentResolver(),
+                Settings.Secure.SEND_ACTION_APP_ERROR, 0);
+        if (enabled != 0 && si != null) {
+            detail.mInstaller = ApplicationErrorReport.getErrorReportReceiver(
+                    this, si.mServiceInfo.packageName, si.mServiceInfo.applicationInfo.flags);
+            detail.mReportButton.setEnabled(detail.mInstaller != null);
+        } else {
+            detail.mReportButton.setEnabled(false);
+        }
+        
+        mActiveDetails.add(detail);
+    }
+    
+    void addProcessDetailsView(RunningState.ProcessItem pi, boolean isMain) {
+        if (mNumProcesses == 0) {
+            mProcessesHeader = (TextView)mInflater.inflate(R.layout.separator_label,
+                    mAllDetails, false);
+            mProcessesHeader.setText(R.string.runningservicedetails_processes_title);
+            mAllDetails.addView(mProcessesHeader);
+        }
+        mNumProcesses++;
+        
+        ActiveDetail detail = new ActiveDetail();
+        View root = mInflater.inflate(R.layout.running_service_details_process,
+                mAllDetails, false);
+        mAllDetails.addView(root);
+        detail.mRootView = root;
+        detail.mViewHolder = new RunningProcessesView.ViewHolder(root);
+        detail.mActiveItem = detail.mViewHolder.bind(mState, pi, mBuilder);
+        
+        TextView description = (TextView)root.findViewById(R.id.comp_description);
+        if (isMain) {
+            description.setText(R.string.main_running_process_description);
+        } else {
+            int textid = 0;
+            CharSequence label = null;
+            ActivityManager.RunningAppProcessInfo rpi = pi.mRunningProcessInfo;
+            final ComponentName comp = rpi.importanceReasonComponent;
+            //Log.i(TAG, "Secondary proc: code=" + rpi.importanceReasonCode
+            //        + " pid=" + rpi.importanceReasonPid + " comp=" + comp);
+            switch (rpi.importanceReasonCode) {
+                case ActivityManager.RunningAppProcessInfo.REASON_PROVIDER_IN_USE:
+                    textid = R.string.process_provider_in_use_description;
+                    if (rpi.importanceReasonComponent != null) {
+                        try {
+                            ProviderInfo prov = getPackageManager().getProviderInfo(
+                                    rpi.importanceReasonComponent, 0);
+                            label = RunningState.makeLabel(getPackageManager(),
+                                    prov.name, prov);
+                        } catch (NameNotFoundException e) {
+                        }
+                    }
+                    break;
+                case ActivityManager.RunningAppProcessInfo.REASON_SERVICE_IN_USE:
+                    textid = R.string.process_service_in_use_description;
+                    if (rpi.importanceReasonComponent != null) {
+                        try {
+                            ServiceInfo serv = getPackageManager().getServiceInfo(
+                                    rpi.importanceReasonComponent, 0);
+                            label = RunningState.makeLabel(getPackageManager(),
+                                    serv.name, serv);
+                        } catch (NameNotFoundException e) {
+                        }
+                    }
+                    break;
+            }
+            if (textid != 0 && label != null) {
+                description.setText(getString(textid, label));
+            }
+        }
+        
+        mActiveDetails.add(detail);
+    }
+    
+    void addDetailViews() {
+        for (int i=mActiveDetails.size()-1; i>=0; i--) {
+            mAllDetails.removeView(mActiveDetails.get(i).mRootView);
+        }
+        mActiveDetails.clear();
+        
+        if (mServicesHeader != null) {
+            mAllDetails.removeView(mServicesHeader);
+            mServicesHeader = null;
+        }
+        
+        if (mProcessesHeader != null) {
+            mAllDetails.removeView(mProcessesHeader);
+            mProcessesHeader = null;
+        }
+        
+        mNumServices = mNumProcesses = 0;
+        
+        if (mMergedItem != null) {
+            for (int i=0; i<mMergedItem.mServices.size(); i++) {
+                addServiceDetailsView(mMergedItem.mServices.get(i), mMergedItem);
+            }
+            
+            if (mMergedItem.mServices.size() <= 0) {
+                // This item does not have any services, so it must be
+                // another interesting process...  we will put a fake service
+                // entry for it, to allow the user to "stop" it.
+                addServiceDetailsView(null, mMergedItem);
+            }
+            
+            for (int i=-1; i<mMergedItem.mOtherProcesses.size(); i++) {
+                RunningState.ProcessItem pi = i < 0 ? mMergedItem.mProcess
+                        : mMergedItem.mOtherProcesses.get(i);
+                if (pi.mPid <= 0) {
+                    continue;
+                }
+                
+                addProcessDetailsView(pi, i < 0);
+            }
+        }
+    }
+    
+    void refreshUi(boolean dataChanged) {
+        if (findMergedItem()) {
+            dataChanged = true;
+        }
+        if (dataChanged) {
+            if (mMergedItem != null) {
+                mSnippetActiveItem = mSnippetViewHolder.bind(mState,
+                        mMergedItem, mBuilder);
+            } else if (mSnippetActiveItem != null) {
+                // Clear whatever is currently being shown.
+                mSnippetActiveItem.mHolder.size.setText("");
+                mSnippetActiveItem.mHolder.uptime.setText("");
+                mSnippetActiveItem.mHolder.description.setText(R.string.no_services);
+            } else {
+                // No merged item, never had one.  Nothing to do.
+                finish();
+                return;
+            }
+            addDetailViews();
+        }
+    }
+    
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        
+        mUid = getIntent().getIntExtra(KEY_UID, 0);
+        mProcessName = getIntent().getStringExtra(KEY_PROCESS);
+        mShowBackground = getIntent().getBooleanExtra(KEY_BACKGROUND, false);
+        
+        mAm = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
+        mInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+        
+        mState = RunningState.getInstance(this);
+        
+        setContentView(R.layout.running_service_details);
+        
+        mAllDetails = (ViewGroup)findViewById(R.id.all_details);
+        mSnippet = (ViewGroup)findViewById(R.id.snippet);
+        mSnippet.setBackgroundResource(com.android.internal.R.drawable.title_bar_medium);
+        mSnippet.setPadding(0, mSnippet.getPaddingTop(), 0, mSnippet.getPaddingBottom());
+        mSnippetViewHolder = new RunningProcessesView.ViewHolder(mSnippet);
+        
+        // We want to retrieve the data right now, so any active managed
+        // dialog that gets created can find it.
+        ensureData();
+    }
+
+    @Override
+    protected void onPause() {
+        super.onPause();
+        mHaveData = false;
+        mState.pause();
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        ensureData();
+    }
+
+    @Override
+    protected void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+    }
+    
+    ActiveDetail activeDetailForService(ComponentName comp) {
+        for (int i=0; i<mActiveDetails.size(); i++) {
+            ActiveDetail ad = mActiveDetails.get(i);
+            if (ad.mServiceItem != null && ad.mServiceItem.mRunningService != null
+                    && comp.equals(ad.mServiceItem.mRunningService.service)) {
+                return ad;
+            }
+        }
+        return null;
+    }
+    
+    @Override
+    protected Dialog onCreateDialog(int id, Bundle args) {
+        switch (id) {
+            case DIALOG_CONFIRM_STOP: {
+                final ComponentName comp = (ComponentName)args.getParcelable("comp");
+                if (activeDetailForService(comp) == null) {
+                    return null;
+                }
+                
+                return new AlertDialog.Builder(this)
+                        .setTitle(getString(R.string.runningservicedetails_stop_dlg_title))
+                        .setIcon(android.R.drawable.ic_dialog_alert)
+                        .setMessage(getString(R.string.runningservicedetails_stop_dlg_text))
+                        .setPositiveButton(R.string.dlg_ok,
+                                new DialogInterface.OnClickListener() {
+                            public void onClick(DialogInterface dialog, int which) {
+                                ActiveDetail ad = activeDetailForService(comp);
+                                if (ad != null) {
+                                    ad.stopActiveService(true);
+                                }
+                            }
+                        })
+                        .setNegativeButton(R.string.dlg_cancel, null)
+                        .create();
+            }
+            
+            default:
+                return super.onCreateDialog(id, args);
+        }
+    }
+
+    void ensureData() {
+        if (!mHaveData) {
+            mHaveData = true;
+            mState.resume(this);
+
+            // We want to go away if the service being shown no longer exists,
+            // so we need to ensure we have done the initial data retrieval before
+            // showing our ui.
+            mState.waitForData();
+
+            // And since we know we have the data, let's show the UI right away
+            // to avoid flicker.
+            refreshUi(true);
+        }
+    }
+    
+    void updateTimes() {
+        if (mSnippetActiveItem != null) {
+            mSnippetActiveItem.updateTime(RunningServiceDetails.this, mBuilder);
+        }
+        for (int i=0; i<mActiveDetails.size(); i++) {
+            mActiveDetails.get(i).mActiveItem.updateTime(
+                    RunningServiceDetails.this, mBuilder);
+        }
+    }
+
+    @Override
+    public void onRefreshUi(int what) {
+        switch (what) {
+            case REFRESH_TIME:
+                updateTimes();
+                break;
+            case REFRESH_DATA:
+                refreshUi(false);
+                updateTimes();
+                break;
+            case REFRESH_STRUCTURE:
+                refreshUi(true);
+                updateTimes();
+                break;
+        }
+    }
+}
diff --git a/src/com/android/settings/applications/RunningState.java b/src/com/android/settings/applications/RunningState.java
new file mode 100644
index 0000000..dbe4a64
--- /dev/null
+++ b/src/com/android/settings/applications/RunningState.java
@@ -0,0 +1,1036 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.applications;
+
+import com.android.settings.R;
+
+import android.app.ActivityManager;
+import android.app.ActivityManagerNative;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageItemInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ServiceInfo;
+import android.content.res.Resources;
+import android.os.Debug;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Looper;
+import android.os.Message;
+import android.os.RemoteException;
+import android.os.SystemClock;
+import android.text.format.Formatter;
+import android.util.Log;
+import android.util.SparseArray;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * Singleton for retrieving and monitoring the state about all running
+ * applications/processes/services.
+ */
+public class RunningState {
+    static Object sGlobalLock = new Object();
+    static RunningState sInstance;
+
+    static final int MSG_UPDATE_CONTENTS = 1;
+    static final int MSG_REFRESH_UI = 2;
+    static final int MSG_UPDATE_TIME = 3;
+
+    static final long TIME_UPDATE_DELAY = 1000;
+    static final long CONTENTS_UPDATE_DELAY = 2000;
+
+    static final int MAX_SERVICES = 100;
+
+    final Context mApplicationContext;
+    final ActivityManager mAm;
+    final PackageManager mPm;
+
+    OnRefreshUiListener mRefreshUiListener;
+
+    // Processes that are hosting a service we are interested in, organized
+    // by uid and name.  Note that this mapping does not change even across
+    // service restarts, and during a restart there will still be a process
+    // entry.
+    final SparseArray<HashMap<String, ProcessItem>> mServiceProcessesByName
+            = new SparseArray<HashMap<String, ProcessItem>>();
+    
+    // Processes that are hosting a service we are interested in, organized
+    // by their pid.  These disappear and re-appear as services are restarted.
+    final SparseArray<ProcessItem> mServiceProcessesByPid
+            = new SparseArray<ProcessItem>();
+    
+    // Used to sort the interesting processes.
+    final ServiceProcessComparator mServiceProcessComparator
+            = new ServiceProcessComparator();
+    
+    // Additional interesting processes to be shown to the user, even if
+    // there is no service running in them.
+    final ArrayList<ProcessItem> mInterestingProcesses = new ArrayList<ProcessItem>();
+    
+    // All currently running processes, for finding dependencies etc.
+    final SparseArray<ProcessItem> mRunningProcesses
+            = new SparseArray<ProcessItem>();
+    
+    // The processes associated with services, in sorted order.
+    final ArrayList<ProcessItem> mProcessItems = new ArrayList<ProcessItem>();
+    
+    // All processes, used for retrieving memory information.
+    final ArrayList<ProcessItem> mAllProcessItems = new ArrayList<ProcessItem>();
+    
+    int mSequence = 0;
+    
+    // ----- following protected by mLock -----
+    
+    // Lock for protecting the state that will be shared between the
+    // background update thread and the UI thread.
+    final Object mLock = new Object();
+    
+    boolean mResumed;
+    boolean mHaveData;
+    boolean mWatchingBackgroundItems;
+
+    ArrayList<BaseItem> mItems = new ArrayList<BaseItem>();
+    ArrayList<MergedItem> mMergedItems = new ArrayList<MergedItem>();
+    ArrayList<MergedItem> mBackgroundItems = new ArrayList<MergedItem>();
+    
+    int mNumBackgroundProcesses;
+    long mBackgroundProcessMemory;
+    int mNumForegroundProcesses;
+    long mForegroundProcessMemory;
+    int mNumServiceProcesses;
+    long mServiceProcessMemory;
+
+    // ----- BACKGROUND MONITORING THREAD -----
+
+    final HandlerThread mBackgroundThread;
+    final class BackgroundHandler extends Handler {
+        public BackgroundHandler(Looper looper) {
+            super(looper);
+        }
+
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what) {
+                case MSG_UPDATE_CONTENTS:
+                    synchronized (mLock) {
+                        if (!mResumed) {
+                            return;
+                        }
+                    }
+                    Message cmd = mHandler.obtainMessage(MSG_REFRESH_UI);
+                    cmd.arg1 = update(mApplicationContext, mAm) ? 1 : 0;
+                    mHandler.sendMessage(cmd);
+                    removeMessages(MSG_UPDATE_CONTENTS);
+                    msg = obtainMessage(MSG_UPDATE_CONTENTS);
+                    sendMessageDelayed(msg, CONTENTS_UPDATE_DELAY);
+                    break;
+            }
+        }
+    };
+
+    final BackgroundHandler mBackgroundHandler;
+
+    final Handler mHandler = new Handler() {
+        int mNextUpdate = OnRefreshUiListener.REFRESH_TIME;
+
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what) {
+                case MSG_REFRESH_UI:
+                    mNextUpdate = msg.arg1 != 0
+                            ? OnRefreshUiListener.REFRESH_STRUCTURE
+                            : OnRefreshUiListener.REFRESH_DATA;
+                    break;
+                case MSG_UPDATE_TIME:
+                    synchronized (mLock) {
+                        if (!mResumed) {
+                            return;
+                        }
+                    }
+                    removeMessages(MSG_UPDATE_TIME);
+                    Message m = obtainMessage(MSG_UPDATE_TIME);
+                    sendMessageDelayed(m, TIME_UPDATE_DELAY);
+
+                    if (mRefreshUiListener != null) {
+                        //Log.i("foo", "Refresh UI: " + mNextUpdate
+                        //        + " @ " + SystemClock.uptimeMillis());
+                        mRefreshUiListener.onRefreshUi(mNextUpdate);
+                        mNextUpdate = OnRefreshUiListener.REFRESH_TIME;
+                    }
+                    break;
+            }
+        }
+    };
+
+    // ----- DATA STRUCTURES -----
+
+    static interface OnRefreshUiListener {
+        public static final int REFRESH_TIME = 0;
+        public static final int REFRESH_DATA = 1;
+        public static final int REFRESH_STRUCTURE = 2;
+
+        public void onRefreshUi(int what);
+    }
+
+    static class BaseItem {
+        final boolean mIsProcess;
+        
+        PackageItemInfo mPackageInfo;
+        CharSequence mDisplayLabel;
+        String mLabel;
+        String mDescription;
+        
+        int mCurSeq;
+        
+        long mActiveSince;
+        long mSize;
+        String mSizeStr;
+        String mCurSizeStr;
+        boolean mNeedDivider;
+        boolean mBackground;
+        
+        public BaseItem(boolean isProcess) {
+            mIsProcess = isProcess;
+        }
+    }
+
+    static class ServiceItem extends BaseItem {
+        ActivityManager.RunningServiceInfo mRunningService;
+        ServiceInfo mServiceInfo;
+        boolean mShownAsStarted;
+        
+        MergedItem mMergedItem;
+        
+        public ServiceItem() {
+            super(false);
+        }
+    }
+
+    static class ProcessItem extends BaseItem {
+        final HashMap<ComponentName, ServiceItem> mServices
+                = new HashMap<ComponentName, ServiceItem>();
+        final SparseArray<ProcessItem> mDependentProcesses
+                = new SparseArray<ProcessItem>();
+        
+        final int mUid;
+        final String mProcessName;
+        int mPid;
+        
+        ProcessItem mClient;
+        int mLastNumDependentProcesses;
+        
+        int mRunningSeq;
+        ActivityManager.RunningAppProcessInfo mRunningProcessInfo;
+        
+        MergedItem mMergedItem;
+        
+        // Purely for sorting.
+        boolean mIsSystem;
+        boolean mIsStarted;
+        long mActiveSince;
+        
+        public ProcessItem(Context context, int uid, String processName) {
+            super(true);
+            mDescription = context.getResources().getString(
+                    R.string.service_process_name, processName);
+            mUid = uid;
+            mProcessName = processName;
+        }
+        
+        void ensureLabel(PackageManager pm) {
+            if (mLabel != null) {
+                return;
+            }
+            
+            try {
+                ApplicationInfo ai = pm.getApplicationInfo(mProcessName, 0);
+                if (ai.uid == mUid) {
+                    mDisplayLabel = ai.loadLabel(pm);
+                    mLabel = mDisplayLabel.toString();
+                    mPackageInfo = ai;
+                    return;
+                }
+            } catch (PackageManager.NameNotFoundException e) {
+            }
+            
+            // If we couldn't get information about the overall
+            // process, try to find something about the uid.
+            String[] pkgs = pm.getPackagesForUid(mUid);
+            
+            // If there is one package with this uid, that is what we want.
+            if (pkgs.length == 1) {
+                try {
+                    ApplicationInfo ai = pm.getApplicationInfo(pkgs[0], 0);
+                    mDisplayLabel = ai.loadLabel(pm);
+                    mLabel = mDisplayLabel.toString();
+                    mPackageInfo = ai;
+                    return;
+                } catch (PackageManager.NameNotFoundException e) {
+                }
+            }
+            
+            // If there are multiple, see if one gives us the official name
+            // for this uid.
+            for (String name : pkgs) {
+                try {
+                    PackageInfo pi = pm.getPackageInfo(name, 0);
+                    if (pi.sharedUserLabel != 0) {
+                        CharSequence nm = pm.getText(name,
+                                pi.sharedUserLabel, pi.applicationInfo);
+                        if (nm != null) {
+                            mDisplayLabel = nm;
+                            mLabel = nm.toString();
+                            mPackageInfo = pi.applicationInfo;
+                            return;
+                        }
+                    }
+                } catch (PackageManager.NameNotFoundException e) {
+                }
+            }
+            
+            // If still don't have anything to display, just use the
+            // service info.
+            if (mServices.size() > 0) {
+                mPackageInfo = mServices.values().iterator().next()
+                        .mServiceInfo.applicationInfo;
+                mDisplayLabel = mPackageInfo.loadLabel(pm);
+                mLabel = mDisplayLabel.toString();
+                return;
+            }
+            
+            // Finally... whatever, just pick the first package's name.
+            try {
+                ApplicationInfo ai = pm.getApplicationInfo(pkgs[0], 0);
+                mDisplayLabel = ai.loadLabel(pm);
+                mLabel = mDisplayLabel.toString();
+                mPackageInfo = ai;
+                return;
+            } catch (PackageManager.NameNotFoundException e) {
+            }
+        }
+        
+        boolean updateService(Context context,
+                ActivityManager.RunningServiceInfo service) {
+            final PackageManager pm = context.getPackageManager();
+            
+            boolean changed = false;
+            ServiceItem si = mServices.get(service.service);
+            if (si == null) {
+                changed = true;
+                si = new ServiceItem();
+                si.mRunningService = service;
+                try {
+                    si.mServiceInfo = pm.getServiceInfo(service.service, 0);
+                } catch (PackageManager.NameNotFoundException e) {
+                }
+                si.mDisplayLabel = makeLabel(pm,
+                        si.mRunningService.service.getClassName(), si.mServiceInfo);
+                mLabel = mDisplayLabel != null ? mDisplayLabel.toString() : null;
+                si.mPackageInfo = si.mServiceInfo.applicationInfo;
+                mServices.put(service.service, si);
+            }
+            si.mCurSeq = mCurSeq;
+            si.mRunningService = service;
+            long activeSince = service.restarting == 0 ? service.activeSince : -1;
+            if (si.mActiveSince != activeSince) {
+                si.mActiveSince = activeSince;
+                changed = true;
+            }
+            if (service.clientPackage != null && service.clientLabel != 0) {
+                if (si.mShownAsStarted) {
+                    si.mShownAsStarted = false;
+                    changed = true;
+                }
+                try {
+                    Resources clientr = pm.getResourcesForApplication(service.clientPackage);
+                    String label = clientr.getString(service.clientLabel);
+                    si.mDescription = context.getResources().getString(
+                            R.string.service_client_name, label);
+                } catch (PackageManager.NameNotFoundException e) {
+                    si.mDescription = null;
+                }
+            } else {
+                if (!si.mShownAsStarted) {
+                    si.mShownAsStarted = true;
+                    changed = true;
+                }
+                si.mDescription = context.getResources().getString(
+                        R.string.service_started_by_app);
+            }
+            
+            return changed;
+        }
+        
+        boolean updateSize(Context context, Debug.MemoryInfo mem, int curSeq) {
+            mSize = ((long)mem.getTotalPss()) * 1024;
+            if (mCurSeq == curSeq) {
+                String sizeStr = Formatter.formatShortFileSize(
+                        context, mSize);
+                if (!sizeStr.equals(mSizeStr)){
+                    mSizeStr = sizeStr;
+                    // We update this on the second tick where we update just
+                    // the text in the current items, so no need to say we
+                    // changed here.
+                    return false;
+                }
+            }
+            return false;
+        }
+        
+        boolean buildDependencyChain(Context context, PackageManager pm, int curSeq) {
+            final int NP = mDependentProcesses.size();
+            boolean changed = false;
+            for (int i=0; i<NP; i++) {
+                ProcessItem proc = mDependentProcesses.valueAt(i);
+                if (proc.mClient != this) {
+                    changed = true;
+                    proc.mClient = this;
+                }
+                proc.mCurSeq = curSeq;
+                proc.ensureLabel(pm);
+                changed |= proc.buildDependencyChain(context, pm, curSeq);
+            }
+            
+            if (mLastNumDependentProcesses != mDependentProcesses.size()) {
+                changed = true;
+                mLastNumDependentProcesses = mDependentProcesses.size();
+            }
+            
+            return changed;
+        }
+        
+        void addDependentProcesses(ArrayList<BaseItem> dest,
+                ArrayList<ProcessItem> destProc) {
+            final int NP = mDependentProcesses.size();
+            for (int i=0; i<NP; i++) {
+                ProcessItem proc = mDependentProcesses.valueAt(i);
+                proc.addDependentProcesses(dest, destProc);
+                dest.add(proc);
+                if (proc.mPid > 0) {
+                    destProc.add(proc);
+                }
+            }
+        }
+    }
+
+    static class MergedItem extends BaseItem {
+        ProcessItem mProcess;
+        final ArrayList<ProcessItem> mOtherProcesses = new ArrayList<ProcessItem>();
+        final ArrayList<ServiceItem> mServices = new ArrayList<ServiceItem>();
+        
+        private int mLastNumProcesses = -1, mLastNumServices = -1;
+
+        MergedItem() {
+            super(false);
+        }
+        
+        boolean update(Context context, boolean background) {
+            mPackageInfo = mProcess.mPackageInfo;
+            mDisplayLabel = mProcess.mDisplayLabel;
+            mLabel = mProcess.mLabel;
+            mBackground = background;
+            
+            if (!mBackground) {
+                int numProcesses = (mProcess.mPid > 0 ? 1 : 0) + mOtherProcesses.size();
+                int numServices = mServices.size();
+                if (mLastNumProcesses != numProcesses || mLastNumServices != numServices) {
+                    mLastNumProcesses = numProcesses;
+                    mLastNumServices = numServices;
+                    int resid = R.string.running_processes_item_description_s_s;
+                    if (numProcesses != 1) {
+                        resid = numServices != 1
+                                ? R.string.running_processes_item_description_p_p
+                                : R.string.running_processes_item_description_p_s;
+                    } else if (numServices != 1) {
+                        resid = R.string.running_processes_item_description_s_p;
+                    }
+                    mDescription = context.getResources().getString(resid, numProcesses,
+                            numServices);
+                }
+            }
+            
+            mActiveSince = -1;
+            for (int i=0; i<mServices.size(); i++) {
+                ServiceItem si = mServices.get(i);
+                if (si.mActiveSince >= 0 && mActiveSince < si.mActiveSince) {
+                    mActiveSince = si.mActiveSince;
+                }
+            }
+            
+            return false;
+        }
+        
+        boolean updateSize(Context context) {
+            mSize = mProcess.mSize;
+            for (int i=0; i<mOtherProcesses.size(); i++) {
+                mSize += mOtherProcesses.get(i).mSize;
+            }
+            
+            String sizeStr = Formatter.formatShortFileSize(
+                    context, mSize);
+            if (!sizeStr.equals(mSizeStr)){
+                mSizeStr = sizeStr;
+                // We update this on the second tick where we update just
+                // the text in the current items, so no need to say we
+                // changed here.
+                return false;
+            }
+            return false;
+        }
+    }
+    
+    static class ServiceProcessComparator implements Comparator<ProcessItem> {
+        public int compare(ProcessItem object1, ProcessItem object2) {
+            if (object1.mIsStarted != object2.mIsStarted) {
+                // Non-started processes go last.
+                return object1.mIsStarted ? -1 : 1;
+            }
+            if (object1.mIsSystem != object2.mIsSystem) {
+                // System processes go below non-system.
+                return object1.mIsSystem ? 1 : -1;
+            }
+            if (object1.mActiveSince != object2.mActiveSince) {
+                // Remaining ones are sorted with the longest running
+                // services last.
+                return (object1.mActiveSince > object2.mActiveSince) ? -1 : 1;
+            }
+            return 0;
+        }
+    }
+    
+    static CharSequence makeLabel(PackageManager pm,
+            String className, PackageItemInfo item) {
+        if (item != null && (item.labelRes != 0
+                || item.nonLocalizedLabel != null)) {
+            CharSequence label = item.loadLabel(pm);
+            if (label != null) {
+                return label;
+            }
+        }
+        
+        String label = className;
+        int tail = label.lastIndexOf('.');
+        if (tail >= 0) {
+            label = label.substring(tail+1, label.length());
+        }
+        return label;
+    }
+    
+    static RunningState getInstance(Context context) {
+        synchronized (sGlobalLock) {
+            if (sInstance == null) {
+                sInstance = new RunningState(context);
+            }
+            return sInstance;
+        }
+    }
+
+    private RunningState(Context context) {
+        mApplicationContext = context.getApplicationContext();
+        mAm = (ActivityManager)mApplicationContext.getSystemService(Context.ACTIVITY_SERVICE);
+        mPm = mApplicationContext.getPackageManager();
+        mResumed = false;
+        mBackgroundThread = new HandlerThread("RunningState:Background");
+        mBackgroundThread.start();
+        mBackgroundHandler = new BackgroundHandler(mBackgroundThread.getLooper());
+    }
+
+    void resume(OnRefreshUiListener listener) {
+        synchronized (mLock) {
+            mResumed = true;
+            mRefreshUiListener = listener;
+            if (!mBackgroundHandler.hasMessages(MSG_UPDATE_CONTENTS)) {
+                mBackgroundHandler.sendEmptyMessage(MSG_UPDATE_CONTENTS);
+            }
+            mHandler.sendEmptyMessage(MSG_UPDATE_TIME);
+        }
+    }
+
+    void updateNow() {
+        synchronized (mLock) {
+            mBackgroundHandler.removeMessages(MSG_UPDATE_CONTENTS);
+            mBackgroundHandler.sendEmptyMessage(MSG_UPDATE_CONTENTS);
+        }
+    }
+
+    boolean hasData() {
+        synchronized (mLock) {
+            return mHaveData;
+        }
+    }
+
+    void waitForData() {
+        synchronized (mLock) {
+            while (!mHaveData) {
+                try {
+                    mLock.wait(0);
+                } catch (InterruptedException e) {
+                }
+            }
+        }
+    }
+
+    void pause() {
+        synchronized (mLock) {
+            mResumed = false;
+            mRefreshUiListener = null;
+            mHandler.removeMessages(MSG_UPDATE_TIME);
+        }
+    }
+
+    private boolean isInterestingProcess(ActivityManager.RunningAppProcessInfo pi) {
+        if ((pi.flags&ActivityManager.RunningAppProcessInfo.FLAG_CANT_SAVE_STATE) != 0) {
+            return true;
+        }
+        if ((pi.flags&ActivityManager.RunningAppProcessInfo.FLAG_PERSISTENT) == 0
+                && pi.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND
+                && pi.importanceReasonCode
+                        == ActivityManager.RunningAppProcessInfo.REASON_UNKNOWN) {
+            return true;
+        }
+        return false;
+    }
+
+    private boolean update(Context context, ActivityManager am) {
+        final PackageManager pm = context.getPackageManager();
+        
+        mSequence++;
+        
+        boolean changed = false;
+        
+        List<ActivityManager.RunningServiceInfo> services 
+                = am.getRunningServices(MAX_SERVICES);
+        final int NS = services != null ? services.size() : 0;
+        for (int i=0; i<NS; i++) {
+            ActivityManager.RunningServiceInfo si = services.get(i);
+            // We are not interested in services that have not been started
+            // and don't have a known client, because
+            // there is nothing the user can do about them.
+            if (!si.started && si.clientLabel == 0) {
+                continue;
+            }
+            // We likewise don't care about services running in a
+            // persistent process like the system or phone.
+            if ((si.flags&ActivityManager.RunningServiceInfo.FLAG_PERSISTENT_PROCESS)
+                    != 0) {
+                continue;
+            }
+            
+            HashMap<String, ProcessItem> procs = mServiceProcessesByName.get(si.uid);
+            if (procs == null) {
+                procs = new HashMap<String, ProcessItem>();
+                mServiceProcessesByName.put(si.uid, procs);
+            }
+            ProcessItem proc = procs.get(si.process);
+            if (proc == null) {
+                changed = true;
+                proc = new ProcessItem(context, si.uid, si.process);
+                procs.put(si.process, proc);
+            }
+            
+            if (proc.mCurSeq != mSequence) {
+                int pid = si.restarting == 0 ? si.pid : 0;
+                if (pid != proc.mPid) {
+                    changed = true;
+                    if (proc.mPid != pid) {
+                        if (proc.mPid != 0) {
+                            mServiceProcessesByPid.remove(proc.mPid);
+                        }
+                        if (pid != 0) {
+                            mServiceProcessesByPid.put(pid, proc);
+                        }
+                        proc.mPid = pid;
+                    }
+                }
+                proc.mDependentProcesses.clear();
+                proc.mCurSeq = mSequence;
+            }
+            changed |= proc.updateService(context, si);
+        }
+        
+        // Now update the map of other processes that are running (but
+        // don't have services actively running inside them).
+        List<ActivityManager.RunningAppProcessInfo> processes
+                = am.getRunningAppProcesses();
+        final int NP = processes != null ? processes.size() : 0;
+        for (int i=0; i<NP; i++) {
+            ActivityManager.RunningAppProcessInfo pi = processes.get(i);
+            ProcessItem proc = mServiceProcessesByPid.get(pi.pid);
+            if (proc == null) {
+                // This process is not one that is a direct container
+                // of a service, so look for it in the secondary
+                // running list.
+                proc = mRunningProcesses.get(pi.pid);
+                if (proc == null) {
+                    changed = true;
+                    proc = new ProcessItem(context, pi.uid, pi.processName);
+                    proc.mPid = pi.pid;
+                    mRunningProcesses.put(pi.pid, proc);
+                }
+                proc.mDependentProcesses.clear();
+            }
+            
+            if (isInterestingProcess(pi)) {
+                if (!mInterestingProcesses.contains(proc)) {
+                    changed = true;
+                    mInterestingProcesses.add(proc);
+                }
+                proc.mCurSeq = mSequence;
+                proc.ensureLabel(pm);
+            }
+            
+            proc.mRunningSeq = mSequence;
+            proc.mRunningProcessInfo = pi;
+        }
+        
+        // Build the chains from client processes to the process they are
+        // dependent on; also remove any old running processes.
+        int NRP = mRunningProcesses.size();
+        for (int i=0; i<NRP; i++) {
+            ProcessItem proc = mRunningProcesses.valueAt(i);
+            if (proc.mRunningSeq == mSequence) {
+                int clientPid = proc.mRunningProcessInfo.importanceReasonPid;
+                if (clientPid != 0) {
+                    ProcessItem client = mServiceProcessesByPid.get(clientPid);
+                    if (client == null) {
+                        client = mRunningProcesses.get(clientPid);
+                    }
+                    if (client != null) {
+                        client.mDependentProcesses.put(proc.mPid, proc);
+                    }
+                } else {
+                    // In this pass the process doesn't have a client.
+                    // Clear to make sure that, if it later gets the same one,
+                    // we will detect the change.
+                    proc.mClient = null;
+                }
+            } else {
+                changed = true;
+                mRunningProcesses.remove(mRunningProcesses.keyAt(i));
+            }
+        }
+        
+        // Remove any old interesting processes.
+        int NHP = mInterestingProcesses.size();
+        for (int i=0; i<NHP; i++) {
+            ProcessItem proc = mInterestingProcesses.get(i);
+            if (mRunningProcesses.get(proc.mPid) == null) {
+                changed = true;
+                mInterestingProcesses.remove(i);
+                i--;
+                NHP--;
+            }
+        }
+        
+        // Follow the tree from all primary service processes to all
+        // processes they are dependent on, marking these processes as
+        // still being active and determining if anything has changed.
+        final int NAP = mServiceProcessesByPid.size();
+        for (int i=0; i<NAP; i++) {
+            ProcessItem proc = mServiceProcessesByPid.valueAt(i);
+            if (proc.mCurSeq == mSequence) {
+                changed |= proc.buildDependencyChain(context, pm, mSequence);
+            }
+        }
+        
+        // Look for services and their primary processes that no longer exist...
+        for (int i=0; i<mServiceProcessesByName.size(); i++) {
+            HashMap<String, ProcessItem> procs = mServiceProcessesByName.valueAt(i);
+            Iterator<ProcessItem> pit = procs.values().iterator();
+            while (pit.hasNext()) {
+                ProcessItem pi = pit.next();
+                if (pi.mCurSeq == mSequence) {
+                    pi.ensureLabel(pm);
+                    if (pi.mPid == 0) {
+                        // Sanity: a non-process can't be dependent on
+                        // anything.
+                        pi.mDependentProcesses.clear();
+                    }
+                } else {
+                    changed = true;
+                    pit.remove();
+                    if (procs.size() == 0) {
+                        mServiceProcessesByName.remove(mServiceProcessesByName.keyAt(i));
+                    }
+                    if (pi.mPid != 0) {
+                        mServiceProcessesByPid.remove(pi.mPid);
+                    }
+                    continue;
+                }
+                Iterator<ServiceItem> sit = pi.mServices.values().iterator();
+                while (sit.hasNext()) {
+                    ServiceItem si = sit.next();
+                    if (si.mCurSeq != mSequence) {
+                        changed = true;
+                        sit.remove();
+                    }
+                }
+            }
+        }
+        
+        if (changed) {
+            // First determine an order for the services.
+            ArrayList<ProcessItem> sortedProcesses = new ArrayList<ProcessItem>();
+            for (int i=0; i<mServiceProcessesByName.size(); i++) {
+                for (ProcessItem pi : mServiceProcessesByName.valueAt(i).values()) {
+                    pi.mIsSystem = false;
+                    pi.mIsStarted = true;
+                    pi.mActiveSince = Long.MAX_VALUE;
+                    for (ServiceItem si : pi.mServices.values()) {
+                        if (si.mServiceInfo != null
+                                && (si.mServiceInfo.applicationInfo.flags
+                                        & ApplicationInfo.FLAG_SYSTEM) != 0) {
+                            pi.mIsSystem = true;
+                        }
+                        if (si.mRunningService != null
+                                && si.mRunningService.clientLabel != 0) {
+                            pi.mIsStarted = false;
+                            if (pi.mActiveSince > si.mRunningService.activeSince) {
+                                pi.mActiveSince = si.mRunningService.activeSince;
+                            }
+                        }
+                    }
+                    sortedProcesses.add(pi);
+                }
+            }
+            
+            Collections.sort(sortedProcesses, mServiceProcessComparator);
+            
+            ArrayList<BaseItem> newItems = new ArrayList<BaseItem>();
+            ArrayList<MergedItem> newMergedItems = new ArrayList<MergedItem>();
+            mProcessItems.clear();
+            for (int i=0; i<sortedProcesses.size(); i++) {
+                ProcessItem pi = sortedProcesses.get(i);
+                pi.mNeedDivider = false;
+                
+                int firstProc = mProcessItems.size();
+                // First add processes we are dependent on.
+                pi.addDependentProcesses(newItems, mProcessItems);
+                // And add the process itself.
+                newItems.add(pi);
+                if (pi.mPid > 0) {
+                    mProcessItems.add(pi);
+                }
+                
+                // Now add the services running in it.
+                MergedItem mergedItem = null;
+                boolean haveAllMerged = false;
+                boolean needDivider = false;
+                for (ServiceItem si : pi.mServices.values()) {
+                    si.mNeedDivider = needDivider;
+                    needDivider = true;
+                    newItems.add(si);
+                    if (si.mMergedItem != null) {
+                        if (mergedItem != null && mergedItem != si.mMergedItem) {
+                            haveAllMerged = false;
+                        }
+                        mergedItem = si.mMergedItem;
+                    } else {
+                        haveAllMerged = false;
+                    }
+                }
+                
+                if (!haveAllMerged || mergedItem == null
+                        || mergedItem.mServices.size() != pi.mServices.size()) {
+                    // Whoops, we need to build a new MergedItem!
+                    mergedItem = new MergedItem();
+                    for (ServiceItem si : pi.mServices.values()) {
+                        mergedItem.mServices.add(si);
+                        si.mMergedItem = mergedItem;
+                    }
+                    mergedItem.mProcess = pi;
+                    mergedItem.mOtherProcesses.clear();
+                    for (int mpi=firstProc; mpi<(mProcessItems.size()-1); mpi++) {
+                        mergedItem.mOtherProcesses.add(mProcessItems.get(mpi));
+                    }
+                }
+                
+                mergedItem.update(context, false);
+                newMergedItems.add(mergedItem);
+            }
+            
+            // Finally, interesting processes need to be shown and will
+            // go at the top.
+            NHP = mInterestingProcesses.size();
+            for (int i=0; i<NHP; i++) {
+                ProcessItem proc = mInterestingProcesses.get(i);
+                if (proc.mClient == null && proc.mServices.size() <= 0) {
+                    if (proc.mMergedItem == null) {
+                        proc.mMergedItem = new MergedItem();
+                        proc.mMergedItem.mProcess = proc;
+                    }
+                    proc.mMergedItem.update(context, false);
+                    newMergedItems.add(0, proc.mMergedItem);
+                    mProcessItems.add(proc);
+                }
+            }
+            
+            synchronized (mLock) {
+                mItems = newItems;
+                mMergedItems = newMergedItems;
+            }
+        }
+        
+        // Count number of interesting other (non-active) processes, and
+        // build a list of all processes we will retrieve memory for.
+        mAllProcessItems.clear();
+        mAllProcessItems.addAll(mProcessItems);
+        int numBackgroundProcesses = 0;
+        int numForegroundProcesses = 0;
+        int numServiceProcesses = 0;
+        NRP = mRunningProcesses.size();
+        for (int i=0; i<NRP; i++) {
+            ProcessItem proc = mRunningProcesses.valueAt(i);
+            if (proc.mCurSeq != mSequence) {
+                // We didn't hit this process as a dependency on one
+                // of our active ones, so add it up if needed.
+                if (proc.mRunningProcessInfo.importance >=
+                        ActivityManager.RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
+                    numBackgroundProcesses++;
+                    mAllProcessItems.add(proc);
+                } else if (proc.mRunningProcessInfo.importance <=
+                        ActivityManager.RunningAppProcessInfo.IMPORTANCE_VISIBLE) {
+                    numForegroundProcesses++;
+                    mAllProcessItems.add(proc);
+                } else {
+                    Log.i("RunningState", "Unknown non-service process: "
+                            + proc.mProcessName + " #" + proc.mPid);
+                }
+            } else {
+                numServiceProcesses++;
+            }
+        }
+        
+        long backgroundProcessMemory = 0;
+        long foregroundProcessMemory = 0;
+        long serviceProcessMemory = 0;
+        ArrayList<MergedItem> newBackgroundItems = null;
+        try {
+            final int numProc = mAllProcessItems.size();
+            int[] pids = new int[numProc];
+            for (int i=0; i<numProc; i++) {
+                pids[i] = mAllProcessItems.get(i).mPid;
+            }
+            Debug.MemoryInfo[] mem = ActivityManagerNative.getDefault()
+                    .getProcessMemoryInfo(pids);
+            int bgIndex = 0;
+            for (int i=0; i<pids.length; i++) {
+                ProcessItem proc = mAllProcessItems.get(i);
+                changed |= proc.updateSize(context, mem[i], mSequence);
+                if (proc.mCurSeq == mSequence) {
+                    serviceProcessMemory += proc.mSize;
+                } else if (proc.mRunningProcessInfo.importance >=
+                        ActivityManager.RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
+                    backgroundProcessMemory += proc.mSize;
+                    MergedItem mergedItem;
+                    if (newBackgroundItems != null) {
+                        mergedItem = proc.mMergedItem = new MergedItem();
+                        proc.mMergedItem.mProcess = proc;
+                        newBackgroundItems.add(mergedItem);
+                    } else {
+                        if (bgIndex >= mBackgroundItems.size()
+                                || mBackgroundItems.get(bgIndex).mProcess != proc) {
+                            newBackgroundItems = new ArrayList<MergedItem>(numBackgroundProcesses);
+                            for (int bgi=0; bgi<bgIndex; bgi++) {
+                                newBackgroundItems.add(mBackgroundItems.get(bgi));
+                            }
+                            mergedItem = proc.mMergedItem = new MergedItem();
+                            proc.mMergedItem.mProcess = proc;
+                            newBackgroundItems.add(mergedItem);
+                        } else {
+                            mergedItem = mBackgroundItems.get(bgIndex);
+                        }
+                    }
+                    mergedItem.update(context, true);
+                    mergedItem.updateSize(context);
+                    bgIndex++;
+                } else if (proc.mRunningProcessInfo.importance <=
+                        ActivityManager.RunningAppProcessInfo.IMPORTANCE_VISIBLE) {
+                    foregroundProcessMemory += proc.mSize;
+                }
+            }
+        } catch (RemoteException e) {
+        }
+        
+        if (newBackgroundItems == null) {
+            // One or more at the bottom may no longer exit.
+            if (mBackgroundItems.size() > numBackgroundProcesses) {
+                newBackgroundItems = new ArrayList<MergedItem>(numBackgroundProcesses);
+                for (int bgi=0; bgi<numBackgroundProcesses; bgi++) {
+                    newBackgroundItems.add(mBackgroundItems.get(bgi));
+                }
+            }
+        }
+
+        for (int i=0; i<mMergedItems.size(); i++) {
+            mMergedItems.get(i).updateSize(context);
+        }
+        
+        synchronized (mLock) {
+            mNumBackgroundProcesses = numBackgroundProcesses;
+            mNumForegroundProcesses = numForegroundProcesses;
+            mNumServiceProcesses = numServiceProcesses;
+            mBackgroundProcessMemory = backgroundProcessMemory;
+            mForegroundProcessMemory = foregroundProcessMemory;
+            mServiceProcessMemory = serviceProcessMemory;
+            if (newBackgroundItems != null) {
+                mBackgroundItems = newBackgroundItems;
+                if (mWatchingBackgroundItems) {
+                    changed = true;
+                }
+            }
+            if (!mHaveData) {
+                mHaveData = true;
+                mLock.notifyAll();
+            }
+        }
+        
+        return changed;
+    }
+    
+    ArrayList<BaseItem> getCurrentItems() {
+        synchronized (mLock) {
+            return mItems;
+        }
+    }
+    
+    void setWatchingBackgroundItems(boolean watching) {
+        synchronized (mLock) {
+            mWatchingBackgroundItems = watching;
+        }
+    }
+
+    ArrayList<MergedItem> getCurrentMergedItems() {
+        synchronized (mLock) {
+            return mMergedItems;
+        }
+    }
+
+    ArrayList<MergedItem> getCurrentBackgroundItems() {
+        synchronized (mLock) {
+            return mBackgroundItems;
+        }
+    }
+}
diff --git a/src/com/android/settings/battery_history/BatteryHistory.java b/src/com/android/settings/battery_history/BatteryHistory.java
deleted file mode 100644
index 06f38ae..0000000
--- a/src/com/android/settings/battery_history/BatteryHistory.java
+++ /dev/null
@@ -1,916 +0,0 @@
-/*
- * Copyright (C) 2006 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.battery_history;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Formatter;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-
-import com.android.internal.app.IBatteryStats;
-import com.android.settings.R;
-
-import android.app.Activity;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.os.BatteryStats;
-import android.os.Bundle;
-import android.os.Parcel;
-import android.os.RemoteException;
-import android.os.ServiceManager;
-import android.os.SystemClock;
-import android.os.BatteryStats.Timer;
-import android.os.BatteryStats.Uid;
-import android.util.Log;
-import android.util.LogPrinter;
-import android.util.SparseArray;
-import android.view.KeyEvent;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.widget.AdapterView;
-import android.widget.Button;
-import android.widget.LinearLayout;
-import android.widget.Spinner;
-import android.widget.TextView;
-import android.widget.AdapterView.OnItemSelectedListener;
-
-public class BatteryHistory extends Activity implements OnClickListener, OnItemSelectedListener {
-    private static final String TAG = "BatteryHistory";
-
-    private static final int SECONDS_PER_MINUTE = 60;
-    private static final int SECONDS_PER_HOUR = 60 * 60;
-    private static final int SECONDS_PER_DAY = 24 * 60 * 60;
-    
-    // Must be in sync with the values in res/values/array.xml (id battery_history_type_spinner)
-    private static final int CPU_USAGE = 0;
-    private static final int NETWORK_USAGE = 1;
-    private static final int GPS_USAGE = 2;
-    private static final int SENSOR_USAGE = 3;
-    private static final int WAKELOCK_USAGE = 4;
-    private static final int MISC_USAGE = 5;
-
-    // Must be in sync with the values in res/values/array.xml (id battery_history_which_spinner)
-    private static final int UNPLUGGED = 0;
-    private static final int CURRENT = 1;
-    private static final int TOTAL = 2;
-    
-    private BatteryStats mStats;
-    private int mWhich = BatteryStats.STATS_UNPLUGGED;
-    private int mType = MISC_USAGE;
-    
-    private GraphableButton[] mButtons;
-    IBatteryStats mBatteryInfo;
-    
-    private List<CpuUsage> mCpuUsage = new ArrayList<CpuUsage>();
-    private List<NetworkUsage> mNetworkUsage = new ArrayList<NetworkUsage>();
-    private List<SensorUsage> mSensorUsage = new ArrayList<SensorUsage>();
-    private List<SensorUsage> mGpsUsage = new ArrayList<SensorUsage>();
-    private List<WakelockUsage> mWakelockUsage = new ArrayList<WakelockUsage>();
-    private List<MiscUsage> mMiscUsage = new ArrayList<MiscUsage>();
-    
-    private boolean mHaveCpuUsage, mHaveNetworkUsage, mHaveSensorUsage,
-            mHaveWakelockUsage, mHaveMiscUsage;
-    
-    private LinearLayout mGraphLayout;
-    private LinearLayout mTextLayout;
-    private TextView mMessageText;
-    private TextView mDetailsText;
-    private Button mDetailsBackButton;
-    private Spinner mTypeSpinner;
-    private Spinner mWhichSpinner;
-    
-    private boolean mDetailsShown = false;
-    
-    private static String getLabel(String packageName, PackageManager pm) {
-        try {
-            ApplicationInfo ai = pm.getApplicationInfo(packageName, 0);
-            CharSequence label = ai.loadLabel(pm);
-            if (label != null) {
-                return label.toString();
-            }
-        } catch (NameNotFoundException e) {
-            return packageName;
-        }
-        
-        return "";
-    }
-    
-    void formatTime(double millis, StringBuilder sb) {
-        int seconds = (int) Math.floor(millis / 1000);
-        
-        int days = 0, hours = 0, minutes = 0;
-        if (seconds > SECONDS_PER_DAY) {
-            days = seconds / SECONDS_PER_DAY;
-            seconds -= days * SECONDS_PER_DAY;
-        }
-        if (seconds > SECONDS_PER_HOUR) {
-            hours = seconds / SECONDS_PER_HOUR;
-            seconds -= hours * SECONDS_PER_HOUR;
-        }
-        if (seconds > SECONDS_PER_MINUTE) {
-            minutes = seconds / SECONDS_PER_MINUTE;
-            seconds -= minutes * SECONDS_PER_MINUTE;
-        }
-        if (days > 0) {
-            sb.append(getString(R.string.battery_history_days, days, hours, minutes, seconds));
-        } else if (hours > 0) {
-            sb.append(getString(R.string.battery_history_hours, hours, minutes, seconds));
-        } else if (minutes > 0) { 
-            sb.append(getString(R.string.battery_history_minutes, minutes, seconds));
-        } else {
-            sb.append(getString(R.string.battery_history_seconds, seconds));
-        }
-    }
-    
-    abstract class Graphable implements Comparable<Graphable> {        
-        protected String mName;
-        protected String mNamePackage;
-        protected boolean mUniqueName;
-        protected String[] mPackages;
-        protected String[] mPackageNames;
-        
-        public abstract String getLabel();
-        public abstract double getSortValue();
-        public abstract double[] getValues();
-        public abstract void getInfo(StringBuilder info);
-        
-        public double getMaxValue() {
-            return -Double.MAX_VALUE;            
-        }
-        
-        public int compareTo(Graphable o) {
-            double t = getSortValue();
-            double ot = o.getSortValue();
-            if (t < ot) {
-                // Largest first
-                return 1;
-            } else if (t > ot) {
-                return -1;
-            } else {
-                return 0;
-            }
-        }
-                
-        // Side effects: sets mName and mUniqueName
-        void getNameForUid(int uid) {
-            PackageManager pm = getPackageManager();
-            mPackages = pm.getPackagesForUid(uid);
-            if (mPackages == null) {
-                mName = Integer.toString(uid);
-                mNamePackage = null;
-                return;
-            }
-            
-            mPackageNames = new String[mPackages.length];
-            System.arraycopy(mPackages, 0, mPackageNames, 0, mPackages.length);
-            
-            // Convert package names to user-facing labels where possible
-            for (int i = 0; i < mPackageNames.length; i++) {
-                mPackageNames[i] = BatteryHistory.getLabel(mPackageNames[i], pm);
-            }
-
-            if (mPackageNames.length == 1) {
-                mNamePackage = mPackages[0];
-                mName = mPackageNames[0];
-                mUniqueName = true;
-            } else {
-                mName = getString(R.string.battery_history_uid, uid); // Default name
-                // Look for an official name for this UID.
-                for (String name : mPackages) {
-                    try {
-                        PackageInfo pi = pm.getPackageInfo(name, 0);
-                        if (pi.sharedUserLabel != 0) {
-                            CharSequence nm = pm.getText(name,
-                                    pi.sharedUserLabel, pi.applicationInfo);
-                            if (nm != null) {
-                                mName = nm.toString();
-                                break;
-                            }
-                        }
-                    } catch (PackageManager.NameNotFoundException e) {
-                    }
-                }
-            }
-        }
-    }
-
-    class CpuUsage extends Graphable {
-        String mProcess;
-        double[] mUsage;
-        double mTotalRuntime;
-        long mStarts;
-        
-        public CpuUsage(int uid, String process, long userTime, long systemTime,
-                long starts, long totalRuntime) {
-            getNameForUid(uid);
-            mProcess = process;
-            PackageManager pm = BatteryHistory.this.getPackageManager();
-            mName = BatteryHistory.getLabel(process, pm);
-            mUsage = new double[2];
-            
-            mUsage[0] = userTime;
-            mUsage[1] = userTime + systemTime;
-            mTotalRuntime = totalRuntime;
-            mStarts = starts;
-        }
-        
-        public String getLabel() {
-            return mName;
-        }
-        
-        public double getSortValue() {
-            return mUsage[1];
-        }
-        
-        public double[] getValues() {
-            return mUsage;
-        }
-        
-        public double getMaxValue() {
-            return mTotalRuntime;            
-        }
-        
-        public void getInfo(StringBuilder info) {
-            info.append(getString(R.string.battery_history_cpu_usage, mProcess));
-            info.append("\n\n");
-            info.append(getString(R.string.battery_history_user_time));
-            formatTime(mUsage[0] * 10, info);
-            info.append('\n');
-            info.append(getString(R.string.battery_history_system_time));
-            formatTime((mUsage[1] - mUsage[0]) * 10, info);
-            info.append('\n');
-            info.append(getString(R.string.battery_history_total_time));
-            formatTime((mUsage[1]) * 10, info);
-            info.append('\n');
-            info.append(getString(R.string.battery_history_starts, mStarts));
-        }
-    }
-    
-    class NetworkUsage extends Graphable {
-        double[] mUsage;
-        
-        public NetworkUsage(int uid, long received, long sent) {
-            getNameForUid(uid);
-            
-            mUsage = new double[2];
-            mUsage[0] = received;
-            mUsage[1] = received + sent;
-        }
-        
-        public String getLabel() {
-            return mName;
-        }
-        
-        public double getSortValue() {
-            return mUsage[1];
-        }
-        
-        public double[] getValues() {
-            return mUsage;
-        }
-        
-        public void getInfo(StringBuilder info) {
-            info.append(getString(R.string.battery_history_network_usage, mName));
-            info.append("\n\n");
-            info.append(getString(R.string.battery_history_bytes_received, (long) mUsage[0]));
-            info.append('\n');
-            info.append(getString(R.string.battery_history_bytes_sent,
-                    (long) mUsage[1] - (long) mUsage[0]));
-            info.append('\n');
-            info.append(getString(R.string.battery_history_bytes_total, (long) mUsage[1]));
-
-            if (!mUniqueName) {
-                info.append("\n\n");
-                info.append(getString(R.string.battery_history_packages_sharing_this_uid));
-                info.append('\n');
-
-                PackageManager pm = BatteryHistory.this.getPackageManager();
-                List<String> names = new ArrayList<String>();
-                for (String name : mPackageNames) {
-                    names.add(BatteryHistory.getLabel(name, pm));
-                }
-                Collections.sort(names);
-                for (String name : names) {
-                    info.append("    ");
-                    info.append(name);
-                    info.append('\n');
-                }
-            }
-        }
-    }
-    
-    class SensorUsage extends Graphable {
-        double[] mUsage;
-        double mTotalRealtime;
-        int mCount;
-        
-        public SensorUsage(int uid, long time, int count, long totalRealtime) {
-            getNameForUid(uid);
-            
-            mUsage = new double[1];
-            mUsage[0] = time;
-            mTotalRealtime = totalRealtime;
-            
-            mCount = count;
-        }
-        
-        public String getLabel() {
-            return mName;
-        }
-        
-        public double getSortValue() {
-            return mUsage[0];
-        }
-        
-        public double[] getValues() {
-            return mUsage;
-        }
-        
-        public double getMaxValue() {
-            return mTotalRealtime;            
-        }
-        
-        public void getInfo(StringBuilder info) {
-            info.append(getString(R.string.battery_history_sensor));
-            info.append(mName);
-            info.append("\n\n");
-            info.append(getString(R.string.battery_history_total_time));
-            formatTime(mUsage[0], info);
-            info.append("\n\n");
-        }
-    }
-    
-    
-    class WakelockUsage extends Graphable {
-        double[] mUsage;
-        double mTotalRealtime;
-        int mCount;
-        
-        public WakelockUsage(int uid, long time, int count, long totalRealtime) {
-            getNameForUid(uid);
-            
-            mUsage = new double[1];
-            mUsage[0] = time;
-            mTotalRealtime = totalRealtime;
-            
-            mCount = count;
-        }
-        
-        public String getLabel() {
-            return mName;
-        }
-        
-        public double getSortValue() {
-            return mUsage[0];
-        }
-        
-        public double[] getValues() {
-            return mUsage;
-        }
-        
-        public double getMaxValue() {
-            return mTotalRealtime;            
-        }
-        
-        public void getInfo(StringBuilder info) {
-            info.append(getString(R.string.battery_history_wakelock));
-            info.append(mName);
-            info.append("\n\n");
-            info.append(getString(R.string.battery_history_total_time));
-            formatTime(mUsage[0], info);
-            info.append("\n\n");
-        }
-    }
-    
-    class MiscUsage extends Graphable {
-        int mInfoLabelRes;
-        String mInfoLabel;
-        double[] mUsage;
-        double mTotalRealtime;
-        
-        public MiscUsage(String name, int infoLabelRes, long value,
-                long totalRealtime) {
-            mName = name;
-            
-            mInfoLabelRes = infoLabelRes;
-            
-            mUsage = new double[2];
-            mUsage[0] = value;
-            mTotalRealtime = totalRealtime;
-        }
-        
-        public MiscUsage(String name, String infoLabel, long value,
-                long totalRealtime) {
-            mName = name;
-            
-            mInfoLabel = infoLabel;
-            
-            mUsage = new double[2];
-            mUsage[0] = value;
-            mTotalRealtime = totalRealtime;
-        }
-        
-        public String getLabel() {
-            return mName;
-        }
-        
-        public double getSortValue() {
-            return mUsage[1];
-        }
-        
-        public double[] getValues() {
-            return mUsage;
-        }
-        
-        public double getMaxValue() {
-            return mTotalRealtime;            
-        }
-        
-        public void getInfo(StringBuilder info) {
-            info.append(mInfoLabel != null ? mInfoLabel : getString(mInfoLabelRes));
-            info.append(' ');
-            formatTime(mUsage[0], info);
-            info.append(" (");
-            info.append((mUsage[0]*100)/mTotalRealtime);
-            info.append("%)");
-        }
-    }
-    
-    private List<? extends Graphable> getGraphRecords() {
-        switch (mType) {
-            case CPU_USAGE: return mCpuUsage;
-            case NETWORK_USAGE : return mNetworkUsage;
-            case SENSOR_USAGE: return mSensorUsage;
-            case GPS_USAGE: return mGpsUsage;
-            case WAKELOCK_USAGE: return mWakelockUsage;
-            case MISC_USAGE: return mMiscUsage;
-            default:
-                return (List<? extends Graphable>) null; // TODO
-        }
-    }
-    
-    private void displayGraph() {
-        Log.i(TAG, "displayGraph");
-
-        collectStatistics();
-        
-        // Hide the UI and selectively enable it below
-        mMessageText.setVisibility(View.GONE);
-        for (int i = 0; i < mButtons.length; i++) {
-            mButtons[i].setVisibility(View.INVISIBLE);
-        }
-        
-        double maxValue = -Double.MAX_VALUE;
-        
-        List<? extends Graphable> records = getGraphRecords();
-        for (Graphable g : records) {
-            double[] values = g.getValues();
-            maxValue = Math.max(maxValue, values[values.length - 1]);
-            maxValue = Math.max(maxValue, g.getMaxValue());
-        }
-        
-        int[] colors = new int[2];
-        colors[0] = 0xff0000ff;
-        colors[1] = 0xffff0000;
-        
-        for (int i = 0; i < mButtons.length; i++) {
-            mButtons[i].setVisibility(View.INVISIBLE);
-        }
-        
-        int numRecords = Math.min(records.size(), mButtons.length);
-        if (numRecords == 0) {
-             mMessageText.setVisibility(View.VISIBLE);
-             mMessageText.setText(R.string.battery_history_no_data);
-        } else {
-            for (int i = 0; i < numRecords; i++) {
-                Graphable r = records.get(i);           
-
-                mButtons[i].setText(r.getLabel());
-                mButtons[i].setValues(r.getValues(), maxValue);
-                mButtons[i].setVisibility(View.VISIBLE);
-            }
-        }
-    }
-    
-    private void hideDetails() {
-        mTextLayout.setVisibility(View.GONE);
-        mGraphLayout.setVisibility(View.VISIBLE);
-        mDetailsShown = false;
-    }
-    
-    private void showDetails(int id) {
-        mGraphLayout.setVisibility(View.GONE);
-        mTextLayout.setVisibility(View.VISIBLE);
-            
-        StringBuilder info = new StringBuilder();
-        List<? extends Graphable> records = getGraphRecords();
-        if (id < records.size()) {
-            Graphable record = records.get(id);
-            record.getInfo(info);
-        } else {
-            info.append(getString(R.string.battery_history_details_for, id));
-        }
-        mDetailsText.setText(info.toString());
-        mDetailsShown = true;
-    }
-
-    private void processCpuUsage() {
-        mCpuUsage.clear();
-        
-        long uSecTime = SystemClock.uptimeMillis() * 1000;
-        final long uSecNow = mStats.computeBatteryUptime(uSecTime, mWhich) / 1000;
-        
-        SparseArray<? extends Uid> uidStats = mStats.getUidStats();
-        final int NU = uidStats.size();
-        for (int iu = 0; iu < NU; iu++) {
-            Uid u = uidStats.valueAt(iu);
-
-            Map<String, ? extends BatteryStats.Uid.Proc> processStats = u.getProcessStats();
-            if (processStats.size() > 0) {
-                for (Map.Entry<String, ? extends BatteryStats.Uid.Proc> ent
-                        : processStats.entrySet()) {
-
-                    Uid.Proc ps = ent.getValue();
-                    long userTime = ps.getUserTime(mWhich);
-                    long systemTime = ps.getSystemTime(mWhich);
-                    long starts = ps.getStarts(mWhich);
-
-                    if (userTime != 0 || systemTime != 0) {
-                        mCpuUsage.add(new CpuUsage(u.getUid(), ent.getKey(),
-                                userTime, systemTime, starts, uSecNow));
-                    }
-                }
-            }
-        }
-        Collections.sort(mCpuUsage);
-    }
-    
-    private void processNetworkUsage() {
-        mNetworkUsage.clear();
-        
-        SparseArray<? extends Uid> uidStats = mStats.getUidStats();
-        final int NU = uidStats.size();
-        for (int iu = 0; iu < NU; iu++) {
-            Uid u = uidStats.valueAt(iu);
-            
-            long received = u.getTcpBytesReceived(mWhich);
-            long sent = u.getTcpBytesSent(mWhich);
-            if (received + sent > 0) {
-                mNetworkUsage.add(new NetworkUsage(u.getUid(), received, sent));
-            }
-        }
-        Collections.sort(mNetworkUsage);
-    }
-    
-    private void processSensorUsage() {
-        mGpsUsage.clear();
-        mSensorUsage.clear();
-        
-        long uSecTime = SystemClock.elapsedRealtime() * 1000;
-        final long uSecNow = mStats.computeBatteryRealtime(uSecTime, mWhich) / 1000;
-        
-        SparseArray<? extends Uid> uidStats = mStats.getUidStats();
-        final int NU = uidStats.size();
-        for (int iu = 0; iu < NU; iu++) {
-            Uid u = uidStats.valueAt(iu);
-            int uid = u.getUid();
-            
-            Map<Integer, ? extends BatteryStats.Uid.Sensor> sensorStats = u.getSensorStats();
-            long timeGps = 0;
-            int countGps = 0;
-            long timeOther = 0;
-            int countOther = 0;
-            if (sensorStats.size() > 0) {
-                for (Map.Entry<Integer, ? extends BatteryStats.Uid.Sensor> ent
-                        : sensorStats.entrySet()) {
-
-                    Uid.Sensor se = ent.getValue();
-                    int handle = se.getHandle();
-                    Timer timer = se.getSensorTime();
-                    if (timer != null) {
-                        // Convert from microseconds to milliseconds with rounding
-                        long totalTime = (timer.getTotalTimeLocked(uSecNow, mWhich) + 500) / 1000;
-                        int count = timer.getCountLocked(mWhich);
-                        if (handle == BatteryStats.Uid.Sensor.GPS) {
-                            timeGps += totalTime;
-                            countGps += count;
-                        } else {
-                            timeOther += totalTime;
-                            countOther += count;
-                        }
-                    }
-                }
-            }
-            
-            if (timeGps > 0) {
-                mGpsUsage.add(new SensorUsage(uid, timeGps, countGps, uSecNow));
-            }
-            if (timeOther > 0) {
-                mSensorUsage.add(new SensorUsage(uid, timeOther, countOther, uSecNow));
-            }
-        }
-        
-        Collections.sort(mGpsUsage);
-        Collections.sort(mSensorUsage);
-    }
-    
-    private void processWakelockUsage() {
-        mWakelockUsage.clear();
-        
-        long uSecTime = SystemClock.elapsedRealtime() * 1000;
-        final long uSecNow = mStats.computeBatteryRealtime(uSecTime, mWhich) / 1000;
-        
-        SparseArray<? extends Uid> uidStats = mStats.getUidStats();
-        final int NU = uidStats.size();
-        for (int iu = 0; iu < NU; iu++) {
-            Uid u = uidStats.valueAt(iu);
-            int uid = u.getUid();
-            
-            Map<String, ? extends BatteryStats.Uid.Wakelock> wakelockStats = u.getWakelockStats();
-            long time = 0;
-            int count = 0;
-            if (wakelockStats.size() > 0) {
-                for (Map.Entry<String, ? extends BatteryStats.Uid.Wakelock> ent
-                        : wakelockStats.entrySet()) {
-
-                    Uid.Wakelock wl = ent.getValue();
-                    Timer timer = wl.getWakeTime(BatteryStats.WAKE_TYPE_PARTIAL);
-                    if (timer != null) {
-                        // Convert from microseconds to milliseconds with rounding
-                        time += (timer.getTotalTimeLocked(uSecNow, mWhich) + 500) / 1000;
-                        count += timer.getCountLocked(mWhich);
-                    }
-                }
-            }
-            
-            if (time > 0) {
-                mWakelockUsage.add(new WakelockUsage(uid, time, count, uSecNow));
-            }
-        }
-        
-        Collections.sort(mWakelockUsage);
-    }
-    
-    private final StringBuilder mFormatBuilder = new StringBuilder(8);
-    private final Formatter mFormatter = new Formatter(mFormatBuilder);
-    
-    private final String formatRatio(long num, long den) {
-        if (den == 0L) {
-            return "---%";
-        }
-        float perc = ((float)num) / ((float)den) * 100;
-        mFormatBuilder.setLength(0);
-        mFormatter.format("%.1f%%", perc);
-        return mFormatBuilder.toString();
-    }
-    
-    private void processMiscUsage() {
-        mMiscUsage.clear();
-        
-        long rawRealtime = SystemClock.elapsedRealtime() * 1000;
-        final long batteryRealtime = mStats.getBatteryRealtime(rawRealtime);
-        final long whichRealtime = mStats.computeBatteryRealtime(rawRealtime, mWhich) / 1000;
-        
-        long time = mStats.computeBatteryUptime(SystemClock.uptimeMillis() * 1000, mWhich) / 1000;
-        if (time > 0) {
-            mMiscUsage.add(new MiscUsage(getString(
-                    R.string.battery_history_awake_label)
-                    + " (" + formatRatio(time, whichRealtime) + ")",
-                    R.string.battery_history_awake,
-                    time, whichRealtime)); 
-        }
-        
-        time = mStats.getScreenOnTime(batteryRealtime, mWhich) / 1000;
-        if (time > 0) {
-            mMiscUsage.add(new MiscUsage(getString(
-                    R.string.battery_history_screen_on_label)
-                    + " (" + formatRatio(time, whichRealtime) + ")",
-                    R.string.battery_history_screen_on,
-                    time, whichRealtime)); 
-        }
-        
-        time = mStats.getPhoneOnTime(batteryRealtime, mWhich) / 1000;
-        if (time > 0) {
-            mMiscUsage.add(new MiscUsage(getString(
-                    R.string.battery_history_phone_on_label)
-                    + " (" + formatRatio(time, whichRealtime) + ")",
-                    R.string.battery_history_phone_on,
-                    time, whichRealtime)); 
-        }
-        
-        time = mStats.getWifiOnTime(batteryRealtime, mWhich) / 1000;
-        if (time > 0) {
-            mMiscUsage.add(new MiscUsage("Wifi On ("
-                    + formatRatio(time, whichRealtime) + ")",
-                    "Time spent with Wifi on:",
-                    time, whichRealtime)); 
-        }
-        
-        time = mStats.getWifiRunningTime(batteryRealtime, mWhich) / 1000;
-        if (time > 0) {
-            mMiscUsage.add(new MiscUsage("Wifi Running ("
-                    + formatRatio(time, whichRealtime) + ")",
-                    "Time spent with Wifi running:",
-                    time, whichRealtime)); 
-        }
-        
-        time = mStats.getBluetoothOnTime(batteryRealtime, mWhich) / 1000;
-        if (time > 0) {
-            mMiscUsage.add(new MiscUsage("Bluetooth On ("
-                    + formatRatio(time, whichRealtime) + ")",
-                    "Time spent with Bluetooth on:",
-                    time, whichRealtime)); 
-        }
-        
-        Collections.sort(mMiscUsage);
-    }
-    
-    private void collectStatistics() {
-        if (mType == CPU_USAGE) {
-            if (!mHaveCpuUsage) {
-                mHaveCpuUsage = true;
-                processCpuUsage();
-            }
-        }
-        if (mType == NETWORK_USAGE) {
-            if (!mHaveNetworkUsage) {
-                mHaveNetworkUsage = true;
-                processNetworkUsage();
-            }
-        }
-        if (mType == GPS_USAGE || mType == SENSOR_USAGE) {
-            if (!mHaveSensorUsage) {
-                mHaveSensorUsage = true;
-                processSensorUsage();
-            }
-        }
-        if (mType == WAKELOCK_USAGE) {
-            if (!mHaveWakelockUsage) {
-                mHaveWakelockUsage = true;
-                processWakelockUsage();
-            }
-        }
-        if (mType == MISC_USAGE) {
-            if (!mHaveMiscUsage) {
-                mHaveMiscUsage = true;
-                processMiscUsage();
-            }
-        }
-    }
-    
-    private void load() {
-        try {
-            byte[] data = mBatteryInfo.getStatistics();
-            Parcel parcel = Parcel.obtain();
-            //Log.i(TAG, "Got data: " + data.length + " bytes");
-            parcel.unmarshall(data, 0, data.length);
-            parcel.setDataPosition(0);
-            mStats = com.android.internal.os.BatteryStatsImpl.CREATOR
-                    .createFromParcel(parcel);
-            //Log.i(TAG, "RECEIVED BATTERY INFO:");
-            //mStats.dumpLocked(new LogPrinter(Log.INFO, TAG));
-            
-            mHaveCpuUsage =  mHaveNetworkUsage =  mHaveSensorUsage
-                    = mHaveWakelockUsage = mHaveMiscUsage = false;
-        } catch (RemoteException e) {
-            Log.e(TAG, "RemoteException:", e);
-        }
-    }
-    
-    public void onClick(View v) {
-        if (v == mDetailsBackButton) {
-            hideDetails();
-            return;
-        }
-        
-        int id = ((Integer) v.getTag()).intValue();
-        showDetails(id);
-    }
-    
-    public boolean onKeyDown(int keyCode, KeyEvent event) {
-        if (keyCode == KeyEvent.KEYCODE_BACK && mDetailsShown) {
-            hideDetails();
-            return true;
-        }
-        return super.onKeyDown(keyCode, event);
-    }
-
-    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
-        int oldWhich = mWhich;
-        
-        if (parent.equals(mTypeSpinner)) {
-            mType = position;
-        } else if (parent.equals(mWhichSpinner)) {
-            switch (position) {
-                case UNPLUGGED:
-                    mWhich = BatteryStats.STATS_UNPLUGGED;
-                    break;
-                case CURRENT:
-                    mWhich = BatteryStats.STATS_CURRENT;
-                    break;
-                case TOTAL:
-                    mWhich = BatteryStats.STATS_TOTAL;
-                    break;
-            }
-        }
-        
-        if (oldWhich != mWhich) {
-            mHaveCpuUsage =  mHaveNetworkUsage =  mHaveSensorUsage
-                    = mHaveWakelockUsage = mHaveMiscUsage = false;
-        }
-        
-        displayGraph();
-    }
-
-    public void onNothingSelected(AdapterView<?> parent) {
-        // Do nothing
-    }
-    
-    @Override
-    public Object onRetainNonConfigurationInstance() {
-        BatteryStats stats = mStats;
-        mStats = null;
-        return stats;
-    }
-
-    @Override
-    protected void onSaveInstanceState(Bundle outState) {
-        super.onSaveInstanceState(outState);
-        if (mStats != null) {
-            outState.putParcelable("stats", mStats);
-        }
-        outState.putInt("type", mType);
-        outState.putInt("which", mWhich);
-    }
-
-    @Override
-    public void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-        Log.i(TAG, "onCreate");
-        
-        setContentView(R.layout.battery_history);
-        
-        mStats = (BatteryStats)getLastNonConfigurationInstance();
-        if (icicle != null) {
-            if (mStats == null) {
-                mStats = (BatteryStats)icicle.getParcelable("stats");
-            }
-            mType = icicle.getInt("type");
-            mWhich = icicle.getInt("which");
-        }
-        
-        mGraphLayout = (LinearLayout) findViewById(R.id.graphLayout);
-        mTextLayout = (LinearLayout) findViewById(R.id.textLayout);
-        mDetailsText = (TextView) findViewById(R.id.detailsText);
-        mMessageText = (TextView) findViewById(R.id.messageText);
-        
-        mTypeSpinner = (Spinner) findViewById(R.id.typeSpinner);
-        mTypeSpinner.setSelection(mType);
-        mTypeSpinner.setOnItemSelectedListener(this);
-        
-        mWhichSpinner = (Spinner) findViewById(R.id.whichSpinner);
-        mWhichSpinner.setOnItemSelectedListener(this);
-        mWhichSpinner.setEnabled(true);
-        
-        mButtons = new GraphableButton[8];
-        mButtons[0] = (GraphableButton) findViewById(R.id.button0);
-        mButtons[1] = (GraphableButton) findViewById(R.id.button1);
-        mButtons[2] = (GraphableButton) findViewById(R.id.button2);
-        mButtons[3] = (GraphableButton) findViewById(R.id.button3);
-        mButtons[4] = (GraphableButton) findViewById(R.id.button4);
-        mButtons[5] = (GraphableButton) findViewById(R.id.button5);
-        mButtons[6] = (GraphableButton) findViewById(R.id.button6);
-        mButtons[7] = (GraphableButton) findViewById(R.id.button7);
-        
-        for (int i = 0; i < mButtons.length; i++) {
-            mButtons[i].setTag(i);
-            mButtons[i].setOnClickListener(this);
-        }
-        
-        mBatteryInfo = IBatteryStats.Stub.asInterface(
-                ServiceManager.getService("batteryinfo"));
-        
-        if (mStats == null) {
-            load();
-        }
-        displayGraph();
-    }
-}
diff --git a/src/com/android/settings/battery_history/GraphableButton.java b/src/com/android/settings/battery_history/GraphableButton.java
deleted file mode 100644
index fb90a0d..0000000
--- a/src/com/android/settings/battery_history/GraphableButton.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package com.android.settings.battery_history;
-
-import android.content.Context;
-import android.graphics.Canvas;
-import android.graphics.Color;
-import android.graphics.Paint;
-import android.util.AttributeSet;
-import android.util.Log;
-import android.widget.Button;
-
-public class GraphableButton extends Button {
-    private static final String TAG = "GraphableButton";
-
-    static Paint[] sPaint = new Paint[2];
-    static {
-        sPaint[0] = new Paint();
-        sPaint[0].setStyle(Paint.Style.FILL);
-        sPaint[0].setColor(0xFF0080FF);
-        
-        sPaint[1] = new Paint();
-        sPaint[1].setStyle(Paint.Style.FILL);
-        sPaint[1].setColor(0xFFFF6060);
-    }
-    
-    double[] mValues;
-    
-    public GraphableButton(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-    
-    public void setValues(double[] values, double maxValue) {
-        mValues = values.clone();
-        for (int i = 0; i < values.length; i++) {
-            mValues[i] /= maxValue;
-        }
-    }
-    
-    @Override
-    public void onDraw(Canvas canvas) {
-        Log.i(TAG, "onDraw: w = " + getWidth() + ", h = " + getHeight());
-        
-        int xmin = getPaddingLeft();
-        int xmax = getWidth() - getPaddingRight();
-        int ymin = getPaddingTop();
-        int ymax = getHeight() - getPaddingBottom();
-        
-        int startx = xmin;
-        for (int i = 0; i < mValues.length; i++) {
-            int endx = xmin + (int) (mValues[i] * (xmax - xmin));
-            canvas.drawRect(startx, ymin, endx, ymax, sPaint[i]);
-            startx = endx;
-        }
-        super.onDraw(canvas);
-    }
-}
diff --git a/src/com/android/settings/bluetooth/BluetoothDiscoverableEnabler.java b/src/com/android/settings/bluetooth/BluetoothDiscoverableEnabler.java
index eec0ad8..37e48ff 100644
--- a/src/com/android/settings/bluetooth/BluetoothDiscoverableEnabler.java
+++ b/src/com/android/settings/bluetooth/BluetoothDiscoverableEnabler.java
@@ -144,7 +144,7 @@
     private void persistDiscoverableEndTimestamp(long endTimestamp) {
         SharedPreferences.Editor editor = mLocalManager.getSharedPreferences().edit();
         editor.putLong(SHARED_PREFERENCES_KEY_DISCOVERABLE_END_TIMESTAMP, endTimestamp);
-        editor.commit();
+        editor.apply();
     }
 
     private void handleModeChanged(int mode) {
diff --git a/src/com/android/settings/bluetooth/BluetoothEventRedirector.java b/src/com/android/settings/bluetooth/BluetoothEventRedirector.java
index dbdf6c1..4d124b3 100644
--- a/src/com/android/settings/bluetooth/BluetoothEventRedirector.java
+++ b/src/com/android/settings/bluetooth/BluetoothEventRedirector.java
@@ -83,7 +83,7 @@
                 if (bondState == BluetoothDevice.BOND_NONE) {
                     if (device.isBluetoothDock()) {
                         // After a dock is unpaired, we will forget the
-                        // setttings
+                        // settings
                         mManager.removeDockAutoConnectSetting(device.getAddress());
 
                         // if the device is undocked, remove it from the list as
@@ -199,6 +199,6 @@
         SharedPreferences.Editor editor = mManager.getSharedPreferences().edit();
         editor.putLong(LocalBluetoothManager.SHARED_PREFERENCES_KEY_DISCOVERING_TIMESTAMP,
                 System.currentTimeMillis());
-        editor.commit();
+        editor.apply();
     }
 }
diff --git a/src/com/android/settings/bluetooth/BluetoothNamePreference.java b/src/com/android/settings/bluetooth/BluetoothNamePreference.java
index 7a9a0c1..c99ab4c 100644
--- a/src/com/android/settings/bluetooth/BluetoothNamePreference.java
+++ b/src/com/android/settings/bluetooth/BluetoothNamePreference.java
@@ -27,8 +27,8 @@
 import android.preference.EditTextPreference;
 import android.text.Editable;
 import android.text.InputFilter;
+import android.text.Spanned;
 import android.text.TextWatcher;
-import android.text.InputFilter.LengthFilter;
 import android.util.AttributeSet;
 import android.widget.Button;
 import android.widget.EditText;
@@ -40,8 +40,7 @@
  */
 public class BluetoothNamePreference extends EditTextPreference implements TextWatcher {
     private static final String TAG = "BluetoothNamePreference";
-    // TODO(): Investigate bluetoothd/dbus crash when length is set to 248, limit as per spec.
-    private static final int BLUETOOTH_NAME_MAX_LENGTH = 200;
+    private static final int BLUETOOTH_NAME_MAX_LENGTH_BYTES = 248;
 
     private LocalBluetoothManager mLocalManager;
 
@@ -75,8 +74,11 @@
 
         // Make sure the OK button is disabled (if necessary) after rotation
         EditText et = getEditText();
-        et.setFilters(new InputFilter[] {new LengthFilter(BLUETOOTH_NAME_MAX_LENGTH)});
         if (et != null) {
+            et.setFilters(new InputFilter[] {
+                    new Utf8ByteLengthFilter(BLUETOOTH_NAME_MAX_LENGTH_BYTES)
+            });
+
             et.addTextChangedListener(this);
             Dialog d = getDialog();
             if (d instanceof AlertDialog) {
@@ -136,4 +138,68 @@
     public void onTextChanged(CharSequence s, int start, int before, int count) {
         // not used
     }
+
+    /**
+     * This filter will constrain edits so that the text length is not
+     * greater than the specified number of bytes using UTF-8 encoding.
+     * <p>The JNI method used by {@link android.server.BluetoothService}
+     * to convert UTF-16 to UTF-8 doesn't support surrogate pairs,
+     * therefore code points outside of the basic multilingual plane
+     * (0000-FFFF) will be encoded as a pair of 3-byte UTF-8 characters,
+     * rather than a single 4-byte UTF-8 encoding. Dalvik implements this
+     * conversion in {@code convertUtf16ToUtf8()} in
+     * {@code dalvik/vm/UtfString.c}.
+     * <p>This JNI method is unlikely to change in the future due to
+     * backwards compatibility requirements. It's also unclear whether
+     * the installed base of Bluetooth devices would correctly handle the
+     * encoding of surrogate pairs in UTF-8 as 4 bytes rather than 6.
+     * However, this filter will still work in scenarios where surrogate
+     * pairs are encoded as 4 bytes, with the caveat that the maximum
+     * length will be constrained more conservatively than necessary.
+     */
+    public static class Utf8ByteLengthFilter implements InputFilter {
+        private int mMaxBytes;
+
+        public Utf8ByteLengthFilter(int maxBytes) {
+            mMaxBytes = maxBytes;
+        }
+
+        public CharSequence filter(CharSequence source, int start, int end,
+                                   Spanned dest, int dstart, int dend) {
+            int srcByteCount = 0;
+            // count UTF-8 bytes in source substring
+            for (int i = start; i < end; i++) {
+                char c = source.charAt(i);
+                srcByteCount += (c < 0x0080) ? 1 : (c < 0x0800 ? 2 : 3);
+            }
+            int destLen = dest.length();
+            int destByteCount = 0;
+            // count UTF-8 bytes in destination excluding replaced section
+            for (int i = 0; i < destLen; i++) {
+                if (i < dstart || i >= dend) {
+                    char c = dest.charAt(i);
+                    destByteCount += (c < 0x0080) ? 1 : (c < 0x0800 ? 2 : 3);
+                }
+            }
+            int keepBytes = mMaxBytes - destByteCount;
+            if (keepBytes <= 0) {
+                return "";
+            } else if (keepBytes >= srcByteCount) {
+                return null; // use original dest string
+            } else {
+                // find end position of largest sequence that fits in keepBytes
+                for (int i = start; i < end; i++) {
+                    char c = source.charAt(i);
+                    keepBytes -= (c < 0x0080) ? 1 : (c < 0x0800 ? 2 : 3);
+                    if (keepBytes < 0) {
+                        return source.subSequence(start, i);
+                    }
+                }
+                // If the entire substring fits, we should have returned null
+                // above, so this line should not be reached. If for some
+                // reason it is, return null to use the original dest string.
+                return null;
+            }
+        }
+    }
 }
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingDialog.java b/src/com/android/settings/bluetooth/BluetoothPairingDialog.java
index 7004ba0..acbb99c 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingDialog.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingDialog.java
@@ -114,6 +114,8 @@
             }
             mPasskey = String.format("%06d", passkey);
             createDisplayPasskeyDialog();
+        } else if (mType == BluetoothDevice.PAIRING_VARIANT_OOB_CONSENT) {
+            createConsentDialog();
         } else {
             Log.e(TAG, "Incorrect pairing type received, not showing any dialog");
         }
@@ -171,6 +173,9 @@
         } else if (mType == BluetoothDevice.PAIRING_VARIANT_DISPLAY_PASSKEY) {
             mPairingView.setVisibility(View.GONE);
             messageView.setText(getString(R.string.bluetooth_display_passkey_msg, name, mPasskey));
+        } else if (mType == BluetoothDevice.PAIRING_VARIANT_OOB_CONSENT) {
+            mPairingView.setVisibility(View.GONE);
+            messageView.setText(getString(R.string.bluetooth_incoming_pairing_msg, name));
         } else {
             Log.e(TAG, "Incorrect pairing type received, not creating view");
         }
@@ -247,6 +252,8 @@
             mDevice.setPairingConfirmation(true);
         } else if (mType == BluetoothDevice.PAIRING_VARIANT_DISPLAY_PASSKEY) {
             // Do Nothing.
+        } else if (mType == BluetoothDevice.PAIRING_VARIANT_OOB_CONSENT) {
+            mDevice.setRemoteOutOfBandData();
         } else {
             Log.e(TAG, "Incorrect pairing type received");
         }
diff --git a/src/com/android/settings/bluetooth/CachedBluetoothDevice.java b/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
index 253bf02..26bb4e8 100644
--- a/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
+++ b/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
@@ -35,11 +35,7 @@
 import com.android.settings.R;
 import com.android.settings.bluetooth.LocalBluetoothProfileManager.Profile;
 
-import java.text.DateFormat;
 import java.util.ArrayList;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.LinkedList;
 import java.util.List;
 import java.util.Set;
 
@@ -92,219 +88,41 @@
     // See mConnectAttempted
     private static final long MAX_UUID_DELAY_FOR_AUTO_CONNECT = 5000;
 
-    // Max time to hold the work queue if we don't get or missed a response
-    // from the bt framework.
-    private static final long MAX_WAIT_TIME_FOR_FRAMEWORK = 25 * 1000;
-
-    private enum BluetoothCommand {
-        CONNECT, DISCONNECT, REMOVE_BOND,
-    }
-
-    static class BluetoothJob {
-        final BluetoothCommand command; // CONNECT, DISCONNECT
-        final CachedBluetoothDevice cachedDevice;
-        final Profile profile; // HEADSET, A2DP, etc
-        // 0 means this command was not been sent to the bt framework.
-        long timeSent;
-
-        public BluetoothJob(BluetoothCommand command,
-                CachedBluetoothDevice cachedDevice, Profile profile) {
-            this.command = command;
-            this.cachedDevice = cachedDevice;
-            this.profile = profile;
-            this.timeSent = 0;
-        }
-
-        @Override
-        public String toString() {
-            StringBuilder sb = new StringBuilder();
-            sb.append(command.name());
-            sb.append(" Address:").append(cachedDevice.mDevice);
-            if (profile != null) {
-                sb.append(" Profile:").append(profile.name());
-            }
-            sb.append(" TimeSent:");
-            if (timeSent == 0) {
-                sb.append("not yet");
-            } else {
-                sb.append(DateFormat.getTimeInstance().format(new Date(timeSent)));
-            }
-            return sb.toString();
-        }
-    }
+    /** Auto-connect after pairing only if locally initiated. */
+    private boolean mConnectAfterPairing;
 
     /**
-     * We want to serialize connect and disconnect calls. http://b/170538
-     * This are some headsets that may have L2CAP resource limitation. We want
-     * to limit the bt bandwidth usage.
+     * Describes the current device and profile for logging.
      *
-     * A queue to keep track of asynchronous calls to the bt framework.  The
-     * first item, if exist, should be in progress i.e. went to the bt framework
-     * already, waiting for a notification to come back. The second item and
-     * beyond have not been sent to the bt framework yet.
+     * @param profile Profile to describe
+     * @return Description of the device and profile
      */
-    private static LinkedList<BluetoothJob> workQueue = new LinkedList<BluetoothJob>();
-
-    private void queueCommand(BluetoothJob job) {
-        synchronized (workQueue) {
-            if (D) {
-                Log.d(TAG, workQueue.toString());
-            }
-            boolean processNow = pruneQueue(job);
-
-            // Add job to queue
-            if (D) {
-                Log.d(TAG, "Adding: " + job.toString());
-            }
-            workQueue.add(job);
-
-            // if there's nothing pending from before, send the command to bt
-            // framework immediately.
-            if (workQueue.size() == 1 || processNow) {
-                // If the failed to process, just drop it from the queue.
-                // There will be no callback to remove this from the queue.
-                processCommands();
-            }
+    private String describe(CachedBluetoothDevice cachedDevice, Profile profile) {
+        StringBuilder sb = new StringBuilder();
+        sb.append("Address:").append(cachedDevice.mDevice);
+        if (profile != null) {
+            sb.append(" Profile:").append(profile.name());
         }
+
+        return sb.toString();
     }
 
-    private boolean pruneQueue(BluetoothJob job) {
-        boolean removedStaleItems = false;
-        long now = System.currentTimeMillis();
-        Iterator<BluetoothJob> it = workQueue.iterator();
-        while (it.hasNext()) {
-            BluetoothJob existingJob = it.next();
-
-            // Remove any pending CONNECTS when we receive a DISCONNECT
-            if (job != null && job.command == BluetoothCommand.DISCONNECT) {
-                if (existingJob.timeSent == 0
-                        && existingJob.command == BluetoothCommand.CONNECT
-                        && existingJob.cachedDevice.mDevice.equals(job.cachedDevice.mDevice)
-                        && existingJob.profile == job.profile) {
-                    if (D) {
-                        Log.d(TAG, "Removed because of a pending disconnect. " + existingJob);
-                    }
-                    it.remove();
-                    continue;
-                }
-            }
-
-            // Defensive Code: Remove any job that older than a preset time.
-            // We never got a call back. It is better to have overlapping
-            // calls than to get stuck.
-            if (existingJob.timeSent != 0
-                    && (now - existingJob.timeSent) >= MAX_WAIT_TIME_FOR_FRAMEWORK) {
-                Log.w(TAG, "Timeout. Removing Job:" + existingJob.toString());
-                it.remove();
-                removedStaleItems = true;
-                continue;
-            }
-        }
-        return removedStaleItems;
-    }
-
-    private boolean processCommand(BluetoothJob job) {
-        boolean successful = false;
-        if (job.timeSent == 0) {
-            job.timeSent = System.currentTimeMillis();
-            switch (job.command) {
-            case CONNECT:
-                successful = connectInt(job.cachedDevice, job.profile);
-                break;
-            case DISCONNECT:
-                successful = disconnectInt(job.cachedDevice, job.profile);
-                break;
-            case REMOVE_BOND:
-                BluetoothDevice dev = job.cachedDevice.getDevice();
-                if (dev != null) {
-                    successful = dev.removeBond();
-                }
-                break;
-            }
-
-            if (successful) {
-                if (D) {
-                    Log.d(TAG, "Command sent successfully:" + job.toString());
-                }
-            } else if (V) {
-                Log.v(TAG, "Framework rejected command immediately:" + job.toString());
-            }
-        } else if (D) {
-            Log.d(TAG, "Job already has a sent time. Skip. " + job.toString());
-        }
-
-        return successful;
+    private String describe(Profile profile) {
+        return describe(this, profile);
     }
 
     public void onProfileStateChanged(Profile profile, int newProfileState) {
-        synchronized (workQueue) {
-            if (D) {
-                Log.d(TAG, "onProfileStateChanged:" + workQueue.toString());
-            }
-
-            int newState = LocalBluetoothProfileManager.getProfileManager(mLocalManager,
-                    profile).convertState(newProfileState);
-
-            if (newState == SettingsBtStatus.CONNECTION_STATUS_CONNECTED) {
-                if (!mProfiles.contains(profile)) {
-                    mProfiles.add(profile);
-                }
-            }
-
-            /* Ignore the transient states e.g. connecting, disconnecting */
-            if (newState == SettingsBtStatus.CONNECTION_STATUS_CONNECTED ||
-                    newState == SettingsBtStatus.CONNECTION_STATUS_DISCONNECTED) {
-                BluetoothJob job = workQueue.peek();
-                if (job == null) {
-                    return;
-                } else if (!job.cachedDevice.mDevice.equals(mDevice)) {
-                    // This can happen in 2 cases: 1) BT device initiated pairing and
-                    // 2) disconnects of one headset that's triggered by connects of
-                    // another.
-                    if (D) {
-                        Log.d(TAG, "mDevice:" + mDevice + " != head:" + job.toString());
-                    }
-
-                    // Check to see if we need to remove the stale items from the queue
-                    if (!pruneQueue(null)) {
-                        // nothing in the queue was modify. Just ignore the notification and return.
-                        return;
-                    }
-                } else {
-                    // Remove the first item and process the next one
-                    workQueue.poll();
-                }
-
-                processCommands();
-            }
-        }
-    }
-
-    /*
-     * This method is called in 2 places:
-     * 1) queryCommand() - when someone or something want to connect or
-     *    disconnect
-     * 2) onProfileStateChanged() - when the framework sends an intent
-     *    notification when it finishes processing a command
-     */
-    private void processCommands() {
         if (D) {
-            Log.d(TAG, "processCommands:" + workQueue.toString());
+            Log.d(TAG, "onProfileStateChanged: profile " + profile.toString() +
+                    " newProfileState " + newProfileState);
         }
-        Iterator<BluetoothJob> it = workQueue.iterator();
-        while (it.hasNext()) {
-            BluetoothJob job = it.next();
-            if (processCommand(job)) {
-                // Sent to bt framework. Done for now. Will remove this job
-                // from queue when we get an event
-                return;
-            } else {
-                /*
-                 * If the command failed immediately, there will be no event
-                 * callbacks. So delete the job immediately and move on to the
-                 * next one
-                 */
-                it.remove();
+
+        int newState = LocalBluetoothProfileManager.getProfileManager(mLocalManager,
+                profile).convertState(newProfileState);
+
+        if (newState == SettingsBtStatus.CONNECTION_STATUS_CONNECTED) {
+            if (!mProfiles.contains(profile)) {
+                mProfiles.add(profile);
             }
         }
     }
@@ -340,17 +158,18 @@
     }
 
     public void disconnect(Profile profile) {
-        queueCommand(new BluetoothJob(BluetoothCommand.DISCONNECT, this, profile));
+        disconnectInt(this, profile);
     }
 
     private boolean disconnectInt(CachedBluetoothDevice cachedDevice, Profile profile) {
         LocalBluetoothProfileManager profileManager =
                 LocalBluetoothProfileManager.getProfileManager(mLocalManager, profile);
         int status = profileManager.getConnectionStatus(cachedDevice.mDevice);
-        if (SettingsBtStatus.isConnectionStatusConnected(status)) {
-            if (profileManager.disconnect(cachedDevice.mDevice)) {
-                return true;
+        if (profileManager.disconnect(cachedDevice.mDevice)) {
+            if (D) {
+                Log.d(TAG, "Command sent successfully:DISCONNECT " + describe(profile));
             }
+            return true;
         }
         return false;
     }
@@ -411,9 +230,9 @@
     }
 
     /*package*/ void onBondingDockConnect() {
-        // Don't connect just set the timer.
-        // TODO(): Fix the actual problem
-        mConnectAttempted = SystemClock.elapsedRealtime();
+        // Attempt to connect if UUIDs are available. Otherwise,
+        // we will connect when the ACTION_UUID intent arrives.
+        connect();
     }
 
     private void connectWithoutResettingTimer() {
@@ -437,8 +256,8 @@
                         .getProfileManager(mLocalManager, profile);
                 if (profileManager.isPreferred(mDevice)) {
                     ++preferredProfiles;
-                    disconnectConnected(profile);
-                    queueCommand(new BluetoothJob(BluetoothCommand.CONNECT, this, profile));
+                    disconnectConnected(this, profile);
+                    connectInt(this, profile);
                 }
             }
         }
@@ -460,8 +279,8 @@
                 LocalBluetoothProfileManager profileManager = LocalBluetoothProfileManager
                         .getProfileManager(mLocalManager, profile);
                 profileManager.setPreferred(mDevice, false);
-                disconnectConnected(profile);
-                queueCommand(new BluetoothJob(BluetoothCommand.CONNECT, this, profile));
+                disconnectConnected(this, profile);
+                connectInt(this, profile);
             }
         }
     }
@@ -470,20 +289,21 @@
         mConnectAttempted = SystemClock.elapsedRealtime();
         // Reset the only-show-one-error-dialog tracking variable
         mIsConnectingErrorPossible = true;
-        disconnectConnected(profile);
-        queueCommand(new BluetoothJob(BluetoothCommand.CONNECT, this, profile));
+        disconnectConnected(this, profile);
+        connectInt(this, profile);
     }
 
-    private void disconnectConnected(Profile profile) {
+    private void disconnectConnected(CachedBluetoothDevice device, Profile profile) {
         LocalBluetoothProfileManager profileManager =
             LocalBluetoothProfileManager.getProfileManager(mLocalManager, profile);
         CachedBluetoothDeviceManager cachedDeviceManager = mLocalManager.getCachedDeviceManager();
         Set<BluetoothDevice> devices = profileManager.getConnectedDevices();
         if (devices == null) return;
-        for (BluetoothDevice device : devices) {
-            CachedBluetoothDevice cachedDevice = cachedDeviceManager.findDevice(device);
-            if (cachedDevice != null) {
-                queueCommand(new BluetoothJob(BluetoothCommand.DISCONNECT, cachedDevice, profile));
+        for (BluetoothDevice btDevice : devices) {
+            CachedBluetoothDevice cachedDevice = cachedDeviceManager.findDevice(btDevice);
+
+            if (cachedDevice != null && !cachedDevice.equals(device)) {
+                disconnectInt(cachedDevice, profile);
             }
         }
     }
@@ -494,14 +314,14 @@
         LocalBluetoothProfileManager profileManager =
                 LocalBluetoothProfileManager.getProfileManager(mLocalManager, profile);
         int status = profileManager.getConnectionStatus(cachedDevice.mDevice);
-        if (!SettingsBtStatus.isConnectionStatusConnected(status)) {
-            if (profileManager.connect(cachedDevice.mDevice)) {
-                return true;
+        if (profileManager.connect(cachedDevice.mDevice)) {
+            if (D) {
+                Log.d(TAG, "Command sent successfully:CONNECT " + describe(profile));
             }
-            Log.i(TAG, "Failed to connect " + profile.toString() + " to " + cachedDevice.mName);
-        } else {
-            Log.i(TAG, "Already connected");
+            return true;
         }
+        Log.i(TAG, "Failed to connect " + profile.toString() + " to " + cachedDevice.mName);
+
         return false;
     }
 
@@ -533,7 +353,10 @@
         if (!mDevice.createBond()) {
             mLocalManager.showError(mDevice, R.string.bluetooth_error_title,
                     R.string.bluetooth_pairing_error_message);
+            return;
         }
+
+        mConnectAfterPairing = true;  // auto-connect after pairing
     }
 
     public void unpair() {
@@ -546,7 +369,18 @@
         }
 
         if (state != BluetoothDevice.BOND_NONE) {
-            queueCommand(new BluetoothJob(BluetoothCommand.REMOVE_BOND, this, null));
+            final BluetoothDevice dev = getDevice();
+            if (dev != null) {
+                final boolean successful = dev.removeBond();
+                if (successful) {
+                    if (D) {
+                        Log.d(TAG, "Command sent successfully:REMOVE_BOND " + describe(null));
+                    }
+                } else if (V) {
+                    Log.v(TAG, "Framework rejected command immediately:REMOVE_BOND " +
+                            describe(null));
+                }
+            }
         }
     }
 
@@ -768,33 +602,19 @@
     public void onBondingStateChanged(int bondState) {
         if (bondState == BluetoothDevice.BOND_NONE) {
             mProfiles.clear();
-
-            BluetoothJob job = workQueue.peek();
-            if (job != null) {
-                // Remove the first item and process the next one
-                if (job.command == BluetoothCommand.REMOVE_BOND
-                        && job.cachedDevice.mDevice.equals(mDevice)) {
-                    workQueue.poll(); // dequeue
-                } else {
-                    // Unexpected job
-                    if (D) {
-                        Log.d(TAG, "job.command = " + job.command);
-                        Log.d(TAG, "mDevice:" + mDevice + " != head:" + job.toString());
-                    }
-
-                    // Check to see if we need to remove the stale items from the queue
-                    if (!pruneQueue(null)) {
-                        // nothing in the queue was modify. Just ignore the notification and return.
-                        refresh();
-                        return;
-                    }
-                }
-
-                processCommands();
-            }
+            mConnectAfterPairing = false;  // cancel auto-connect
         }
 
         refresh();
+
+        if (bondState == BluetoothDevice.BOND_BONDED) {
+            if (mDevice.isBluetoothDock()) {
+                onBondingDockConnect();
+            } else if (mConnectAfterPairing) {
+                connect();
+            }
+            mConnectAfterPairing = false;
+        }
     }
 
     public void setBtClass(BluetoothClass btClass) {
diff --git a/src/com/android/settings/bluetooth/CachedBluetoothDeviceManager.java b/src/com/android/settings/bluetooth/CachedBluetoothDeviceManager.java
index 4497480..b2b1326 100644
--- a/src/com/android/settings/bluetooth/CachedBluetoothDeviceManager.java
+++ b/src/com/android/settings/bluetooth/CachedBluetoothDeviceManager.java
@@ -182,15 +182,6 @@
         }
 
         cachedDevice.onBondingStateChanged(bondState);
-
-        if (bondState == BluetoothDevice.BOND_BONDED) {
-            // Auto-connect after pairing
-            if (!device.isBluetoothDock()) {
-                cachedDevice.connect();
-            } else {
-                cachedDevice.onBondingDockConnect();
-            }
-        }
     }
 
     /**
diff --git a/src/com/android/settings/bluetooth/ConnectSpecificProfilesActivity.java b/src/com/android/settings/bluetooth/ConnectSpecificProfilesActivity.java
index 08534f3..ed9a974 100644
--- a/src/com/android/settings/bluetooth/ConnectSpecificProfilesActivity.java
+++ b/src/com/android/settings/bluetooth/ConnectSpecificProfilesActivity.java
@@ -72,7 +72,7 @@
         }
 
         if (device == null) {
-            Log.w(TAG, "Activity started without a remote blueototh device");
+            Log.w(TAG, "Activity started without a remote Bluetooth device");
             finish();
         }
 
@@ -179,6 +179,9 @@
     }
 
     private void onProfileCheckedStateChanged(Profile profile, boolean checked) {
+        LocalBluetoothProfileManager profileManager = LocalBluetoothProfileManager
+                .getProfileManager(mManager, profile);
+        profileManager.setPreferred(mCachedDevice.getDevice(), checked);
         if (mOnlineMode) {
             if (checked) {
                 mCachedDevice.connect(profile);
@@ -186,10 +189,6 @@
                 mCachedDevice.disconnect(profile);
             }
         }
-
-        LocalBluetoothProfileManager profileManager = LocalBluetoothProfileManager
-                .getProfileManager(mManager, profile);
-        profileManager.setPreferred(mCachedDevice.getDevice(), checked);
     }
 
     public void onDeviceAttributesChanged(CachedBluetoothDevice cachedDevice) {
diff --git a/src/com/android/settings/bluetooth/DockService.java b/src/com/android/settings/bluetooth/DockService.java
index f318987..280ac92 100644
--- a/src/com/android/settings/bluetooth/DockService.java
+++ b/src/com/android/settings/bluetooth/DockService.java
@@ -18,6 +18,7 @@
 
 import com.android.settings.R;
 import com.android.settings.bluetooth.LocalBluetoothProfileManager.Profile;
+import com.android.settings.bluetooth.LocalBluetoothProfileManager.ServiceListener;
 
 import android.app.AlertDialog;
 import android.app.Notification;
@@ -48,7 +49,7 @@
 
 public class DockService extends Service implements AlertDialog.OnMultiChoiceClickListener,
         DialogInterface.OnClickListener, DialogInterface.OnDismissListener,
-        CompoundButton.OnCheckedChangeListener {
+        CompoundButton.OnCheckedChangeListener, ServiceListener {
 
     private static final String TAG = "DockService";
 
@@ -101,6 +102,7 @@
     // Created in OnCreate()
     private volatile Looper mServiceLooper;
     private volatile ServiceHandler mServiceHandler;
+    private Runnable mRunnable;
     private DockService mContext;
     private LocalBluetoothManager mBtManager;
 
@@ -138,6 +140,8 @@
     @Override
     public void onDestroy() {
         if (DEBUG) Log.d(TAG, "onDestroy");
+        mRunnable = null;
+        LocalBluetoothProfileManager.removeServiceListener(this);
         if (mDialog != null) {
             mDialog.dismiss();
             mDialog = null;
@@ -228,8 +232,8 @@
     // This method gets messages from both onStartCommand and mServiceHandler/mServiceLooper
     private synchronized void processMessage(Message msg) {
         int msgType = msg.what;
-        int state = msg.arg1;
-        int startId = msg.arg2;
+        final int state = msg.arg1;
+        final int startId = msg.arg2;
         boolean deferFinishCall = false;
         BluetoothDevice device = null;
         if (msg.obj != null) {
@@ -271,12 +275,23 @@
                     }
 
                     mDevice = device;
-                    if (mBtManager.getDockAutoConnectSetting(device.getAddress())) {
-                        // Setting == auto connect
-                        initBtSettings(mContext, device, state, false);
-                        applyBtSettings(mDevice, startId);
+
+                    // Register first in case LocalBluetoothProfileManager
+                    // becomes ready after isManagerReady is called and it
+                    // would be too late to register a service listener.
+                    LocalBluetoothProfileManager.addServiceListener(this);
+                    if (LocalBluetoothProfileManager.isManagerReady()) {
+                        handleDocked(device, state, startId);
+                        // Not needed after all
+                        LocalBluetoothProfileManager.removeServiceListener(this);
                     } else {
-                        createDialog(mContext, mDevice, state, startId);
+                        final BluetoothDevice d = device;
+                        mRunnable = new Runnable() {
+                            public void run() {
+                                handleDocked(d, state, startId);
+                            }
+                        };
+                        deferFinishCall = true;
                     }
                 }
                 break;
@@ -703,9 +718,12 @@
                 // Checked but not connected
                 callConnect = true;
             } else if (!mCheckedItems[i]) {
-                // Unchecked but connected
-                if (DEBUG) Log.d(TAG, "applyBtSettings - Disconnecting");
-                cachedDevice.disconnect(mProfiles[i]);
+                // Unchecked, may or may not be connected.
+                int status = profileManager.getConnectionStatus(cachedDevice.getDevice());
+                if (SettingsBtStatus.isConnectionStatusConnected(status)) {
+                    if (DEBUG) Log.d(TAG, "applyBtSettings - Disconnecting");
+                    cachedDevice.disconnect(mProfiles[i]);
+                }
             }
             profileManager.setPreferred(device, mCheckedItems[i]);
             if (DEBUG) {
@@ -721,8 +739,21 @@
         }
     }
 
+    private synchronized void handleDocked(final BluetoothDevice device, final int state,
+            final int startId) {
+        if (mBtManager.getDockAutoConnectSetting(device.getAddress())) {
+            // Setting == auto connect
+            initBtSettings(mContext, device, state, false);
+            applyBtSettings(mDevice, startId);
+        } else {
+            createDialog(mContext, device, state, startId);
+        }
+    }
+
     private synchronized void handleUndocked(Context context, LocalBluetoothManager localManager,
             BluetoothDevice device) {
+        mRunnable = null;
+        LocalBluetoothProfileManager.removeServiceListener(this);
         if (mDialog != null) {
             mDialog.dismiss();
             mDialog = null;
@@ -760,14 +791,14 @@
         SharedPreferences.Editor editor = getSharedPreferences(SHARED_PREFERENCES_NAME,
                 Context.MODE_PRIVATE).edit();
         editor.putBoolean(key, bool);
-        editor.commit();
+        editor.apply();
     }
 
     private void setSettingInt(String key, int value) {
         SharedPreferences.Editor editor = getSharedPreferences(SHARED_PREFERENCES_NAME,
                 Context.MODE_PRIVATE).edit();
         editor.putInt(key, value);
-        editor.commit();
+        editor.apply();
     }
 
     private void removeSetting(String key) {
@@ -775,7 +806,17 @@
                 Context.MODE_PRIVATE);
         SharedPreferences.Editor editor = sharedPref.edit();
         editor.remove(key);
-        editor.commit();
-        return;
+        editor.apply();
+    }
+
+    public synchronized void onServiceConnected() {
+        if (mRunnable != null) {
+            mRunnable.run();
+            mRunnable = null;
+            LocalBluetoothProfileManager.removeServiceListener(this);
+        }
+    }
+
+    public void onServiceDisconnected() {
     }
 }
diff --git a/src/com/android/settings/bluetooth/LocalBluetoothManager.java b/src/com/android/settings/bluetooth/LocalBluetoothManager.java
index 2ffb139..4ba06da 100644
--- a/src/com/android/settings/bluetooth/LocalBluetoothManager.java
+++ b/src/com/android/settings/bluetooth/LocalBluetoothManager.java
@@ -45,9 +45,8 @@
 
     private static final String SHARED_PREFERENCES_NAME = "bluetooth_settings";
 
+    /** Singleton instance. */
     private static LocalBluetoothManager INSTANCE;
-    /** Used when obtaining a reference to the singleton instance. */
-    private static Object INSTANCE_LOCK = new Object();
     private boolean mInitialized;
 
     private Context mContext;
@@ -86,7 +85,7 @@
     private long mLastScan;
 
     public static LocalBluetoothManager getInstance(Context context) {
-        synchronized (INSTANCE_LOCK) {
+        synchronized (LocalBluetoothManager.class) {
             if (INSTANCE == null) {
                 INSTANCE = new LocalBluetoothManager();
             }
@@ -356,7 +355,7 @@
                 deviceAddress);
         editor.putLong(LocalBluetoothManager.SHARED_PREFERENCES_KEY_LAST_SELECTED_DEVICE_TIME,
                 System.currentTimeMillis());
-        editor.commit();
+        editor.apply();
     }
 
     public boolean hasDockAutoConnectSetting(String addr) {
@@ -371,12 +370,12 @@
     public void saveDockAutoConnectSetting(String addr, boolean autoConnect) {
         SharedPreferences.Editor editor = getSharedPreferences().edit();
         editor.putBoolean(SHARED_PREFERENCES_KEY_DOCK_AUTO_CONNECT + addr, autoConnect);
-        editor.commit();
+        editor.apply();
     }
 
     public void removeDockAutoConnectSetting(String addr) {
         SharedPreferences.Editor editor = getSharedPreferences().edit();
         editor.remove(SHARED_PREFERENCES_KEY_DOCK_AUTO_CONNECT + addr);
-        editor.commit();
+        editor.apply();
     }
 }
diff --git a/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java b/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java
index f3aaade..8d29428 100644
--- a/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java
+++ b/src/com/android/settings/bluetooth/LocalBluetoothProfileManager.java
@@ -28,6 +28,8 @@
 
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -53,6 +55,29 @@
         BluetoothUuid.ObexObjectPush
     };
 
+    /**
+     * An interface for notifying BluetoothHeadset IPC clients when they have
+     * been connected to the BluetoothHeadset service.
+     */
+    public interface ServiceListener {
+        /**
+         * Called to notify the client when this proxy object has been
+         * connected to the BluetoothHeadset service. Clients must wait for
+         * this callback before making IPC calls on the BluetoothHeadset
+         * service.
+         */
+        public void onServiceConnected();
+
+        /**
+         * Called to notify the client that this proxy object has been
+         * disconnected from the BluetoothHeadset service. Clients must not
+         * make IPC calls on the BluetoothHeadset service after this callback.
+         * This callback will currently only occur if the application hosting
+         * the BluetoothHeadset service, but may be called more often in future.
+         */
+        public void onServiceDisconnected();
+    }
+
     // TODO: close profiles when we're shutting down
     private static Map<Profile, LocalBluetoothProfileManager> sProfileMap =
             new HashMap<Profile, LocalBluetoothProfileManager>();
@@ -76,6 +101,26 @@
         }
     }
 
+    private static LinkedList<ServiceListener> mServiceListeners = new LinkedList<ServiceListener>();
+
+    public static void addServiceListener(ServiceListener l) {
+        mServiceListeners.add(l);
+    }
+
+    public static void removeServiceListener(ServiceListener l) {
+        mServiceListeners.remove(l);
+    }
+
+    public static boolean isManagerReady() {
+        // Getting just the headset profile is fine for now. Will need to deal with A2DP
+        // and others if they aren't always in a ready state.
+        LocalBluetoothProfileManager profileManager = sProfileMap.get(Profile.HEADSET);
+        if (profileManager == null) {
+            return sProfileMap.size() > 0;
+        }
+        return profileManager.isProfileReady();
+    }
+
     public static LocalBluetoothProfileManager getProfileManager(LocalBluetoothManager localManager,
             Profile profile) {
         // Note: This code assumes that "localManager" is same as the
@@ -144,6 +189,8 @@
         return SettingsBtStatus.isConnectionStatusConnected(getConnectionStatus(device));
     }
 
+    public abstract boolean isProfileReady();
+
     // TODO: int instead of enum
     public enum Profile {
         HEADSET(R.string.bluetooth_profile_headset),
@@ -247,6 +294,11 @@
                 return SettingsBtStatus.CONNECTION_STATUS_UNKNOWN;
             }
         }
+
+        @Override
+        public boolean isProfileReady() {
+            return true;
+        }
     }
 
     /**
@@ -256,6 +308,9 @@
             implements BluetoothHeadset.ServiceListener {
         private BluetoothHeadset mService;
         private Handler mUiHandler = new Handler();
+        private boolean profileReady = false;
+        private BluetoothDevice mDelayedConnectDevice = null;
+        private BluetoothDevice mDelayedDisconnectDevice = null;
 
         public HeadsetProfileManager(LocalBluetoothManager localManager) {
             super(localManager);
@@ -263,23 +318,67 @@
         }
 
         public void onServiceConnected() {
+            profileReady = true;
             // This could be called on a non-UI thread, funnel to UI thread.
-            mUiHandler.post(new Runnable() {
+            // Delay for a few seconds to allow other proxies to connect.
+            mUiHandler.postDelayed(new Runnable() {
                 public void run() {
-                    /*
-                     * We just bound to the service, so refresh the UI of the
-                     * headset device.
-                     */
                     BluetoothDevice device = mService.getCurrentHeadset();
-                    if (device == null) return;
-                    mLocalManager.getCachedDeviceManager()
+
+                    if (mDelayedConnectDevice != null) {
+                        Log.i(TAG, "service ready: connecting...");
+                        BluetoothDevice newDevice = mDelayedConnectDevice;
+                        mDelayedConnectDevice = null;
+
+                        if (!newDevice.equals(device)) {
+                            if (device != null) {
+                                Log.i(TAG, "disconnecting old headset");
+                                mService.disconnectHeadset(device);
+                            }
+                            Log.i(TAG, "connecting to pending headset");
+                            mService.connectHeadset(newDevice);
+                        }
+                    } else if (mDelayedDisconnectDevice != null) {
+                        Log.i(TAG, "service ready: disconnecting...");
+                        if (mDelayedDisconnectDevice.equals(device)) {
+                            Log.i(TAG, "disconnecting headset");
+                            mService.disconnectHeadset(device);
+                        }
+                        mDelayedDisconnectDevice = null;
+                    } else {
+                        /*
+                         * We just bound to the service, so refresh the UI of the
+                         * headset device.
+                         */
+                        if (device == null) return;
+                        mLocalManager.getCachedDeviceManager()
                             .onProfileStateChanged(device, Profile.HEADSET,
                                                    BluetoothHeadset.STATE_CONNECTED);
+                    }
                 }
-            });
+            }, 2000);  // wait 2 seconds for other proxies to connect
+
+            if (mServiceListeners.size() > 0) {
+                Iterator<ServiceListener> it = mServiceListeners.iterator();
+                while(it.hasNext()) {
+                    it.next().onServiceConnected();
+                }
+            }
         }
 
         public void onServiceDisconnected() {
+            profileReady = false;
+            if (mServiceListeners.size() > 0) {
+                Iterator<ServiceListener> it = mServiceListeners.iterator();
+                while(it.hasNext()) {
+                    it.next().onServiceDisconnected();
+                }
+            }
+        }
+
+        @Override
+        public boolean isProfileReady() {
+            return profileReady;
         }
 
         @Override
@@ -295,20 +394,44 @@
 
         @Override
         public boolean connect(BluetoothDevice device) {
+            // Delay connection until onServiceConnected() if the
+            // manager isn't ready
+            if (!isManagerReady()) {
+                Log.w(TAG, "HeadsetProfileManager delaying connect, "
+                        + "manager not ready");
+                mDelayedConnectDevice = device;
+                mDelayedDisconnectDevice = null;
+                return true;  // hopefully it will succeed
+            }
+
             // Since connectHeadset fails if already connected to a headset, we
             // disconnect from any headset first
-            mService.disconnectHeadset();
+            BluetoothDevice currDevice = mService.getCurrentHeadset();
+            if (currDevice != null) {
+                mService.disconnectHeadset(currDevice);
+            }
             return mService.connectHeadset(device);
         }
 
         @Override
         public boolean disconnect(BluetoothDevice device) {
-            if (mService.getCurrentHeadset().equals(device)) {
+            // Delay connection until onServiceConnected() if the
+            // manager isn't ready
+            if (!isManagerReady()) {
+                Log.w(TAG, "HeadsetProfileManager delaying disconnect, "
+                        + "manager not ready");
+                mDelayedConnectDevice = null;
+                mDelayedDisconnectDevice = device;
+                return true;  // hopefully it will succeed
+            }
+
+            BluetoothDevice currDevice = mService.getCurrentHeadset();
+            if (currDevice != null && currDevice.equals(device)) {
                 // Downgrade prority as user is disconnecting the headset.
                 if (mService.getPriority(device) > BluetoothHeadset.PRIORITY_ON) {
                     mService.setPriority(device, BluetoothHeadset.PRIORITY_ON);
                 }
-                return mService.disconnectHeadset();
+                return mService.disconnectHeadset(device);
             } else {
                 return false;
             }
@@ -318,7 +441,7 @@
         public int getConnectionStatus(BluetoothDevice device) {
             BluetoothDevice currentDevice = mService.getCurrentHeadset();
             return currentDevice != null && currentDevice.equals(device)
-                    ? convertState(mService.getState())
+                    ? convertState(mService.getState(device))
                     : SettingsBtStatus.CONNECTION_STATUS_DISCONNECTED;
         }
 
@@ -424,6 +547,11 @@
         }
 
         @Override
+        public boolean isProfileReady() {
+            return true;
+        }
+
+        @Override
         public int convertState(int oppState) {
             switch (oppState) {
             case 0:
diff --git a/src/com/android/settings/bluetooth/RequestPermissionActivity.java b/src/com/android/settings/bluetooth/RequestPermissionActivity.java
index eca233c..dd802f3 100644
--- a/src/com/android/settings/bluetooth/RequestPermissionActivity.java
+++ b/src/com/android/settings/bluetooth/RequestPermissionActivity.java
@@ -277,7 +277,7 @@
         editor.putLong(
                 BluetoothDiscoverableEnabler.SHARED_PREFERENCES_KEY_DISCOVERABLE_END_TIMESTAMP,
                 endTimestamp);
-        editor.commit();
+        editor.apply();
     }
 
     @Override
diff --git a/src/com/android/settings/bluetooth/SettingsBtStatus.java b/src/com/android/settings/bluetooth/SettingsBtStatus.java
index e2285e9..c6ec23b 100644
--- a/src/com/android/settings/bluetooth/SettingsBtStatus.java
+++ b/src/com/android/settings/bluetooth/SettingsBtStatus.java
@@ -31,7 +31,7 @@
 
     public static final int CONNECTION_STATUS_UNKNOWN = 0;
     public static final int CONNECTION_STATUS_ACTIVE = 1;
-    /** Use {@link #isConnected} to check for the connected state */
+    /** Use {@link #isConnectionStatusConnected} to check for the connected state */
     public static final int CONNECTION_STATUS_CONNECTED = 2;
     public static final int CONNECTION_STATUS_CONNECTING = 3;
     public static final int CONNECTION_STATUS_DISCONNECTED = 4;
diff --git a/src/com/android/settings/deviceinfo/Memory.java b/src/com/android/settings/deviceinfo/Memory.java
index b574849..0d00528 100644
--- a/src/com/android/settings/deviceinfo/Memory.java
+++ b/src/com/android/settings/deviceinfo/Memory.java
@@ -26,13 +26,9 @@
 import android.content.IntentFilter;
 import android.content.DialogInterface.OnCancelListener;
 import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.res.Resources;
 import android.os.Bundle;
-import android.os.Handler;
 import android.os.IBinder;
-import android.os.Message;
 import android.os.RemoteException;
 import android.os.Environment;
 import android.os.storage.IMountService;
@@ -42,6 +38,7 @@
 import android.os.storage.StorageEventListener;
 import android.preference.Preference;
 import android.preference.PreferenceActivity;
+import android.preference.PreferenceGroup;
 import android.preference.PreferenceScreen;
 import android.text.format.Formatter;
 import android.util.Log;
@@ -50,9 +47,7 @@
 import com.android.settings.R;
 
 import java.io.File;
-import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
 
 public class Memory extends PreferenceActivity implements OnCancelListener {
     private static final String TAG = "Memory";
@@ -66,6 +61,8 @@
 
     private static final String MEMORY_SD_FORMAT = "memory_sd_format";
 
+    private static final String MEMORY_SD_GROUP = "memory_sd";
+
     private static final int DLG_CONFIRM_UNMOUNT = 1;
     private static final int DLG_ERROR_UNMOUNT = 2;
 
@@ -75,6 +72,9 @@
     private Preference mSdAvail;
     private Preference mSdMountToggle;
     private Preference mSdFormat;
+    private PreferenceGroup mSdMountPreferenceGroup;
+
+    boolean mSdMountToggleAdded = true;
     
     // Access using getMountService()
     private IMountService mMountService = null;
@@ -97,6 +97,8 @@
         mSdAvail = findPreference(MEMORY_SD_AVAIL);
         mSdMountToggle = findPreference(MEMORY_SD_MOUNT_TOGGLE);
         mSdFormat = findPreference(MEMORY_SD_FORMAT);
+
+        mSdMountPreferenceGroup = (PreferenceGroup)findPreference(MEMORY_SD_GROUP);
     }
     
     @Override
@@ -225,7 +227,6 @@
     private boolean hasAppsAccessingStorage() throws RemoteException {
         String extStoragePath = Environment.getExternalStorageDirectory().toString();
         IMountService mountService = getMountService();
-        boolean showPidDialog = false;
         int stUsers[] = mountService.getStorageUsers(extStoragePath);
         if (stUsers != null && stUsers.length > 0) {
             return true;
@@ -275,9 +276,15 @@
             readOnly = mRes.getString(R.string.read_only);
         }
  
-        mSdFormat.setEnabled(false);
-
         if (status.equals(Environment.MEDIA_MOUNTED)) {
+            if (!Environment.isExternalStorageRemovable()) {
+                // This device has built-in storage that is not removable.
+                // There is no reason for the user to unmount it.
+                if (mSdMountToggleAdded) {
+                    mSdMountPreferenceGroup.removePreference(mSdMountToggle);
+                    mSdMountToggleAdded = false;
+                }
+            }
             try {
                 File path = Environment.getExternalStorageDirectory();
                 StatFs stat = new StatFs(path.getPath());
@@ -303,10 +310,18 @@
             mSdAvail.setSummary(mRes.getString(R.string.sd_unavailable));
 
 
+            if (!Environment.isExternalStorageRemovable()) {
+                if (status.equals(Environment.MEDIA_UNMOUNTED)) {
+                    if (!mSdMountToggleAdded) {
+                        mSdMountPreferenceGroup.addPreference(mSdMountToggle);
+                        mSdMountToggleAdded = true;
+                    }
+                }
+            }
+
             if (status.equals(Environment.MEDIA_UNMOUNTED) ||
                 status.equals(Environment.MEDIA_NOFS) ||
                 status.equals(Environment.MEDIA_UNMOUNTABLE) ) {
-                mSdFormat.setEnabled(true);
                 mSdMountToggle.setEnabled(true);
                 mSdMountToggle.setTitle(mRes.getString(R.string.sd_mount));
                 mSdMountToggle.setSummary(mRes.getString(R.string.sd_mount_summary));
diff --git a/src/com/android/settings/fuelgauge/BatteryHistoryChart.java b/src/com/android/settings/fuelgauge/BatteryHistoryChart.java
new file mode 100644
index 0000000..23107da
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/BatteryHistoryChart.java
@@ -0,0 +1,713 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.fuelgauge;
+
+import com.android.settings.R;
+
+import android.content.Context;
+import android.content.res.ColorStateList;
+import android.content.res.TypedArray;
+import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.graphics.Path;
+import android.graphics.Typeface;
+import android.os.BatteryStats;
+import android.os.SystemClock;
+import android.os.BatteryStats.HistoryItem;
+import android.telephony.ServiceState;
+import android.text.TextPaint;
+import android.util.AttributeSet;
+import android.util.TypedValue;
+import android.view.View;
+
+public class BatteryHistoryChart extends View {
+    static final int CHART_DATA_X_MASK = 0x0000ffff;
+    static final int CHART_DATA_BIN_MASK = 0xffff0000;
+    static final int CHART_DATA_BIN_SHIFT = 16;
+
+    static class ChartData {
+        int[] mColors;
+        Paint[] mPaints;
+
+        int mNumTicks;
+        int[] mTicks;
+        int mLastBin;
+
+        void setColors(int[] colors) {
+            mColors = colors;
+            mPaints = new Paint[colors.length];
+            for (int i=0; i<colors.length; i++) {
+                mPaints[i] = new Paint();
+                mPaints[i].setColor(colors[i]);
+                mPaints[i].setStyle(Paint.Style.FILL);
+            }
+        }
+
+        void init(int width) {
+            if (width > 0) {
+                mTicks = new int[width*2];
+            } else {
+                mTicks = null;
+            }
+            mNumTicks = 0;
+            mLastBin = 0;
+        }
+
+        void addTick(int x, int bin) {
+            if (bin != mLastBin && mNumTicks < mTicks.length) {
+                mTicks[mNumTicks] = x | bin << CHART_DATA_BIN_SHIFT;
+                mNumTicks++;
+                mLastBin = bin;
+            }
+        }
+
+        void finish(int width) {
+            if (mLastBin != 0) {
+                addTick(width, 0);
+            }
+        }
+
+        void draw(Canvas canvas, int top, int height) {
+            int lastBin=0, lastX=0;
+            int bottom = top + height;
+            for (int i=0; i<mNumTicks; i++) {
+                int tick = mTicks[i];
+                int x = tick&CHART_DATA_X_MASK;
+                int bin = (tick&CHART_DATA_BIN_MASK) >> CHART_DATA_BIN_SHIFT;
+                if (lastBin != 0) {
+                    canvas.drawRect(lastX, top, x, bottom, mPaints[lastBin]);
+                }
+                lastBin = bin;
+                lastX = x;
+            }
+
+        }
+    }
+
+    static final int SANS = 1;
+    static final int SERIF = 2;
+    static final int MONOSPACE = 3;
+
+    static final int BATTERY_WARN = 29;
+    static final int BATTERY_CRITICAL = 14;
+    
+    // First value if for phone off; first value is "scanning"; following values
+    // are battery stats signal strength buckets.
+    static final int NUM_PHONE_SIGNALS = 7;
+
+    final Paint mBatteryBackgroundPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
+    final Paint mBatteryGoodPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
+    final Paint mBatteryWarnPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
+    final Paint mBatteryCriticalPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
+    final Paint mChargingPaint = new Paint();
+    final Paint mScreenOnPaint = new Paint();
+    final Paint mGpsOnPaint = new Paint();
+    final Paint mWifiRunningPaint = new Paint();
+    final Paint mWakeLockPaint = new Paint();
+    final ChartData mPhoneSignalChart = new ChartData();
+    final TextPaint mTextPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG);
+    
+    final Path mBatLevelPath = new Path();
+    final Path mBatGoodPath = new Path();
+    final Path mBatWarnPath = new Path();
+    final Path mBatCriticalPath = new Path();
+    final Path mChargingPath = new Path();
+    final Path mScreenOnPath = new Path();
+    final Path mGpsOnPath = new Path();
+    final Path mWifiRunningPath = new Path();
+    final Path mWakeLockPath = new Path();
+    
+    int mFontSize;
+    
+    BatteryStats mStats;
+    long mStatsPeriod;
+    String mDurationString;
+    String mTotalDurationString;
+    String mChargingLabel;
+    String mScreenOnLabel;
+    String mGpsOnLabel;
+    String mWifiRunningLabel;
+    String mWakeLockLabel;
+    String mPhoneSignalLabel;
+    
+    int mTextAscent;
+    int mTextDescent;
+    int mDurationStringWidth;
+    int mTotalDurationStringWidth;
+
+    boolean mLargeMode;
+
+    int mLineWidth;
+    int mThinLineWidth;
+    int mChargingOffset;
+    int mScreenOnOffset;
+    int mGpsOnOffset;
+    int mWifiRunningOffset;
+    int mWakeLockOffset;
+    int mPhoneSignalOffset;
+    int mLevelOffset;
+    int mLevelTop;
+    int mLevelBottom;
+    static final int PHONE_SIGNAL_X_MASK = CHART_DATA_X_MASK;
+    static final int PHONE_SIGNAL_BIN_MASK = CHART_DATA_BIN_MASK;
+    static final int PHONE_SIGNAL_BIN_SHIFT = CHART_DATA_BIN_SHIFT;
+    
+    int mNumHist;
+    long mHistStart;
+    long mHistEnd;
+    int mBatLow;
+    int mBatHigh;
+    boolean mHaveWifi;
+    boolean mHaveGps;
+    
+    public BatteryHistoryChart(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        
+        mBatteryBackgroundPaint.setARGB(255, 128, 128, 128);
+        mBatteryBackgroundPaint.setStyle(Paint.Style.FILL);
+        mBatteryGoodPaint.setARGB(128, 0, 255, 0);
+        mBatteryGoodPaint.setStyle(Paint.Style.STROKE);
+        mBatteryWarnPaint.setARGB(128, 255, 255, 0);
+        mBatteryWarnPaint.setStyle(Paint.Style.STROKE);
+        mBatteryCriticalPaint.setARGB(192, 255, 0, 0);
+        mBatteryCriticalPaint.setStyle(Paint.Style.STROKE);
+        mChargingPaint.setARGB(255, 0, 128, 0);
+        mChargingPaint.setStyle(Paint.Style.STROKE);
+        mScreenOnPaint.setStyle(Paint.Style.STROKE);
+        mGpsOnPaint.setStyle(Paint.Style.STROKE);
+        mWifiRunningPaint.setStyle(Paint.Style.STROKE);
+        mWakeLockPaint.setStyle(Paint.Style.STROKE);
+        mPhoneSignalChart.setColors(new int[] {
+                0x00000000, 0xffa00000, 0xffa0a000, 0xff808020,
+                0xff808040, 0xff808060, 0xff008000
+        });
+        
+        mTextPaint.density = getResources().getDisplayMetrics().density;
+        mTextPaint.setCompatibilityScaling(
+                getResources().getCompatibilityInfo().applicationScale);
+        
+        TypedArray a =
+            context.obtainStyledAttributes(
+                attrs, R.styleable.BatteryHistoryChart, 0, 0);
+        
+        ColorStateList textColor = null;
+        int textSize = 15;
+        int typefaceIndex = -1;
+        int styleIndex = -1;
+        
+        TypedArray appearance = null;
+        int ap = a.getResourceId(R.styleable.BatteryHistoryChart_android_textAppearance, -1);
+        if (ap != -1) {
+            appearance = context.obtainStyledAttributes(ap,
+                                com.android.internal.R.styleable.
+                                TextAppearance);
+        }
+        if (appearance != null) {
+            int n = appearance.getIndexCount();
+            for (int i = 0; i < n; i++) {
+                int attr = appearance.getIndex(i);
+
+                switch (attr) {
+                case com.android.internal.R.styleable.TextAppearance_textColor:
+                    textColor = appearance.getColorStateList(attr);
+                    break;
+
+                case com.android.internal.R.styleable.TextAppearance_textSize:
+                    textSize = appearance.getDimensionPixelSize(attr, textSize);
+                    break;
+
+                case com.android.internal.R.styleable.TextAppearance_typeface:
+                    typefaceIndex = appearance.getInt(attr, -1);
+                    break;
+
+                case com.android.internal.R.styleable.TextAppearance_textStyle:
+                    styleIndex = appearance.getInt(attr, -1);
+                    break;
+                }
+            }
+
+            appearance.recycle();
+        }
+        
+        int shadowcolor = 0;
+        float dx=0, dy=0, r=0;
+        
+        int n = a.getIndexCount();
+        for (int i = 0; i < n; i++) {
+            int attr = a.getIndex(i);
+
+            switch (attr) {
+                case R.styleable.BatteryHistoryChart_android_shadowColor:
+                    shadowcolor = a.getInt(attr, 0);
+                    break;
+
+                case R.styleable.BatteryHistoryChart_android_shadowDx:
+                    dx = a.getFloat(attr, 0);
+                    break;
+
+                case R.styleable.BatteryHistoryChart_android_shadowDy:
+                    dy = a.getFloat(attr, 0);
+                    break;
+
+                case R.styleable.BatteryHistoryChart_android_shadowRadius:
+                    r = a.getFloat(attr, 0);
+                    break;
+
+                case R.styleable.BatteryHistoryChart_android_textColor:
+                    textColor = a.getColorStateList(attr);
+                    break;
+
+                case R.styleable.BatteryHistoryChart_android_textSize:
+                    textSize = a.getDimensionPixelSize(attr, textSize);
+                    break;
+
+                case R.styleable.BatteryHistoryChart_android_typeface:
+                    typefaceIndex = a.getInt(attr, typefaceIndex);
+                    break;
+
+                case R.styleable.BatteryHistoryChart_android_textStyle:
+                    styleIndex = a.getInt(attr, styleIndex);
+                    break;
+            }
+        }
+        
+        a.recycle();
+        
+        mTextPaint.setColor(textColor.getDefaultColor());
+        mTextPaint.setTextSize(textSize);
+        
+        Typeface tf = null;
+        switch (typefaceIndex) {
+            case SANS:
+                tf = Typeface.SANS_SERIF;
+                break;
+
+            case SERIF:
+                tf = Typeface.SERIF;
+                break;
+
+            case MONOSPACE:
+                tf = Typeface.MONOSPACE;
+                break;
+        }
+        
+        setTypeface(tf, styleIndex);
+        
+        if (shadowcolor != 0) {
+            mTextPaint.setShadowLayer(r, dx, dy, shadowcolor);
+        }
+    }
+    
+    public void setTypeface(Typeface tf, int style) {
+        if (style > 0) {
+            if (tf == null) {
+                tf = Typeface.defaultFromStyle(style);
+            } else {
+                tf = Typeface.create(tf, style);
+            }
+
+            mTextPaint.setTypeface(tf);
+            // now compute what (if any) algorithmic styling is needed
+            int typefaceStyle = tf != null ? tf.getStyle() : 0;
+            int need = style & ~typefaceStyle;
+            mTextPaint.setFakeBoldText((need & Typeface.BOLD) != 0);
+            mTextPaint.setTextSkewX((need & Typeface.ITALIC) != 0 ? -0.25f : 0);
+        } else {
+            mTextPaint.setFakeBoldText(false);
+            mTextPaint.setTextSkewX(0);
+            mTextPaint.setTypeface(tf);
+        }
+    }
+    
+    void setStats(BatteryStats stats) {
+        mStats = stats;
+        
+        long uSecTime = mStats.computeBatteryRealtime(SystemClock.elapsedRealtime() * 1000,
+                BatteryStats.STATS_SINCE_CHARGED);
+        mStatsPeriod = uSecTime;
+        String durationString = Utils.formatElapsedTime(getContext(), mStatsPeriod / 1000);
+        mDurationString = getContext().getString(R.string.battery_stats_on_battery,
+                durationString);
+        mChargingLabel = getContext().getString(R.string.battery_stats_charging_label);
+        mScreenOnLabel = getContext().getString(R.string.battery_stats_screen_on_label);
+        mGpsOnLabel = getContext().getString(R.string.battery_stats_gps_on_label);
+        mWifiRunningLabel = getContext().getString(R.string.battery_stats_wifi_running_label);
+        mWakeLockLabel = getContext().getString(R.string.battery_stats_wake_lock_label);
+        mPhoneSignalLabel = getContext().getString(R.string.battery_stats_phone_signal_label);
+        
+        int pos = 0;
+        int lastInteresting = 0;
+        byte lastLevel = -1;
+        mBatLow = 0;
+        mBatHigh = 100;
+        int aggrStates = 0;
+        boolean first = true;
+        if (stats.startIteratingHistoryLocked()) {
+            final HistoryItem rec = new HistoryItem();
+            while (stats.getNextHistoryLocked(rec)) {
+                pos++;
+                if (rec.cmd == HistoryItem.CMD_UPDATE) {
+                    if (first) {
+                        first = false;
+                        mHistStart = rec.time;
+                    }
+                    if (rec.batteryLevel != lastLevel || pos == 1) {
+                        lastLevel = rec.batteryLevel;
+                        lastInteresting = pos;
+                        mHistEnd = rec.time;
+                    }
+                    aggrStates |= rec.states;
+                }
+            }
+        }
+        mNumHist = lastInteresting;
+        mHaveGps = (aggrStates&HistoryItem.STATE_GPS_ON_FLAG) != 0;
+        mHaveWifi = (aggrStates&HistoryItem.STATE_WIFI_RUNNING_FLAG) != 0;
+        
+        if (mHistEnd <= mHistStart) mHistEnd = mHistStart+1;
+        mTotalDurationString = Utils.formatElapsedTime(getContext(), mHistEnd - mHistStart);
+    }
+
+    @Override
+    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+        mDurationStringWidth = (int)mTextPaint.measureText(mDurationString);
+        mTotalDurationStringWidth = (int)mTextPaint.measureText(mTotalDurationString);
+        mTextAscent = (int)mTextPaint.ascent();
+        mTextDescent = (int)mTextPaint.descent();
+    }
+
+    void finishPaths(int w, int h, int levelh, int startX, int y, Path curLevelPath,
+            int lastX, boolean lastCharging, boolean lastScreenOn, boolean lastGpsOn,
+            boolean lastWifiRunning, boolean lastWakeLock, Path lastPath) {
+        if (curLevelPath != null) {
+            if (lastX >= 0 && lastX < w) {
+                if (lastPath != null) {
+                    lastPath.lineTo(w, y);
+                }
+                curLevelPath.lineTo(w, y);
+            }
+            curLevelPath.lineTo(w, mLevelTop+levelh);
+            curLevelPath.lineTo(startX, mLevelTop+levelh);
+            curLevelPath.close();
+        }
+        
+        if (lastCharging) {
+            mChargingPath.lineTo(w, h-mChargingOffset);
+        }
+        if (lastScreenOn) {
+            mScreenOnPath.lineTo(w, h-mScreenOnOffset);
+        }
+        if (lastGpsOn) {
+            mGpsOnPath.lineTo(w, h-mGpsOnOffset);
+        }
+        if (lastWifiRunning) {
+            mWifiRunningPath.lineTo(w, h-mWifiRunningOffset);
+        }
+        if (lastWakeLock) {
+            mWakeLockPath.lineTo(w, h-mWakeLockOffset);
+        }
+        mPhoneSignalChart.finish(w);
+    }
+    
+    @Override
+    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
+        super.onSizeChanged(w, h, oldw, oldh);
+        
+        int textHeight = mTextDescent - mTextAscent;
+        mThinLineWidth = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
+                2, getResources().getDisplayMetrics());
+        if (h > (textHeight*6)) {
+            mLargeMode = true;
+            mLineWidth = textHeight/2;
+            mLevelTop = textHeight + mLineWidth;
+            mScreenOnPaint.setARGB(255, 32, 64, 255);
+            mGpsOnPaint.setARGB(255, 32, 64, 255);
+            mWifiRunningPaint.setARGB(255, 32, 64, 255);
+            mWakeLockPaint.setARGB(255, 32, 64, 255);
+        } else {
+            mLargeMode = false;
+            mLineWidth = mThinLineWidth;
+            mLevelTop = 0;
+            mScreenOnPaint.setARGB(255, 0, 0, 255);
+            mGpsOnPaint.setARGB(255, 0, 0, 255);
+            mWifiRunningPaint.setARGB(255, 0, 0, 255);
+            mWakeLockPaint.setARGB(255, 0, 0, 255);
+        }
+        if (mLineWidth <= 0) mLineWidth = 1;
+        mTextPaint.setStrokeWidth(mThinLineWidth);
+        mBatteryGoodPaint.setStrokeWidth(mThinLineWidth);
+        mBatteryWarnPaint.setStrokeWidth(mThinLineWidth);
+        mBatteryCriticalPaint.setStrokeWidth(mThinLineWidth);
+        mChargingPaint.setStrokeWidth(mLineWidth);
+        mScreenOnPaint.setStrokeWidth(mLineWidth);
+        mGpsOnPaint.setStrokeWidth(mLineWidth);
+        mWifiRunningPaint.setStrokeWidth(mLineWidth);
+        mWakeLockPaint.setStrokeWidth(mLineWidth);
+
+        if (mLargeMode) {
+            int barOffset = textHeight + mLineWidth;
+            mChargingOffset = mLineWidth;
+            mScreenOnOffset = mChargingOffset + barOffset;
+            mWakeLockOffset = mScreenOnOffset + barOffset;
+            mWifiRunningOffset = mWakeLockOffset + barOffset;
+            mGpsOnOffset = mWifiRunningOffset + (mHaveWifi ? barOffset : 0);
+            mPhoneSignalOffset = mGpsOnOffset + (mHaveGps ? barOffset : 0);
+            mLevelOffset = mPhoneSignalOffset + barOffset + mLineWidth;
+            mPhoneSignalChart.init(w);
+        } else {
+            mScreenOnOffset = mGpsOnOffset = mWifiRunningOffset
+                    = mWakeLockOffset = mLineWidth;
+            mChargingOffset = mLineWidth*2;
+            mPhoneSignalOffset = 0;
+            mLevelOffset = mLineWidth*3;
+            mPhoneSignalChart.init(0);
+        }
+
+        mBatLevelPath.reset();
+        mBatGoodPath.reset();
+        mBatWarnPath.reset();
+        mBatCriticalPath.reset();
+        mScreenOnPath.reset();
+        mGpsOnPath.reset();
+        mWifiRunningPath.reset();
+        mWakeLockPath.reset();
+        mChargingPath.reset();
+        
+        final long timeStart = mHistStart;
+        final long timeChange = mHistEnd-mHistStart;
+        
+        final int batLow = mBatLow;
+        final int batChange = mBatHigh-mBatLow;
+        
+        final int levelh = h - mLevelOffset - mLevelTop;
+        mLevelBottom = mLevelTop + levelh;
+        
+        int x = 0, y = 0, startX = 0, lastX = -1, lastY = -1;
+        int i = 0;
+        Path curLevelPath = null;
+        Path lastLinePath = null;
+        boolean lastCharging = false, lastScreenOn = false, lastGpsOn = false;
+        boolean lastWifiRunning = false, lastWakeLock = false;
+        final int N = mNumHist;
+        if (mStats.startIteratingHistoryLocked()) {
+            final HistoryItem rec = new HistoryItem();
+            while (mStats.getNextHistoryLocked(rec) && i < N) {
+                if (rec.cmd == BatteryStats.HistoryItem.CMD_UPDATE) {
+                    x = (int)(((rec.time-timeStart)*w)/timeChange);
+                    y = mLevelTop + levelh - ((rec.batteryLevel-batLow)*(levelh-1))/batChange;
+
+                    if (lastX != x) {
+                        // We have moved by at least a pixel.
+                        if (lastY != y) {
+                            // Don't plot changes within a pixel.
+                            Path path;
+                            byte value = rec.batteryLevel;
+                            if (value <= BATTERY_CRITICAL) path = mBatCriticalPath;
+                            else if (value <= BATTERY_WARN) path = mBatWarnPath;
+                            else path = mBatGoodPath;
+
+                            if (path != lastLinePath) {
+                                if (lastLinePath != null) {
+                                    lastLinePath.lineTo(x, y);
+                                }
+                                path.moveTo(x, y);
+                                lastLinePath = path;
+                            } else {
+                                path.lineTo(x, y);
+                            }
+
+                            if (curLevelPath == null) {
+                                curLevelPath = mBatLevelPath;
+                                curLevelPath.moveTo(x, y);
+                                startX = x;
+                            } else {
+                                curLevelPath.lineTo(x, y);
+                            }
+                            lastX = x;
+                            lastY = y;
+                        }
+
+                        final boolean charging =
+                            (rec.states&HistoryItem.STATE_BATTERY_PLUGGED_FLAG) != 0;
+                        if (charging != lastCharging) {
+                            if (charging) {
+                                mChargingPath.moveTo(x, h-mChargingOffset);
+                            } else {
+                                mChargingPath.lineTo(x, h-mChargingOffset);
+                            }
+                            lastCharging = charging;
+                        }
+
+                        final boolean screenOn =
+                            (rec.states&HistoryItem.STATE_SCREEN_ON_FLAG) != 0;
+                        if (screenOn != lastScreenOn) {
+                            if (screenOn) {
+                                mScreenOnPath.moveTo(x, h-mScreenOnOffset);
+                            } else {
+                                mScreenOnPath.lineTo(x, h-mScreenOnOffset);
+                            }
+                            lastScreenOn = screenOn;
+                        }
+
+                        final boolean gpsOn =
+                            (rec.states&HistoryItem.STATE_GPS_ON_FLAG) != 0;
+                        if (gpsOn != lastGpsOn) {
+                            if (gpsOn) {
+                                mGpsOnPath.moveTo(x, h-mGpsOnOffset);
+                            } else {
+                                mGpsOnPath.lineTo(x, h-mGpsOnOffset);
+                            }
+                            lastGpsOn = gpsOn;
+                        }
+
+                        final boolean wifiRunning =
+                            (rec.states&HistoryItem.STATE_WIFI_RUNNING_FLAG) != 0;
+                        if (wifiRunning != lastWifiRunning) {
+                            if (wifiRunning) {
+                                mWifiRunningPath.moveTo(x, h-mWifiRunningOffset);
+                            } else {
+                                mWifiRunningPath.lineTo(x, h-mWifiRunningOffset);
+                            }
+                            lastWifiRunning = wifiRunning;
+                        }
+
+                        final boolean wakeLock =
+                            (rec.states&HistoryItem.STATE_WAKE_LOCK_FLAG) != 0;
+                        if (wakeLock != lastWakeLock) {
+                            if (wakeLock) {
+                                mWakeLockPath.moveTo(x, h-mWakeLockOffset);
+                            } else {
+                                mWakeLockPath.lineTo(x, h-mWakeLockOffset);
+                            }
+                            lastWakeLock = wakeLock;
+                        }
+
+                        if (mLargeMode) {
+                            int bin;
+                            if (((rec.states&HistoryItem.STATE_PHONE_STATE_MASK)
+                                    >> HistoryItem.STATE_PHONE_STATE_SHIFT)
+                                    == ServiceState.STATE_POWER_OFF) {
+                                bin = 0;
+                            } else if ((rec.states&HistoryItem.STATE_PHONE_SCANNING_FLAG) != 0) {
+                                bin = 1;
+                            } else {
+                                bin = (rec.states&HistoryItem.STATE_SIGNAL_STRENGTH_MASK)
+                                        >> HistoryItem.STATE_SIGNAL_STRENGTH_SHIFT;
+                                bin += 2;
+                            }
+                            mPhoneSignalChart.addTick(x, bin);
+                        }
+                    }
+
+                } else if (rec.cmd != BatteryStats.HistoryItem.CMD_OVERFLOW) {
+                    if (curLevelPath != null) {
+                        finishPaths(x+1, h, levelh, startX, lastY, curLevelPath, lastX,
+                                lastCharging, lastScreenOn, lastGpsOn, lastWifiRunning,
+                                lastWakeLock, lastLinePath);
+                        lastX = lastY = -1;
+                        curLevelPath = null;
+                        lastLinePath = null;
+                        lastCharging = lastScreenOn = lastGpsOn = lastWakeLock = false;
+                    }
+                }
+                
+                i++;
+            }
+        }
+        
+        finishPaths(w, h, levelh, startX, lastY, curLevelPath, lastX,
+                lastCharging, lastScreenOn, lastGpsOn, lastWifiRunning,
+                lastWakeLock, lastLinePath);
+    }
+    
+    @Override
+    protected void onDraw(Canvas canvas) {
+        super.onDraw(canvas);
+        
+        final int width = getWidth();
+        final int height = getHeight();
+        
+        canvas.drawPath(mBatLevelPath, mBatteryBackgroundPaint);
+        if (mLargeMode) {
+            canvas.drawText(mDurationString, 0, -mTextAscent + (mLineWidth/2),
+                    mTextPaint);
+            canvas.drawText(mTotalDurationString, (width/2) - (mTotalDurationStringWidth/2),
+                    mLevelBottom - mTextAscent + mThinLineWidth, mTextPaint);
+        } else {
+            canvas.drawText(mDurationString, (width/2) - (mDurationStringWidth/2),
+                    (height/2) - ((mTextDescent-mTextAscent)/2) - mTextAscent, mTextPaint);
+        }
+        if (!mBatGoodPath.isEmpty()) {
+            canvas.drawPath(mBatGoodPath, mBatteryGoodPaint);
+        }
+        if (!mBatWarnPath.isEmpty()) {
+            canvas.drawPath(mBatWarnPath, mBatteryWarnPaint);
+        }
+        if (!mBatCriticalPath.isEmpty()) {
+            canvas.drawPath(mBatCriticalPath, mBatteryCriticalPaint);
+        }
+        int top = height-mPhoneSignalOffset - (mLineWidth/2);
+        mPhoneSignalChart.draw(canvas, top, mLineWidth);
+        if (!mScreenOnPath.isEmpty()) {
+            canvas.drawPath(mScreenOnPath, mScreenOnPaint);
+        }
+        if (!mChargingPath.isEmpty()) {
+            canvas.drawPath(mChargingPath, mChargingPaint);
+        }
+        if (mHaveGps) {
+            if (!mGpsOnPath.isEmpty()) {
+                canvas.drawPath(mGpsOnPath, mGpsOnPaint);
+            }
+        }
+        if (mHaveWifi) {
+            if (!mWifiRunningPath.isEmpty()) {
+                canvas.drawPath(mWifiRunningPath, mWifiRunningPaint);
+            }
+        }
+        if (!mWakeLockPath.isEmpty()) {
+            canvas.drawPath(mWakeLockPath, mWakeLockPaint);
+        }
+
+        if (mLargeMode) {
+            canvas.drawText(mPhoneSignalLabel, 0,
+                    height - mPhoneSignalOffset - mTextDescent, mTextPaint);
+            if (mHaveGps) {
+                canvas.drawText(mGpsOnLabel, 0,
+                        height - mGpsOnOffset - mTextDescent, mTextPaint);
+            }
+            if (mHaveWifi) {
+                canvas.drawText(mWifiRunningLabel, 0,
+                        height - mWifiRunningOffset - mTextDescent, mTextPaint);
+            }
+            canvas.drawText(mWakeLockLabel, 0,
+                    height - mWakeLockOffset - mTextDescent, mTextPaint);
+            canvas.drawText(mChargingLabel, 0,
+                    height - mChargingOffset - mTextDescent, mTextPaint);
+            canvas.drawText(mScreenOnLabel, 0,
+                    height - mScreenOnOffset - mTextDescent, mTextPaint);
+            canvas.drawLine(0, mLevelBottom+(mThinLineWidth/2), width,
+                    mLevelBottom+(mThinLineWidth/2), mTextPaint);
+            canvas.drawLine(0, mLevelTop, 0,
+                    mLevelBottom+(mThinLineWidth/2), mTextPaint);
+            for (int i=0; i<10; i++) {
+                int y = mLevelTop + ((mLevelBottom-mLevelTop)*i)/10;
+                canvas.drawLine(0, y, mThinLineWidth*2, y, mTextPaint);
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/fuelgauge/BatteryHistoryDetail.java b/src/com/android/settings/fuelgauge/BatteryHistoryDetail.java
new file mode 100644
index 0000000..c673ce3
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/BatteryHistoryDetail.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.fuelgauge;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.os.Parcel;
+
+import com.android.internal.os.BatteryStatsImpl;
+import com.android.settings.R;
+
+public class BatteryHistoryDetail extends Activity {
+    public static final String EXTRA_STATS = "stats";
+
+    private BatteryStatsImpl mStats;
+
+    @Override
+    protected void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+        byte[] data = getIntent().getByteArrayExtra(EXTRA_STATS);
+        Parcel parcel = Parcel.obtain();
+        parcel.unmarshall(data, 0, data.length);
+        parcel.setDataPosition(0);
+        setContentView(R.layout.preference_batteryhistory);
+        mStats = com.android.internal.os.BatteryStatsImpl.CREATOR
+                .createFromParcel(parcel);
+        BatteryHistoryChart chart = (BatteryHistoryChart)findViewById(
+                R.id.battery_history_chart);
+        chart.setStats(mStats);
+    }
+}
diff --git a/src/com/android/settings/fuelgauge/BatteryHistoryPreference.java b/src/com/android/settings/fuelgauge/BatteryHistoryPreference.java
new file mode 100644
index 0000000..4579db7
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/BatteryHistoryPreference.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.fuelgauge;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.os.BatteryStats;
+import android.preference.Preference;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.android.settings.R;
+
+/**
+ * Custom preference for displaying power consumption as a bar and an icon on the left for the
+ * subsystem/app type.
+ *
+ */
+public class BatteryHistoryPreference extends Preference {
+
+    private BatteryStats mStats;
+
+    public BatteryHistoryPreference(Context context, BatteryStats stats) {
+        super(context);
+        setLayoutResource(R.layout.preference_batteryhistory);
+        mStats = stats;
+    }
+
+    BatteryStats getStats() {
+        return mStats;
+    }
+
+    @Override
+    protected void onBindView(View view) {
+        super.onBindView(view);
+
+        BatteryHistoryChart chart = (BatteryHistoryChart)view.findViewById(
+                R.id.battery_history_chart);
+        chart.setStats(mStats);
+    }
+}
diff --git a/src/com/android/settings/fuelgauge/BatterySipper.java b/src/com/android/settings/fuelgauge/BatterySipper.java
new file mode 100644
index 0000000..dbd664a
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/BatterySipper.java
@@ -0,0 +1,200 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settings.fuelgauge;
+
+import com.android.settings.R;
+import com.android.settings.fuelgauge.PowerUsageDetail.DrainType;
+
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.PackageManager.NameNotFoundException;
+import android.graphics.drawable.Drawable;
+import android.os.Handler;
+import android.os.BatteryStats.Uid;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+class BatterySipper implements Comparable<BatterySipper> {
+    final Context mContext;
+    final HashMap<String,UidToDetail> mUidCache = new HashMap<String,UidToDetail>();
+    final ArrayList<BatterySipper> mRequestQueue;
+    final Handler mHandler;
+    String name;
+    Drawable icon;
+    int iconId; // For passing to the detail screen.
+    Uid uidObj;
+    double value;
+    double[] values;
+    DrainType drainType;
+    long usageTime;
+    long cpuTime;
+    long gpsTime;
+    long wifiRunningTime;
+    long cpuFgTime;
+    long wakeLockTime;
+    long tcpBytesReceived;
+    long tcpBytesSent;
+    double percent;
+    double noCoveragePercent;
+    String defaultPackageName;
+
+    static class UidToDetail {
+        String name;
+        String packageName;
+        Drawable icon;
+    }
+
+    BatterySipper(Context context, ArrayList<BatterySipper> requestQueue,
+            Handler handler, String label, DrainType drainType,
+            int iconId, Uid uid, double[] values) {
+        mContext = context;
+        mRequestQueue = requestQueue;
+        mHandler = handler;
+        this.values = values;
+        name = label;
+        this.drainType = drainType;
+        if (iconId > 0) {
+            icon = mContext.getResources().getDrawable(iconId);
+        }
+        if (values != null) value = values[0];
+        if ((label == null || iconId == 0) && uid != null) {
+            getQuickNameIconForUid(uid);
+        }
+        uidObj = uid;
+    }
+
+    double getSortValue() {
+        return value;
+    }
+
+    double[] getValues() {
+        return values;
+    }
+
+    Drawable getIcon() {
+        return icon;
+    }
+
+    public int compareTo(BatterySipper other) {
+        // Return the flipped value because we want the items in descending order
+        return (int) (other.getSortValue() - getSortValue());
+    }
+
+    void getQuickNameIconForUid(Uid uidObj) {
+        final int uid = uidObj.getUid();
+        final String uidString = Integer.toString(uid);
+        if (mUidCache.containsKey(uidString)) {
+            UidToDetail utd = mUidCache.get(uidString);
+            defaultPackageName = utd.packageName;
+            name = utd.name;
+            icon = utd.icon;
+            return;
+        }
+        PackageManager pm = mContext.getPackageManager();
+        final Drawable defaultActivityIcon = pm.getDefaultActivityIcon();
+        String[] packages = pm.getPackagesForUid(uid);
+        icon = pm.getDefaultActivityIcon();
+        if (packages == null) {
+            //name = Integer.toString(uid);
+            if (uid == 0) {
+                name = mContext.getResources().getString(R.string.process_kernel_label);
+            } else if ("mediaserver".equals(name)) {
+                name = mContext.getResources().getString(R.string.process_mediaserver_label);
+            }
+            iconId = R.drawable.ic_power_system;
+            icon = mContext.getResources().getDrawable(iconId);
+            return;
+        } else {
+            //name = packages[0];
+        }
+        synchronized (mRequestQueue) {
+            mRequestQueue.add(this);
+        }
+    }
+
+    /**
+     * Sets name and icon
+     * @param uid Uid of the application
+     */
+    void getNameIcon() {
+        PackageManager pm = mContext.getPackageManager();
+        final int uid = uidObj.getUid();
+        final Drawable defaultActivityIcon = pm.getDefaultActivityIcon();
+        String[] packages = pm.getPackagesForUid(uid);
+        if (packages == null) {
+            name = Integer.toString(uid);
+            return;
+        }
+
+        String[] packageLabels = new String[packages.length];
+        System.arraycopy(packages, 0, packageLabels, 0, packages.length);
+
+        int preferredIndex = -1;
+        // Convert package names to user-facing labels where possible
+        for (int i = 0; i < packageLabels.length; i++) {
+            // Check if package matches preferred package
+            if (packageLabels[i].equals(name)) preferredIndex = i;
+            try {
+                ApplicationInfo ai = pm.getApplicationInfo(packageLabels[i], 0);
+                CharSequence label = ai.loadLabel(pm);
+                if (label != null) {
+                    packageLabels[i] = label.toString();
+                }
+                if (ai.icon != 0) {
+                    defaultPackageName = packages[i];
+                    icon = ai.loadIcon(pm);
+                    break;
+                }
+            } catch (NameNotFoundException e) {
+            }
+        }
+        if (icon == null) icon = defaultActivityIcon;
+
+        if (packageLabels.length == 1) {
+            name = packageLabels[0];
+        } else {
+            // Look for an official name for this UID.
+            for (String pkgName : packages) {
+                try {
+                    final PackageInfo pi = pm.getPackageInfo(pkgName, 0);
+                    if (pi.sharedUserLabel != 0) {
+                        final CharSequence nm = pm.getText(pkgName,
+                                pi.sharedUserLabel, pi.applicationInfo);
+                        if (nm != null) {
+                            name = nm.toString();
+                            if (pi.applicationInfo.icon != 0) {
+                                defaultPackageName = pkgName;
+                                icon = pi.applicationInfo.loadIcon(pm);
+                            }
+                            break;
+                        }
+                    }
+                } catch (PackageManager.NameNotFoundException e) {
+                }
+            }
+        }
+        final String uidString = Integer.toString(uidObj.getUid());
+        UidToDetail utd = new UidToDetail();
+        utd.name = name;
+        utd.icon = icon;
+        utd.packageName = defaultPackageName;
+        mUidCache.put(uidString, utd);
+        mHandler.sendMessage(mHandler.obtainMessage(PowerUsageSummary.MSG_UPDATE_NAME_ICON, this));
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/fuelgauge/PowerGaugePreference.java b/src/com/android/settings/fuelgauge/PowerGaugePreference.java
index 68f294c..ad8c25b 100644
--- a/src/com/android/settings/fuelgauge/PowerGaugePreference.java
+++ b/src/com/android/settings/fuelgauge/PowerGaugePreference.java
@@ -17,9 +17,6 @@
 package com.android.settings.fuelgauge;
 
 import android.content.Context;
-import android.graphics.Canvas;
-import android.graphics.ColorFilter;
-import android.graphics.PixelFormat;
 import android.graphics.drawable.Drawable;
 import android.preference.Preference;
 import android.view.View;
@@ -27,7 +24,6 @@
 import android.widget.TextView;
 
 import com.android.settings.R;
-import com.android.settings.fuelgauge.PowerUsageSummary.BatterySipper;
 
 /**
  * Custom preference for displaying power consumption as a bar and an icon on the left for the
diff --git a/src/com/android/settings/fuelgauge/PowerUsageDetail.java b/src/com/android/settings/fuelgauge/PowerUsageDetail.java
index 4db968a..cc112f8 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageDetail.java
@@ -40,9 +40,9 @@
 import android.widget.Button;
 import android.widget.ImageView;
 import android.widget.TextView;
-import com.android.settings.InstalledAppDetails;
-import com.android.settings.ManageApplications;
 import com.android.settings.R;
+import com.android.settings.applications.InstalledAppDetails;
+import com.android.settings.applications.ManageApplications;
 
 public class PowerUsageDetail extends Activity implements Button.OnClickListener {
 
@@ -248,9 +248,9 @@
                 startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));
                 break;
             case ACTION_APP_DETAILS:
-                Intent intent = new Intent(Intent.ACTION_VIEW);
+                Intent intent = new Intent(Intent.ACTION_VIEW,
+                        Uri.fromParts("package", mPackages[0], null));
                 intent.setClass(this, InstalledAppDetails.class);
-                intent.putExtra(ManageApplications.APP_PKG_NAME, mPackages[0]);
                 startActivity(intent);
                 break;
             case ACTION_SECURITY_SETTINGS:
diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
index 5678160..ea28c59 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
@@ -18,17 +18,13 @@
 
 import android.content.Context;
 import android.content.Intent;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.graphics.drawable.Drawable;
 import android.hardware.SensorManager;
 import android.os.BatteryStats;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
 import android.os.Parcel;
+import android.os.Process;
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.SystemClock;
@@ -53,7 +49,6 @@
 import java.io.Writer;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -72,11 +67,13 @@
 
     IBatteryStats mBatteryInfo;
     BatteryStatsImpl mStats;
-    private List<BatterySipper> mUsageList = new ArrayList<BatterySipper>();
+    private final List<BatterySipper> mUsageList = new ArrayList<BatterySipper>();
+    private final List<BatterySipper> mWifiSippers = new ArrayList<BatterySipper>();
+    private final List<BatterySipper> mBluetoothSippers = new ArrayList<BatterySipper>();
 
     private PreferenceGroup mAppListGroup;
 
-    private int mStatsType = BatteryStats.STATS_UNPLUGGED;
+    private int mStatsType = BatteryStats.STATS_SINCE_CHARGED;
 
     private static final int MIN_POWER_THRESHOLD = 5;
     private static final int MAX_ITEMS_TO_LIST = 10;
@@ -84,25 +81,24 @@
     private long mStatsPeriod = 0;
     private double mMaxPower = 1;
     private double mTotalPower;
+    private double mWifiPower;
+    private double mBluetoothPower;
     private PowerProfile mPowerProfile;
 
-    private HashMap<String,UidToDetail> mUidCache = new HashMap<String,UidToDetail>();
+    // How much the apps together have left WIFI running.
+    private long mAppWifiRunning;
 
     /** Queue for fetching name and icon for an application */
     private ArrayList<BatterySipper> mRequestQueue = new ArrayList<BatterySipper>();
     private Thread mRequestThread;
     private boolean mAbort;
     
-    static class UidToDetail {
-        String name;
-        String packageName;
-        Drawable icon;
-    }
-
     @Override
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);
 
+        mStats = (BatteryStatsImpl)getLastNonConfigurationInstance();
+
         addPreferencesFromResource(R.xml.power_usage_summary);
         mBatteryInfo = IBatteryStats.Stub.asInterface(
                 ServiceManager.getService("batteryinfo"));
@@ -111,6 +107,11 @@
     }
 
     @Override
+    public Object onRetainNonConfigurationInstance() {
+        return mStats;
+    }
+
+    @Override
     protected void onResume() {
         super.onResume();
         mAbort = false;
@@ -128,6 +129,18 @@
 
     @Override
     public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
+        if (preference instanceof BatteryHistoryPreference) {
+            Parcel hist = Parcel.obtain();
+            mStats.writeToParcelWithoutUids(hist, 0);
+            byte[] histData = hist.marshall();
+            Intent intent = new Intent(this, BatteryHistoryDetail.class);
+            intent.putExtra(BatteryHistoryDetail.EXTRA_STATS, histData);
+            startActivity(intent);
+            return super.onPreferenceTreeClick(preferenceScreen, preference);
+        }
+        if (!(preference instanceof PowerGaugePreference)) {
+            return false;
+        }
         PowerGaugePreference pgp = (PowerGaugePreference) preference;
         BatterySipper sipper = pgp.getInfo();
         Intent intent = new Intent(this, PowerUsageDetail.class);
@@ -154,7 +167,9 @@
                 types = new int[] {
                     R.string.usage_type_cpu,
                     R.string.usage_type_cpu_foreground,
+                    R.string.usage_type_wake_lock,
                     R.string.usage_type_gps,
+                    R.string.usage_type_wifi_running,
                     R.string.usage_type_data_send,
                     R.string.usage_type_data_recv,
                     R.string.usage_type_audio,
@@ -163,9 +178,11 @@
                 values = new double[] {
                     sipper.cpuTime,
                     sipper.cpuFgTime,
+                    sipper.wakeLockTime,
                     sipper.gpsTime,
-                    uid != null? uid.getTcpBytesSent(mStatsType) : 0,
-                    uid != null? uid.getTcpBytesReceived(mStatsType) : 0,
+                    sipper.wifiRunningTime,
+                    sipper.tcpBytesSent,
+                    sipper.tcpBytesReceived,
                     0,
                     0
                 };
@@ -193,6 +210,44 @@
                 };
             }
             break;
+            case WIFI:
+            {
+                types = new int[] {
+                    R.string.usage_type_wifi_running,
+                    R.string.usage_type_cpu,
+                    R.string.usage_type_cpu_foreground,
+                    R.string.usage_type_wake_lock,
+                    R.string.usage_type_data_send,
+                    R.string.usage_type_data_recv,
+                };
+                values = new double[] {
+                    sipper.usageTime,
+                    sipper.cpuTime,
+                    sipper.cpuFgTime,
+                    sipper.wakeLockTime,
+                    sipper.tcpBytesSent,
+                    sipper.tcpBytesReceived,
+                };
+            } break;
+            case BLUETOOTH:
+            {
+                types = new int[] {
+                    R.string.usage_type_on_time,
+                    R.string.usage_type_cpu,
+                    R.string.usage_type_cpu_foreground,
+                    R.string.usage_type_wake_lock,
+                    R.string.usage_type_data_send,
+                    R.string.usage_type_data_recv,
+                };
+                values = new double[] {
+                    sipper.usageTime,
+                    sipper.cpuTime,
+                    sipper.cpuFgTime,
+                    sipper.wakeLockTime,
+                    sipper.tcpBytesSent,
+                    sipper.tcpBytesReceived,
+                };
+            } break;
             default:
             {
                 types = new int[] {
@@ -226,7 +281,7 @@
     @Override
     public boolean onPrepareOptionsMenu(Menu menu) {
         if (DEBUG) {
-            menu.findItem(MENU_STATS_TYPE).setTitle(mStatsType == BatteryStats.STATS_TOTAL
+            menu.findItem(MENU_STATS_TYPE).setTitle(mStatsType == BatteryStats.STATS_SINCE_CHARGED
                     ? R.string.menu_stats_unplugged
                     : R.string.menu_stats_total);
         }
@@ -237,10 +292,10 @@
     public boolean onOptionsItemSelected(MenuItem item) {
         switch (item.getItemId()) {
             case MENU_STATS_TYPE:
-                if (mStatsType == BatteryStats.STATS_TOTAL) {
-                    mStatsType = BatteryStats.STATS_UNPLUGGED;
+                if (mStatsType == BatteryStats.STATS_SINCE_CHARGED) {
+                    mStatsType = BatteryStats.STATS_SINCE_UNPLUGGED;
                 } else {
-                    mStatsType = BatteryStats.STATS_TOTAL;
+                    mStatsType = BatteryStats.STATS_SINCE_CHARGED;
                 }
                 refreshStats();
                 return true;
@@ -259,14 +314,23 @@
         }
         mMaxPower = 0;
         mTotalPower = 0;
+        mWifiPower = 0;
+        mBluetoothPower = 0;
+        mAppWifiRunning = 0;
 
         mAppListGroup.removeAll();
         mUsageList.clear();
+        mWifiSippers.clear();
+        mBluetoothSippers.clear();
         processAppUsage();
         processMiscUsage();
 
         mAppListGroup.setOrderingAsAdded(false);
 
+        BatteryHistoryPreference hist = new BatteryHistoryPreference(this, mStats);
+        hist.setOrder(-1);
+        mAppListGroup.addPreference(hist);
+        
         Collections.sort(mUsageList);
         for (BatterySipper sipper : mUsageList) {
             if (sipper.getSortValue() < MIN_POWER_THRESHOLD) continue;
@@ -283,7 +347,7 @@
                 pref.setKey(Integer.toString(sipper.uidObj.getUid()));
             }
             mAppListGroup.addPreference(pref);
-            if (mAppListGroup.getPreferenceCount() > MAX_ITEMS_TO_LIST) break;
+            if (mAppListGroup.getPreferenceCount() > (MAX_ITEMS_TO_LIST+1)) break;
         }
         if (DEBUG) setTitle("Battery total uAh = " + ((mTotalPower * 1000) / 3600));
         synchronized (mRequestQueue) {
@@ -330,6 +394,7 @@
             Map<String, ? extends BatteryStats.Uid.Proc> processStats = u.getProcessStats();
             long cpuTime = 0;
             long cpuFgTime = 0;
+            long wakelockTime = 0;
             long gpsTime = 0;
             if (processStats.size() > 0) {
                 // Process CPU time
@@ -357,11 +422,15 @@
                     }
                     cpuTime += tmpCpuTime;
                     power += processPower;
-                    if (highestDrain < processPower) {
+                    if (packageWithHighestDrain == null
+                            || packageWithHighestDrain.startsWith("*")) {
+                        highestDrain = processPower;
+                        packageWithHighestDrain = ent.getKey();
+                    } else if (highestDrain < processPower
+                            && !ent.getKey().startsWith("*")) {
                         highestDrain = processPower;
                         packageWithHighestDrain = ent.getKey();
                     }
-
                 }
                 if (DEBUG) Log.i(TAG, "Max drain of " + highestDrain 
                         + " by " + packageWithHighestDrain);
@@ -374,9 +443,34 @@
             }
             power /= 1000;
 
+            // Process wake lock usage
+            Map<String, ? extends BatteryStats.Uid.Wakelock> wakelockStats = u.getWakelockStats();
+            for (Map.Entry<String, ? extends BatteryStats.Uid.Wakelock> wakelockEntry
+                    : wakelockStats.entrySet()) {
+                Uid.Wakelock wakelock = wakelockEntry.getValue();
+                // Only care about partial wake locks since full wake locks
+                // are canceled when the user turns the screen off.
+                BatteryStats.Timer timer = wakelock.getWakeTime(BatteryStats.WAKE_TYPE_PARTIAL);
+                if (timer != null) {
+                    wakelockTime += timer.getTotalTimeLocked(uSecTime, which);
+                }
+            }
+            wakelockTime /= 1000; // convert to millis
+
+            // Add cost of holding a wake lock
+            power += (wakelockTime
+                    * mPowerProfile.getAveragePower(PowerProfile.POWER_CPU_AWAKE)) / 1000;
+            
             // Add cost of data traffic
-            power += (u.getTcpBytesReceived(mStatsType) + u.getTcpBytesSent(mStatsType))
-                    * averageCostPerByte;
+            long tcpBytesReceived = u.getTcpBytesReceived(mStatsType);
+            long tcpBytesSent = u.getTcpBytesSent(mStatsType);
+            power += (tcpBytesReceived+tcpBytesSent) * averageCostPerByte;
+
+            // Add cost of keeping WIFI running.
+            long wifiRunningTimeMs = u.getWifiRunningTime(uSecTime, which) / 1000;
+            mAppWifiRunning += wifiRunningTimeMs;
+            power += (wifiRunningTimeMs
+                    * mPowerProfile.getAveragePower(PowerProfile.POWER_WIFI_ON)) / 1000;
 
             // Process Sensor usage
             Map<Integer, ? extends BatteryStats.Uid.Sensor> sensorStats = u.getSensorStats();
@@ -406,17 +500,36 @@
                 power += (multiplier * sensorTime) / 1000;
             }
 
+            if (DEBUG) Log.i(TAG, "UID " + u.getUid() + ": power=" + power);
+
             // Add the app to the list if it is consuming power
             if (power != 0) {
-                BatterySipper app = new BatterySipper(packageWithHighestDrain, DrainType.APP, 0, u,
+                BatterySipper app = new BatterySipper(this, mRequestQueue, mHandler,
+                        packageWithHighestDrain, DrainType.APP, 0, u,
                         new double[] {power});
                 app.cpuTime = cpuTime;
                 app.gpsTime = gpsTime;
+                app.wifiRunningTime = wifiRunningTimeMs;
                 app.cpuFgTime = cpuFgTime;
-                mUsageList.add(app);
+                app.wakeLockTime = wakelockTime;
+                app.tcpBytesReceived = tcpBytesReceived;
+                app.tcpBytesSent = tcpBytesSent;
+                if (u.getUid() == Process.WIFI_UID) {
+                    mWifiSippers.add(app);
+                } else if (u.getUid() == Process.BLUETOOTH_GID) {
+                    mBluetoothSippers.add(app);
+                } else {
+                    mUsageList.add(app);
+                }
             }
-            if (power > mMaxPower) mMaxPower = power;
-            mTotalPower += power;
+            if (u.getUid() == Process.WIFI_UID) {
+                mWifiPower += power;
+            } else if (u.getUid() == Process.BLUETOOTH_GID) {
+                mBluetoothPower += power;
+            } else {
+                if (power > mMaxPower) mMaxPower = power;
+                mTotalPower += power;
+            }
             if (DEBUG) Log.i(TAG, "Added power = " + power);
         }
     }
@@ -472,14 +585,34 @@
         }
     }
 
+    private void aggregateSippers(BatterySipper bs, List<BatterySipper> from, String tag) {
+        for (int i=0; i<from.size(); i++) {
+            BatterySipper wbs = from.get(i);
+            if (DEBUG) Log.i(TAG, tag + " adding sipper " + wbs + ": cpu=" + wbs.cpuTime);
+            bs.cpuTime += wbs.cpuTime;
+            bs.gpsTime += wbs.gpsTime;
+            bs.wifiRunningTime += wbs.wifiRunningTime;
+            bs.cpuFgTime += wbs.cpuFgTime;
+            bs.wakeLockTime += wbs.wakeLockTime;
+            bs.tcpBytesReceived += wbs.tcpBytesReceived;
+            bs.tcpBytesSent += wbs.tcpBytesSent;
+        }
+    }
+
     private void addWiFiUsage(long uSecNow) {
         long onTimeMs = mStats.getWifiOnTime(uSecNow, mStatsType) / 1000;
-        long runningTimeMs = mStats.getWifiRunningTime(uSecNow, mStatsType) / 1000;
+        long runningTimeMs = mStats.getGlobalWifiRunningTime(uSecNow, mStatsType) / 1000;
+        if (DEBUG) Log.i(TAG, "WIFI runningTime=" + runningTimeMs
+                + " app runningTime=" + mAppWifiRunning);
+        runningTimeMs -= mAppWifiRunning;
+        if (runningTimeMs < 0) runningTimeMs = 0;
         double wifiPower = (onTimeMs * 0 /* TODO */
                 * mPowerProfile.getAveragePower(PowerProfile.POWER_WIFI_ON)
             + runningTimeMs * mPowerProfile.getAveragePower(PowerProfile.POWER_WIFI_ON)) / 1000;
-        addEntry(getString(R.string.power_wifi), DrainType.WIFI, runningTimeMs,
-                R.drawable.ic_settings_wifi, wifiPower);
+        if (DEBUG) Log.i(TAG, "WIFI power=" + wifiPower + " from procs=" + mWifiPower);
+        BatterySipper bs = addEntry(getString(R.string.power_wifi), DrainType.WIFI, runningTimeMs,
+                R.drawable.ic_settings_wifi, wifiPower + mWifiPower);
+        aggregateSippers(bs, mWifiSippers, "WIFI");
     }
 
     private void addIdleUsage(long uSecNow) {
@@ -497,9 +630,9 @@
         int btPingCount = mStats.getBluetoothPingCount();
         btPower += (btPingCount
                 * mPowerProfile.getAveragePower(PowerProfile.POWER_BLUETOOTH_AT_CMD)) / 1000;
-
-        addEntry(getString(R.string.power_bluetooth), DrainType.BLUETOOTH, btOnTimeMs,
-                R.drawable.ic_settings_bluetooth, btPower);
+        BatterySipper bs = addEntry(getString(R.string.power_bluetooth), DrainType.BLUETOOTH,
+                btOnTimeMs, R.drawable.ic_settings_bluetooth, btPower + mBluetoothPower);
+        aggregateSippers(bs, mBluetoothSippers, "Bluetooth");
     }
 
     private double getAverageDataCost() {
@@ -549,7 +682,8 @@
             double power) {
         if (power > mMaxPower) mMaxPower = power;
         mTotalPower += power;
-        BatterySipper bs = new BatterySipper(label, drainType, iconId, null, new double[] {power});
+        BatterySipper bs = new BatterySipper(this, mRequestQueue, mHandler,
+                label, drainType, iconId, null, new double[] {power});
         bs.usageTime = time;
         bs.iconId = iconId;
         mUsageList.add(bs);
@@ -564,161 +698,12 @@
             parcel.setDataPosition(0);
             mStats = com.android.internal.os.BatteryStatsImpl.CREATOR
                     .createFromParcel(parcel);
+            mStats.distributeWorkLocked(BatteryStats.STATS_SINCE_CHARGED);
         } catch (RemoteException e) {
             Log.e(TAG, "RemoteException:", e);
         }
     }
 
-    class BatterySipper implements Comparable<BatterySipper> {
-        String name;
-        Drawable icon;
-        int iconId; // For passing to the detail screen.
-        Uid uidObj;
-        double value;
-        double[] values;
-        DrainType drainType;
-        long usageTime;
-        long cpuTime;
-        long gpsTime;
-        long cpuFgTime;
-        double percent;
-        double noCoveragePercent;
-        String defaultPackageName;
-
-        BatterySipper(String label, DrainType drainType, int iconId, Uid uid, double[] values) {
-            this.values = values;
-            name = label;
-            this.drainType = drainType;
-            if (iconId > 0) {
-                icon = getResources().getDrawable(iconId);
-            }
-            if (values != null) value = values[0];
-            if ((label == null || iconId == 0) && uid != null) {
-                getQuickNameIconForUid(uid);
-            }
-            uidObj = uid;
-        }
-
-        double getSortValue() {
-            return value;
-        }
-
-        double[] getValues() {
-            return values;
-        }
-
-        Drawable getIcon() {
-            return icon;
-        }
-
-        public int compareTo(BatterySipper other) {
-            // Return the flipped value because we want the items in descending order
-            return (int) (other.getSortValue() - getSortValue());
-        }
-
-        void getQuickNameIconForUid(Uid uidObj) {
-            final int uid = uidObj.getUid();
-            final String uidString = Integer.toString(uid);
-            if (mUidCache.containsKey(uidString)) {
-                UidToDetail utd = mUidCache.get(uidString);
-                defaultPackageName = utd.packageName;
-                name = utd.name;
-                icon = utd.icon;
-                return;
-            }
-            PackageManager pm = getPackageManager();
-            final Drawable defaultActivityIcon = pm.getDefaultActivityIcon();
-            String[] packages = pm.getPackagesForUid(uid);
-            icon = pm.getDefaultActivityIcon();
-            if (packages == null) {
-                //name = Integer.toString(uid);
-                if (uid == 0) {
-                    name = getResources().getString(R.string.process_kernel_label);
-                } else if ("mediaserver".equals(name)) {
-                    name = getResources().getString(R.string.process_mediaserver_label);
-                }
-                iconId = R.drawable.ic_power_system;
-                icon = getResources().getDrawable(iconId);
-                return;
-            } else {
-                //name = packages[0];
-            }
-            synchronized (mRequestQueue) {
-                mRequestQueue.add(this);
-            }
-        }
-
-        /**
-         * Sets name and icon
-         * @param uid Uid of the application
-         */
-        void getNameIcon() {
-            PackageManager pm = getPackageManager();
-            final int uid = uidObj.getUid();
-            final Drawable defaultActivityIcon = pm.getDefaultActivityIcon();
-            String[] packages = pm.getPackagesForUid(uid);
-            if (packages == null) {
-                name = Integer.toString(uid);
-                return;
-            }
-
-            String[] packageLabels = new String[packages.length];
-            System.arraycopy(packages, 0, packageLabels, 0, packages.length);
-
-            int preferredIndex = -1;
-            // Convert package names to user-facing labels where possible
-            for (int i = 0; i < packageLabels.length; i++) {
-                // Check if package matches preferred package
-                if (packageLabels[i].equals(name)) preferredIndex = i;
-                try {
-                    ApplicationInfo ai = pm.getApplicationInfo(packageLabels[i], 0);
-                    CharSequence label = ai.loadLabel(pm);
-                    if (label != null) {
-                        packageLabels[i] = label.toString();
-                    }
-                    if (ai.icon != 0) {
-                        defaultPackageName = packages[i];
-                        icon = ai.loadIcon(pm);
-                        break;
-                    }
-                } catch (NameNotFoundException e) {
-                }
-            }
-            if (icon == null) icon = defaultActivityIcon;
-
-            if (packageLabels.length == 1) {
-                name = packageLabels[0];
-            } else {
-                // Look for an official name for this UID.
-                for (String pkgName : packages) {
-                    try {
-                        final PackageInfo pi = pm.getPackageInfo(pkgName, 0);
-                        if (pi.sharedUserLabel != 0) {
-                            final CharSequence nm = pm.getText(pkgName,
-                                    pi.sharedUserLabel, pi.applicationInfo);
-                            if (nm != null) {
-                                name = nm.toString();
-                                if (pi.applicationInfo.icon != 0) {
-                                    defaultPackageName = pkgName;
-                                    icon = pi.applicationInfo.loadIcon(pm);
-                                }
-                                break;
-                            }
-                        }
-                    } catch (PackageManager.NameNotFoundException e) {
-                    }
-                }
-            }
-            final String uidString = Integer.toString(uidObj.getUid());
-            UidToDetail utd = new UidToDetail();
-            utd.name = name;
-            utd.icon = icon;
-            utd.packageName = defaultPackageName;
-            mUidCache.put(uidString, utd);
-            mHandler.sendMessage(mHandler.obtainMessage(MSG_UPDATE_NAME_ICON, this));
-        }
-    }
-
     public void run() {
         while (true) {
             BatterySipper bs;
@@ -733,7 +718,7 @@
         }
     }
 
-    private static final int MSG_UPDATE_NAME_ICON = 1;
+    static final int MSG_UPDATE_NAME_ICON = 1;
 
     Handler mHandler = new Handler() {
 
diff --git a/src/com/android/settings/nfc/NfcEnabler.java b/src/com/android/settings/nfc/NfcEnabler.java
new file mode 100644
index 0000000..e3a44b7
--- /dev/null
+++ b/src/com/android/settings/nfc/NfcEnabler.java
@@ -0,0 +1,135 @@
+/*
+ * Copyright (C) 2010 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.nfc;
+
+import com.android.settings.R;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.nfc.NfcAdapter;
+import android.os.Handler;
+import android.preference.CheckBoxPreference;
+import android.preference.Preference;
+import android.provider.Settings;
+import android.util.Log;
+
+/**
+ * NfcEnabler is a helper to manage the Nfc on/off checkbox preference. It is
+ * turns on/off Nfc and ensures the summary of the preference reflects the
+ * current state.
+ */
+public class NfcEnabler implements Preference.OnPreferenceChangeListener {
+    private static final String TAG = "NfcEnabler";
+
+    private final Context mContext;
+    private final CheckBoxPreference mCheckbox;
+    private final NfcAdapter mNfcAdapter;
+    private final IntentFilter mIntentFilter;
+    private final Handler mHandler = new Handler();
+
+    private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            String action = intent.getAction();
+            if (NfcAdapter.ACTION_ADAPTER_STATE_CHANGE.equals(action)) {
+                handleNfcStateChanged(intent.getBooleanExtra(
+                    NfcAdapter.EXTRA_NEW_BOOLEAN_STATE,
+                    false));
+            }
+        }
+    };
+
+    private boolean mNfcState;
+
+    public NfcEnabler(Context context, CheckBoxPreference checkBoxPreference) {
+        mContext = context;
+        mCheckbox = checkBoxPreference;
+        mNfcAdapter = NfcAdapter.getDefaultAdapter();
+
+        if (mNfcAdapter == null) {
+            // NFC is not supported
+            mCheckbox.setEnabled(false);
+        }
+
+        mIntentFilter = new IntentFilter(NfcAdapter.ACTION_ADAPTER_STATE_CHANGE);
+
+    }
+
+    public void resume() {
+        if (mNfcAdapter == null) {
+            return;
+        }
+        mContext.registerReceiver(mReceiver, mIntentFilter);
+        mCheckbox.setOnPreferenceChangeListener(this);
+        mNfcState = mNfcAdapter.isEnabled();
+        mCheckbox.setChecked(mNfcState);
+    }
+
+    public void pause() {
+        if (mNfcAdapter == null) {
+            return;
+        }
+        mContext.unregisterReceiver(mReceiver);
+        mCheckbox.setOnPreferenceChangeListener(null);
+    }
+
+    public boolean onPreferenceChange(Preference preference, Object value) {
+        // Turn NFC on/off
+
+        final boolean desiredState = (Boolean) value;
+        mCheckbox.setEnabled(false);
+
+        // Start async update of the NFC adapter state, as the API is
+        // unfortunately blocking...
+        new Thread("toggleNFC") {
+            public void run() {
+                Log.d(TAG, "Setting NFC enabled state to: " + desiredState);
+                boolean success = false;
+                if (desiredState) {
+                    success = mNfcAdapter.enable();
+                } else {
+                    success = mNfcAdapter.disable();
+                }
+                if (success) {
+                    Log.d(TAG, "Successfully changed NFC enabled state to " + desiredState);
+                    mHandler.post(new Runnable() {
+                        public void run() {
+                            handleNfcStateChanged(desiredState);
+                        }
+                    });
+                } else {
+                    Log.w(TAG, "Error setting NFC enabled state to " + desiredState);
+                    mHandler.post(new Runnable() {
+                            public void run() {
+                                mCheckbox.setEnabled(true);
+                                mCheckbox.setSummary(R.string.nfc_toggle_error);
+                            }
+                        });
+                }
+            }
+        }.start();
+        return false;
+    }
+
+    private void handleNfcStateChanged(boolean newState) {
+        mCheckbox.setChecked(newState);
+        mCheckbox.setEnabled(true);
+        mCheckbox.setSummary(R.string.nfc_quick_toggle_summary);
+    }
+}
diff --git a/src/com/android/settings/widget/SettingsAppWidgetProvider.java b/src/com/android/settings/widget/SettingsAppWidgetProvider.java
index 939e8e3..8f17e05 100644
--- a/src/com/android/settings/widget/SettingsAppWidgetProvider.java
+++ b/src/com/android/settings/widget/SettingsAppWidgetProvider.java
@@ -23,8 +23,8 @@
 import android.content.ComponentName;
 import android.content.ContentResolver;
 import android.content.Context;
-import android.content.IContentService;
 import android.content.Intent;
+import android.content.SyncStorageEngine;
 import android.content.pm.PackageManager;
 import android.location.LocationManager;
 import android.net.ConnectivityManager;
@@ -68,6 +68,28 @@
     private static final int STATE_UNKNOWN = 4;
     private static final int STATE_INTERMEDIATE = 5;
 
+    // Position in the widget bar, to enable different graphics for left, center and right buttons
+    private static final int POS_LEFT = 0;
+    private static final int POS_CENTER = 1;
+    private static final int POS_RIGHT = 2;
+
+    private static final int[] IND_DRAWABLE_OFF = {
+        R.drawable.appwidget_settings_ind_off_l,
+        R.drawable.appwidget_settings_ind_off_c,
+        R.drawable.appwidget_settings_ind_off_r
+    };
+
+    private static final int[] IND_DRAWABLE_MID = {
+        R.drawable.appwidget_settings_ind_mid_l,
+        R.drawable.appwidget_settings_ind_mid_c,
+        R.drawable.appwidget_settings_ind_mid_r
+    };
+
+    private static final int[] IND_DRAWABLE_ON = {
+        R.drawable.appwidget_settings_ind_on_l,
+        R.drawable.appwidget_settings_ind_on_c,
+        R.drawable.appwidget_settings_ind_on_r
+    };
 
     /**
      * Minimum and maximum brightnesses.  Don't go to 0 since that makes the display unusable
@@ -78,10 +100,12 @@
 
     private static final StateTracker sWifiState = new WifiStateTracker();
     private static final StateTracker sBluetoothState = new BluetoothStateTracker();
+    private static final StateTracker sGpsState = new GpsStateTracker();
+    private static final StateTracker sSyncState = new SyncStateTracker();
 
     /**
-     * The state machine for Wifi and Bluetooth toggling, tracking
-     * reality versus the user's intent.
+     * The state machine for a setting's toggling, tracking reality
+     * versus the user's intent.
      *
      * This is necessary because reality moves relatively slowly
      * (turning on &amp; off radio drivers), compared to user's
@@ -134,6 +158,65 @@
         }
 
         /**
+         * Return the ID of the main large image button for the setting.
+         */
+        public abstract int getButtonId();
+
+        /**
+         * Returns the small indicator image ID underneath the setting.
+         */
+        public abstract int getIndicatorId();
+
+        /**
+         * Returns the resource ID of the image to show as a function of
+         * the on-vs-off state.
+         */
+        public abstract int getButtonImageId(boolean on);
+
+        /**
+         * Returns the position in the button bar - either POS_LEFT, POS_RIGHT or POS_CENTER.
+         */
+        public int getPosition() { return POS_CENTER; }
+
+        /**
+         * Updates the remote views depending on the state (off, on,
+         * turning off, turning on) of the setting.
+         */
+        public final void setImageViewResources(Context context, RemoteViews views) {
+            int buttonId = getButtonId();
+            int indicatorId = getIndicatorId();
+            int pos = getPosition();
+            switch (getTriState(context)) {
+                case STATE_DISABLED:
+                    views.setImageViewResource(buttonId, getButtonImageId(false));
+                    views.setImageViewResource(
+                        indicatorId, IND_DRAWABLE_OFF[pos]);
+                    break;
+                case STATE_ENABLED:
+                    views.setImageViewResource(buttonId, getButtonImageId(true));
+                    views.setImageViewResource(
+                        indicatorId, IND_DRAWABLE_ON[pos]);
+                    break;
+                case STATE_INTERMEDIATE:
+                    // In the transitional state, the bottom green bar
+                    // shows the tri-state (on, off, transitioning), but
+                    // the top dark-gray-or-bright-white logo shows the
+                    // user's intent.  This is much easier to see in
+                    // sunlight.
+                    if (isTurningOn()) {
+                        views.setImageViewResource(buttonId, getButtonImageId(true));
+                        views.setImageViewResource(
+                            indicatorId, IND_DRAWABLE_MID[pos]);
+                    } else {
+                        views.setImageViewResource(buttonId, getButtonImageId(false));
+                        views.setImageViewResource(
+                            indicatorId, IND_DRAWABLE_OFF[pos]);
+                    }
+                    break;
+            }
+        }
+
+        /**
          * Update internal state from a broadcast state change.
          */
         public abstract void onActualStateChange(Context context, Intent intent);
@@ -236,6 +319,16 @@
      * Subclass of StateTracker to get/set Wifi state.
      */
     private static final class WifiStateTracker extends StateTracker {
+        public int getButtonId() { return R.id.img_wifi; }
+        public int getIndicatorId() { return R.id.ind_wifi; }
+        public int getButtonImageId(boolean on) {
+            return on ? R.drawable.ic_appwidget_settings_wifi_on
+                    : R.drawable.ic_appwidget_settings_wifi_off;
+        }
+
+        @Override
+        public int getPosition() { return POS_LEFT; }
+
         @Override
         public int getActualState(Context context) {
             WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
@@ -247,7 +340,8 @@
 
         @Override
         protected void requestStateChange(Context context, final boolean desiredState) {
-            final WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
+            final WifiManager wifiManager =
+                    (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
             if (wifiManager == null) {
                 Log.d(TAG, "No wifiManager.");
                 return;
@@ -308,6 +402,12 @@
      * Subclass of StateTracker to get/set Bluetooth state.
      */
     private static final class BluetoothStateTracker extends StateTracker {
+        public int getButtonId() { return R.id.img_bluetooth; }
+        public int getIndicatorId() { return R.id.ind_bluetooth; }
+        public int getButtonImageId(boolean on) {
+            return on ? R.drawable.ic_appwidget_settings_bluetooth_on
+                    : R.drawable.ic_appwidget_settings_bluetooth_off;
+        }
 
         @Override
         public int getActualState(Context context) {
@@ -368,6 +468,117 @@
         }
     }
 
+    /**
+     * Subclass of StateTracker for GPS state.
+     */
+    private static final class GpsStateTracker extends StateTracker {
+        public int getButtonId() { return R.id.img_gps; }
+        public int getIndicatorId() { return R.id.ind_gps; }
+        public int getButtonImageId(boolean on) {
+            return on ? R.drawable.ic_appwidget_settings_gps_on
+                    : R.drawable.ic_appwidget_settings_gps_off;
+        }
+
+        @Override
+        public int getActualState(Context context) {
+            ContentResolver resolver = context.getContentResolver();
+            boolean on = Settings.Secure.isLocationProviderEnabled(
+                resolver, LocationManager.GPS_PROVIDER);
+            return on ? STATE_ENABLED : STATE_DISABLED;
+        }
+
+        @Override
+        public void onActualStateChange(Context context, Intent unused) {
+            // Note: the broadcast location providers changed intent
+            // doesn't include an extras bundles saying what the new value is.
+            setCurrentState(context, getActualState(context));
+        }
+
+        @Override
+        public void requestStateChange(final Context context, final boolean desiredState) {
+            final ContentResolver resolver = context.getContentResolver();
+            new AsyncTask<Void, Void, Boolean>() {
+                @Override
+                protected Boolean doInBackground(Void... args) {
+                    Settings.Secure.setLocationProviderEnabled(
+                        resolver,
+                        LocationManager.GPS_PROVIDER,
+                        desiredState);
+                    return desiredState;
+                }
+
+                @Override
+                protected void onPostExecute(Boolean result) {
+                    setCurrentState(
+                        context,
+                        result ? STATE_ENABLED : STATE_DISABLED);
+                    updateWidget(context);
+                }
+            }.execute();
+        }
+    }
+
+    /**
+     * Subclass of StateTracker for sync state.
+     */
+    private static final class SyncStateTracker extends StateTracker {
+        public int getButtonId() { return R.id.img_sync; }
+        public int getIndicatorId() { return R.id.ind_sync; }
+        public int getButtonImageId(boolean on) {
+            return on ? R.drawable.ic_appwidget_settings_sync_on
+                    : R.drawable.ic_appwidget_settings_sync_off;
+        }
+
+        @Override
+        public int getActualState(Context context) {
+            boolean on = getBackgroundDataState(context) &&
+                    ContentResolver.getMasterSyncAutomatically();
+            return on ? STATE_ENABLED : STATE_DISABLED;
+        }
+
+        @Override
+        public void onActualStateChange(Context context, Intent unused) {
+            setCurrentState(context, getActualState(context));
+        }
+
+        @Override
+        public void requestStateChange(final Context context, final boolean desiredState) {
+            final ConnectivityManager connManager =
+                    (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
+            final boolean backgroundData = getBackgroundDataState(context);
+            final boolean sync = ContentResolver.getMasterSyncAutomatically();
+
+            new AsyncTask<Void, Void, Boolean>() {
+                @Override
+                protected Boolean doInBackground(Void... args) {
+                    // Turning sync on.
+                    if (desiredState) {
+                        if (!backgroundData) {
+                            connManager.setBackgroundDataSetting(true);
+                        }
+                        if (!sync) {
+                            ContentResolver.setMasterSyncAutomatically(true);
+                        }
+                        return true;
+                    }
+
+                    // Turning sync off
+                    if (sync) {
+                        ContentResolver.setMasterSyncAutomatically(false);
+                    }
+                    return false;
+                }
+
+                @Override
+                protected void onPostExecute(Boolean result) {
+                    setCurrentState(
+                        context,
+                        result ? STATE_ENABLED : STATE_DISABLED);
+                    updateWidget(context);
+                }
+            }.execute();
+        }
+    }
 
     @Override
     public void onUpdate(Context context, AppWidgetManager appWidgetManager,
@@ -442,38 +653,11 @@
      * @param context
      */
     private static void updateButtons(RemoteViews views, Context context) {
-        switch (sWifiState.getTriState(context)) {
-            case STATE_DISABLED:
-                views.setImageViewResource(R.id.img_wifi,
-                                           R.drawable.ic_appwidget_settings_wifi_off);
-                views.setImageViewResource(R.id.ind_wifi,
-                                           R.drawable.appwidget_settings_ind_off_l);
-                break;
-            case STATE_ENABLED:
-                views.setImageViewResource(R.id.img_wifi,
-                                           R.drawable.ic_appwidget_settings_wifi_on);
-                views.setImageViewResource(R.id.ind_wifi,
-                                           R.drawable.appwidget_settings_ind_on_l);
-                break;
-            case STATE_INTERMEDIATE:
-                // In the transitional state, the bottom green bar
-                // shows the tri-state (on, off, transitioning), but
-                // the top dark-gray-or-bright-white logo shows the
-                // user's intent.  This is much easier to see in
-                // sunlight.
-                if (sWifiState.isTurningOn()) {
-                    views.setImageViewResource(R.id.img_wifi,
-                                               R.drawable.ic_appwidget_settings_wifi_on);
-                    views.setImageViewResource(R.id.ind_wifi,
-                                               R.drawable.appwidget_settings_ind_mid_l);
-                } else {
-                    views.setImageViewResource(R.id.img_wifi,
-                                               R.drawable.ic_appwidget_settings_wifi_off);
-                    views.setImageViewResource(R.id.ind_wifi,
-                                               R.drawable.appwidget_settings_ind_off_l);
-                }
-                break;
-        }
+        sWifiState.setImageViewResources(context, views);
+        sBluetoothState.setImageViewResources(context, views);
+        sGpsState.setImageViewResources(context, views);
+        sSyncState.setImageViewResources(context, views);
+
         if (getBrightnessMode(context)) {
             views.setImageViewResource(R.id.img_brightness,
                                        R.drawable.ic_appwidget_settings_brightness_auto);
@@ -490,52 +674,6 @@
             views.setImageViewResource(R.id.ind_brightness,
                                        R.drawable.appwidget_settings_ind_off_r);
         }
-        if (getSync(context)) {
-            views.setImageViewResource(R.id.img_sync, R.drawable.ic_appwidget_settings_sync_on);
-            views.setImageViewResource(R.id.ind_sync, R.drawable.appwidget_settings_ind_on_c);
-        } else {
-            views.setImageViewResource(R.id.img_sync, R.drawable.ic_appwidget_settings_sync_off);
-            views.setImageViewResource(R.id.ind_sync, R.drawable.appwidget_settings_ind_off_c);
-        }
-        if (getGpsState(context)) {
-            views.setImageViewResource(R.id.img_gps, R.drawable.ic_appwidget_settings_gps_on);
-            views.setImageViewResource(R.id.ind_gps, R.drawable.appwidget_settings_ind_on_c);
-        } else {
-            views.setImageViewResource(R.id.img_gps, R.drawable.ic_appwidget_settings_gps_off);
-            views.setImageViewResource(R.id.ind_gps, R.drawable.appwidget_settings_ind_off_c);
-        }
-        switch (sBluetoothState.getTriState(context)) {
-            case STATE_DISABLED:
-                views.setImageViewResource(R.id.img_bluetooth,
-                                           R.drawable.ic_appwidget_settings_bluetooth_off);
-                views.setImageViewResource(R.id.ind_bluetooth,
-                                           R.drawable.appwidget_settings_ind_off_c);
-                break;
-            case STATE_ENABLED:
-                views.setImageViewResource(R.id.img_bluetooth,
-                                           R.drawable.ic_appwidget_settings_bluetooth_on);
-                views.setImageViewResource(R.id.ind_bluetooth,
-                                           R.drawable.appwidget_settings_ind_on_c);
-                break;
-            case STATE_INTERMEDIATE:
-                // In the transitional state, the bottom green bar
-                // shows the tri-state (on, off, transitioning), but
-                // the top dark-gray-or-bright-white logo shows the
-                // user's intent.  This is much easier to see in
-                // sunlight.
-                if (sBluetoothState.isTurningOn()) {
-                    views.setImageViewResource(R.id.img_bluetooth,
-                                               R.drawable.ic_appwidget_settings_bluetooth_on);
-                    views.setImageViewResource(R.id.ind_bluetooth,
-                                               R.drawable.appwidget_settings_ind_mid_c);
-                } else {
-                    views.setImageViewResource(R.id.img_bluetooth,
-                                               R.drawable.ic_appwidget_settings_bluetooth_off);
-                    views.setImageViewResource(R.id.ind_bluetooth,
-                                               R.drawable.appwidget_settings_ind_off_c);
-                }
-                break;
-        }
     }
 
     /**
@@ -565,10 +703,16 @@
     @Override
     public void onReceive(Context context, Intent intent) {
         super.onReceive(context, intent);
-        if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(intent.getAction())) {
+        String action = intent.getAction();
+        if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(action)) {
             sWifiState.onActualStateChange(context, intent);
-        } else if (BluetoothAdapter.ACTION_STATE_CHANGED.equals(intent.getAction())) {
+        } else if (BluetoothAdapter.ACTION_STATE_CHANGED.equals(action)) {
             sBluetoothState.onActualStateChange(context, intent);
+        } else if (LocationManager.PROVIDERS_CHANGED_ACTION.equals(action)) {
+            sGpsState.onActualStateChange(context, intent);
+        } else if (SyncStorageEngine.SYNC_CONNECTION_SETTING_CHANGED_INTENT.getAction()
+                .equals(action)) {
+            sSyncState.onActualStateChange(context, intent);
         } else if (intent.hasCategory(Intent.CATEGORY_ALTERNATIVE)) {
             Uri data = intent.getData();
             int buttonId = Integer.parseInt(data.getSchemeSpecificPart());
@@ -577,9 +721,9 @@
             } else if (buttonId == BUTTON_BRIGHTNESS) {
                 toggleBrightness(context);
             } else if (buttonId == BUTTON_SYNC) {
-                toggleSync(context);
+                sSyncState.toggleState(context);
             } else if (buttonId == BUTTON_GPS) {
-                toggleGps(context);
+                sGpsState.toggleState(context);
             } else if (buttonId == BUTTON_BLUETOOTH) {
                 sBluetoothState.toggleState(context);
             }
@@ -607,77 +751,6 @@
     }
 
     /**
-     * Gets the state of auto-sync.
-     *
-     * @param context
-     * @return true if enabled
-     */
-    private static boolean getSync(Context context) {
-        boolean backgroundData = getBackgroundDataState(context);
-        boolean sync = ContentResolver.getMasterSyncAutomatically();
-        return backgroundData && sync;
-    }
-
-    /**
-     * Toggle auto-sync
-     *
-     * @param context
-     */
-    private void toggleSync(Context context) {
-        ConnectivityManager connManager =
-                (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
-        boolean backgroundData = getBackgroundDataState(context);
-        boolean sync = ContentResolver.getMasterSyncAutomatically();
-
-        // four cases to handle:
-        // setting toggled from off to on:
-        // 1. background data was off, sync was off: turn on both
-        if (!backgroundData && !sync) {
-            connManager.setBackgroundDataSetting(true);
-            ContentResolver.setMasterSyncAutomatically(true);
-        }
-
-        // 2. background data was off, sync was on: turn on background data
-        if (!backgroundData && sync) {
-            connManager.setBackgroundDataSetting(true);
-        }
-
-        // 3. background data was on, sync was off: turn on sync
-        if (backgroundData && !sync) {
-            ContentResolver.setMasterSyncAutomatically(true);
-        }
-
-        // setting toggled from on to off:
-        // 4. background data was on, sync was on: turn off sync
-        if (backgroundData && sync) {
-            ContentResolver.setMasterSyncAutomatically(false);
-        }
-    }
-
-    /**
-     * Gets the state of GPS location.
-     *
-     * @param context
-     * @return true if enabled.
-     */
-    private static boolean getGpsState(Context context) {
-        ContentResolver resolver = context.getContentResolver();
-        return Settings.Secure.isLocationProviderEnabled(resolver, LocationManager.GPS_PROVIDER);
-    }
-
-    /**
-     * Toggles the state of GPS.
-     *
-     * @param context
-     */
-    private void toggleGps(Context context) {
-        ContentResolver resolver = context.getContentResolver();
-        boolean enabled = getGpsState(context);
-        Settings.Secure.setLocationProviderEnabled(resolver, LocationManager.GPS_PROVIDER,
-                !enabled);
-    }
-
-    /**
      * Gets state of brightness.
      *
      * @param context
diff --git a/src/com/android/settings/wifi/WifiApSettings.java b/src/com/android/settings/wifi/WifiApSettings.java
index 0815238..ca1b856 100644
--- a/src/com/android/settings/wifi/WifiApSettings.java
+++ b/src/com/android/settings/wifi/WifiApSettings.java
@@ -120,18 +120,25 @@
 
         if (button == DialogInterface.BUTTON_POSITIVE) {
             mWifiConfig = mDialog.getConfig();
-            if(mWifiConfig != null) {
-                mWifiManager.setWifiApEnabled(mWifiConfig, true);
+            if (mWifiConfig != null) {
+                /**
+                 * if soft AP is running, bring up with new config
+                 * else update the configuration alone
+                 */
+                if (mWifiManager.getWifiApState() == WifiManager.WIFI_AP_STATE_ENABLED) {
+                    mWifiManager.setWifiApEnabled(mWifiConfig, true);
+                    /**
+                     * There is no tether notification on changing AP
+                     * configuration. Update status with new config.
+                     */
+                    mWifiApEnabler.updateConfigSummary(mWifiConfig);
+                } else {
+                    mWifiManager.setWifiApConfiguration(mWifiConfig);
+                }
                 mCreateNetwork.setSummary(String.format(getString(CONFIG_SUBTEXT),
                             mWifiConfig.SSID,
                             mWifiConfig.allowedKeyManagement.get(KeyMgmt.WPA_PSK) ?
                             mSecurityType[WPA_INDEX] : mSecurityType[OPEN_INDEX]));
-                /**
-                 * There is no tether notification on changing AP
-                 * configuration. Update status with new config.
-                 */
-                mWifiApEnabler.updateConfigSummary(mWifiConfig);
-
             }
         }
     }
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
index e125128..53bf40f 100644
--- a/tests/AndroidManifest.xml
+++ b/tests/AndroidManifest.xml
@@ -58,4 +58,9 @@
         android:label="Settings Launch Performance">
     </instrumentation>
 
+    <instrumentation android:name="android.test.InstrumentationTestRunner"
+        android:targetPackage="com.android.settings"
+        android:label="Settings Test Cases">
+    </instrumentation>
+
 </manifest>
diff --git a/tests/src/com/android/settings/SettingsLaunchPerformance.java b/tests/src/com/android/settings/tests/SettingsLaunchPerformance.java
similarity index 99%
rename from tests/src/com/android/settings/SettingsLaunchPerformance.java
rename to tests/src/com/android/settings/tests/SettingsLaunchPerformance.java
index 05154e2..225a60b 100644
--- a/tests/src/com/android/settings/SettingsLaunchPerformance.java
+++ b/tests/src/com/android/settings/tests/SettingsLaunchPerformance.java
@@ -26,7 +26,7 @@
  * Instrumentation class for Settings launch performance testing.
  */
 public class SettingsLaunchPerformance extends LaunchPerformanceBase {
- 
+
     public static final String LOG_TAG = "SettingsLaunchPerformance";
 
     public SettingsLaunchPerformance() {
diff --git a/tests/src/com/android/settings/tests/Utf8ByteLengthFilterTest.java b/tests/src/com/android/settings/tests/Utf8ByteLengthFilterTest.java
new file mode 100644
index 0000000..c03f9c0
--- /dev/null
+++ b/tests/src/com/android/settings/tests/Utf8ByteLengthFilterTest.java
@@ -0,0 +1,113 @@
+/*
+ * Copyright (C) 2010 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.tests;
+
+import android.test.AndroidTestCase;
+import android.text.InputFilter;
+import android.text.SpannableStringBuilder;
+
+import com.android.settings.bluetooth.BluetoothNamePreference;
+
+import dalvik.annotation.TestLevel;
+import dalvik.annotation.TestTargetClass;
+import dalvik.annotation.TestTargetNew;
+import dalvik.annotation.TestTargets;
+
+@TestTargetClass(BluetoothNamePreference.Utf8ByteLengthFilter.class)
+public class Utf8ByteLengthFilterTest extends AndroidTestCase {
+
+    @TestTargets({
+        @TestTargetNew(
+            level = TestLevel.COMPLETE,
+            method = "filter",
+            args = {java.lang.CharSequence.class, int.class, int.class, android.text.Spanned.class,
+                    int.class, int.class}
+        ),
+        @TestTargetNew(
+            level = TestLevel.COMPLETE,
+            method = "BluetoothNamePreference.Utf8ByteLengthFilter",
+            args = {int.class}
+        )
+    })
+    public void testFilter() {
+        // Define the variables
+        CharSequence source;
+        SpannableStringBuilder dest;
+        // Constructor to create a LengthFilter
+        BluetoothNamePreference.Utf8ByteLengthFilter lengthFilter = new BluetoothNamePreference.Utf8ByteLengthFilter(10);
+        InputFilter[] filters = {lengthFilter};
+
+        // filter() implicitly invoked. If the total length > filter length, the filter will
+        // cut off the source CharSequence from beginning to fit the filter length.
+        source = "abc";
+        dest = new SpannableStringBuilder("abcdefgh");
+        dest.setFilters(filters);
+
+        dest.insert(1, source);
+        String expectedString1 = "aabbcdefgh";
+        assertEquals(expectedString1, dest.toString());
+
+        dest.replace(5, 8, source);
+        String expectedString2 = "aabbcabcgh";
+        assertEquals(expectedString2, dest.toString());
+
+        dest.insert(2, source);
+        assertEquals(expectedString2, dest.toString());
+
+        dest.delete(1, 3);
+        String expectedString3 = "abcabcgh";
+        assertEquals(expectedString3, dest.toString());
+
+        dest.append("12345");
+        String expectedString4 = "abcabcgh12";
+        assertEquals(expectedString4, dest.toString());
+
+        source = "\u60a8\u597d";  // 2 Chinese chars == 6 bytes in UTF-8
+        dest.replace(8, 10, source);
+        assertEquals(expectedString3, dest.toString());
+
+        dest.replace(0, 1, source);
+        String expectedString5 = "\u60a8bcabcgh";
+        assertEquals(expectedString5, dest.toString());
+
+        dest.replace(0, 4, source);
+        String expectedString6 = "\u60a8\u597dbcgh";
+        assertEquals(expectedString6, dest.toString());
+
+        source = "\u00a3\u00a5";  // 2 Latin-1 chars == 4 bytes in UTF-8
+        dest.delete(2, 6);
+        dest.insert(0, source);
+        String expectedString7 = "\u00a3\u00a5\u60a8\u597d";
+        assertEquals(expectedString7, dest.toString());
+
+        dest.replace(2, 3, source);
+        String expectedString8 = "\u00a3\u00a5\u00a3\u597d";
+        assertEquals(expectedString8, dest.toString());
+
+        dest.replace(3, 4, source);
+        String expectedString9 = "\u00a3\u00a5\u00a3\u00a3\u00a5";
+        assertEquals(expectedString9, dest.toString());
+
+        // filter() explicitly invoked
+        dest = new SpannableStringBuilder("abcdefgh");
+        CharSequence beforeFilterSource = "TestLengthFilter";
+        String expectedAfterFilter = "TestLength";
+        CharSequence actualAfterFilter = lengthFilter.filter(beforeFilterSource, 0,
+                beforeFilterSource.length(), dest, 0, dest.length());
+        assertEquals(expectedAfterFilter, actualAfterFilter);
+    }
+}
