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/apn_editor.xml b/res/xml/apn_editor.xml
index 3835a2c..68a1b31 100644
--- a/res/xml/apn_editor.xml
+++ b/res/xml/apn_editor.xml
@@ -22,7 +22,7 @@
         android:dialogTitle="@string/apn_name"
         android:key="apn_name"
         android:singleLine="true"
-        android:inputType="textEmailAddress"
+        android:inputType="text"
         />
     <EditTextPreference
         android:title="@string/apn_apn"
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..ad425fc 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,8 @@
  */
 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;
+    // max. length reduced from 248 to 246 bytes to work around Bluez bug
+    private static final int BLUETOOTH_NAME_MAX_LENGTH_BYTES = 246;
 
     private LocalBluetoothManager mLocalManager;
 
@@ -75,8 +75,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 +139,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);
+    }
+}
