diff --git a/Android.mk b/Android.mk
index dedda01..d70d1ce 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,7 +1,7 @@
 LOCAL_PATH:= $(call my-dir)
 include $(CLEAR_VARS)
 
-LOCAL_MODULE_TAGS := user
+LOCAL_MODULE_TAGS := optional
 
 LOCAL_SRC_FILES := $(call all-java-files-under, src)
 
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 6feb98f..f4b1181 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -2,8 +2,8 @@
         package="com.android.settings"
         android:sharedUserId="android.uid.system">
 
-    <uses-permission android:name="com.google.android.providers.gmail.permission.WRITE_GMAIL" />
-    <uses-permission android:name="com.google.android.providers.gmail.permission.READ_GMAIL" />
+    <uses-permission android:name="com.google.android.gm.permission.WRITE_GMAIL" />
+    <uses-permission android:name="com.google.android.gm.permission.READ_GMAIL" />
     <uses-permission android:name="android.permission.WRITE_SETTINGS" />
     <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
     <uses-permission android:name="android.permission.DEVICE_POWER" />
@@ -32,7 +32,7 @@
     <uses-permission android:name="android.permission.ACCESS_CHECKIN_PROPERTIES"/>
     <uses-permission android:name="android.permission.READ_USER_DICTIONARY"/>
     <uses-permission android:name="android.permission.WRITE_USER_DICTIONARY"/>
-    <uses-permission android:name="android.permission.RESTART_PACKAGES"/>
+    <uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"/>
     <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS"/>
     <uses-permission android:name="android.permission.BATTERY_STATS"/>
     <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
@@ -103,6 +103,39 @@
             </intent-filter>
         </activity>
 
+        <activity android:name=".wifi.WifiInfo">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN"/>
+                <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+
+        <activity android:name=".wifi.WifiConfigInfo">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN"/>
+                <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+
+        <activity android:name=".wifi.WifiAPITest">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN"/>
+                <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+
+        <activity android:name=".wifi.WifiStatusTest">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN"/>
+                <category android:name="android.intent.category.DEVELOPMENT_PREFERENCE" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+
+
         <activity android:name="ApnSettings" android:label="@string/apn_settings"
                   android:configChanges="orientation|keyboardHidden"
                   android:launchMode="singleTask"
@@ -321,7 +354,7 @@
         </activity>
 
         <activity android:name="CredentialInstaller"
-                android:label="@string/credential_installer_activity_title">
+                android:theme="@android:style/Theme.Translucent.NoTitleBar">
             <intent-filter>
                 <action android:name="android.credentials.SYSTEM_INSTALL" />
                 <category android:name="android.intent.category.DEFAULT" />
@@ -638,12 +671,6 @@
             </intent-filter>
         </activity>
 
-        <!-- Helper to bind any unbound widgets in Launcher, used as
-             part of initialization and upgrade process -->
-        <activity android:name="LauncherAppWidgetBinder"
-                android:permission="android.permission.BIND_APPWIDGET"
-                android:theme="@android:style/Theme.NoDisplay" android:exported="true" />
-
         <activity android:name="UsageStats" android:label="@string/usage_stats_label">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
diff --git a/res/drawable-hdpi/lock_anim_00.png b/res/drawable-hdpi/lock_anim_0.png
similarity index 100%
rename from res/drawable-hdpi/lock_anim_00.png
rename to res/drawable-hdpi/lock_anim_0.png
Binary files differ
diff --git a/res/drawable-hdpi/lock_anim_1.png b/res/drawable-hdpi/lock_anim_1.png
new file mode 100644
index 0000000..74a0628
--- /dev/null
+++ b/res/drawable-hdpi/lock_anim_1.png
Binary files differ
diff --git a/res/drawable-hdpi/lock_anim_11.png b/res/drawable-hdpi/lock_anim_11.png
new file mode 100644
index 0000000..f8976a2
--- /dev/null
+++ b/res/drawable-hdpi/lock_anim_11.png
Binary files differ
diff --git a/res/drawable-hdpi/lock_anim_13.png b/res/drawable-hdpi/lock_anim_13.png
new file mode 100644
index 0000000..ccd38d5
--- /dev/null
+++ b/res/drawable-hdpi/lock_anim_13.png
Binary files differ
diff --git a/res/drawable-hdpi/lock_anim_02.png b/res/drawable-hdpi/lock_anim_2.png
similarity index 100%
rename from res/drawable-hdpi/lock_anim_02.png
rename to res/drawable-hdpi/lock_anim_2.png
Binary files differ
diff --git a/res/drawable-hdpi/lock_anim_3.png b/res/drawable-hdpi/lock_anim_3.png
new file mode 100644
index 0000000..fa37813
--- /dev/null
+++ b/res/drawable-hdpi/lock_anim_3.png
Binary files differ
diff --git a/res/drawable-hdpi/lock_anim_04.png b/res/drawable-hdpi/lock_anim_4.png
similarity index 100%
rename from res/drawable-hdpi/lock_anim_04.png
rename to res/drawable-hdpi/lock_anim_4.png
Binary files differ
diff --git a/res/drawable-hdpi/lock_anim_5.png b/res/drawable-hdpi/lock_anim_5.png
new file mode 100644
index 0000000..b08932d
--- /dev/null
+++ b/res/drawable-hdpi/lock_anim_5.png
Binary files differ
diff --git a/res/drawable-hdpi/lock_anim_06.png b/res/drawable-hdpi/lock_anim_6.png
similarity index 100%
rename from res/drawable-hdpi/lock_anim_06.png
rename to res/drawable-hdpi/lock_anim_6.png
Binary files differ
diff --git a/res/drawable-hdpi/lock_anim_7.png b/res/drawable-hdpi/lock_anim_7.png
new file mode 100644
index 0000000..f06c9d6
--- /dev/null
+++ b/res/drawable-hdpi/lock_anim_7.png
Binary files differ
diff --git a/res/drawable-hdpi/lock_anim_08.png b/res/drawable-hdpi/lock_anim_8.png
similarity index 100%
rename from res/drawable-hdpi/lock_anim_08.png
rename to res/drawable-hdpi/lock_anim_8.png
Binary files differ
diff --git a/res/drawable-hdpi/lock_anim_9.png b/res/drawable-hdpi/lock_anim_9.png
new file mode 100644
index 0000000..551bafa
--- /dev/null
+++ b/res/drawable-hdpi/lock_anim_9.png
Binary files differ
diff --git a/res/drawable-mdpi/lock_anim_0.png b/res/drawable-mdpi/lock_anim_0.png
new file mode 100644
index 0000000..afdda8b
--- /dev/null
+++ b/res/drawable-mdpi/lock_anim_0.png
Binary files differ
diff --git a/res/drawable-mdpi/lock_anim_1.png b/res/drawable-mdpi/lock_anim_1.png
new file mode 100644
index 0000000..6cae8e5
--- /dev/null
+++ b/res/drawable-mdpi/lock_anim_1.png
Binary files differ
diff --git a/res/drawable-mdpi/lock_anim_11.png b/res/drawable-mdpi/lock_anim_11.png
new file mode 100644
index 0000000..35db815
--- /dev/null
+++ b/res/drawable-mdpi/lock_anim_11.png
Binary files differ
diff --git a/res/drawable-mdpi/lock_anim_13.png b/res/drawable-mdpi/lock_anim_13.png
new file mode 100644
index 0000000..d0b8cf0
--- /dev/null
+++ b/res/drawable-mdpi/lock_anim_13.png
Binary files differ
diff --git a/res/drawable-mdpi/lock_anim_2.png b/res/drawable-mdpi/lock_anim_2.png
new file mode 100644
index 0000000..0542b1d
--- /dev/null
+++ b/res/drawable-mdpi/lock_anim_2.png
Binary files differ
diff --git a/res/drawable-mdpi/lock_anim_3.png b/res/drawable-mdpi/lock_anim_3.png
new file mode 100644
index 0000000..7e2ba9a
--- /dev/null
+++ b/res/drawable-mdpi/lock_anim_3.png
Binary files differ
diff --git a/res/drawable-mdpi/lock_anim_4.png b/res/drawable-mdpi/lock_anim_4.png
new file mode 100644
index 0000000..a3ca629
--- /dev/null
+++ b/res/drawable-mdpi/lock_anim_4.png
Binary files differ
diff --git a/res/drawable-mdpi/lock_anim_5.png b/res/drawable-mdpi/lock_anim_5.png
new file mode 100644
index 0000000..17e3839
--- /dev/null
+++ b/res/drawable-mdpi/lock_anim_5.png
Binary files differ
diff --git a/res/drawable-mdpi/lock_anim_6.png b/res/drawable-mdpi/lock_anim_6.png
new file mode 100644
index 0000000..90205a6
--- /dev/null
+++ b/res/drawable-mdpi/lock_anim_6.png
Binary files differ
diff --git a/res/drawable-mdpi/lock_anim_7.png b/res/drawable-mdpi/lock_anim_7.png
new file mode 100644
index 0000000..1d94a47
--- /dev/null
+++ b/res/drawable-mdpi/lock_anim_7.png
Binary files differ
diff --git a/res/drawable-mdpi/lock_anim_8.png b/res/drawable-mdpi/lock_anim_8.png
new file mode 100644
index 0000000..af7cd28
--- /dev/null
+++ b/res/drawable-mdpi/lock_anim_8.png
Binary files differ
diff --git a/res/drawable-mdpi/lock_anim_9.png b/res/drawable-mdpi/lock_anim_9.png
new file mode 100644
index 0000000..d401624
--- /dev/null
+++ b/res/drawable-mdpi/lock_anim_9.png
Binary files differ
diff --git a/res/drawable/lock_anim.xml b/res/drawable/lock_anim.xml
index ca1f9d8..8ec31a6 100644
--- a/res/drawable/lock_anim.xml
+++ b/res/drawable/lock_anim.xml
@@ -1,30 +1,37 @@
 <?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
+** 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
+**     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
+** 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.
 */
 -->
 <animation-list
         xmlns:android="http://schemas.android.com/apk/res/android"
         android:oneshot="false">
-    <item android:drawable="@drawable/lock_anim_00" android:duration="400" />
-    <item android:drawable="@drawable/lock_anim_02" android:duration="400" />
-    <item android:drawable="@drawable/lock_anim_04" android:duration="400" />
-    <item android:drawable="@drawable/lock_anim_06" android:duration="400" />
-    <item android:drawable="@drawable/lock_anim_08" android:duration="400" />
-    <item android:drawable="@drawable/lock_anim_10" android:duration="400" />
-    <item android:drawable="@drawable/lock_anim_12" android:duration="400" />
-    <item android:drawable="@drawable/lock_anim_14" android:duration="400" />
+    <item android:drawable="@drawable/lock_anim_0" android:duration="200" />
+    <item android:drawable="@drawable/lock_anim_1" android:duration="200" />
+    <item android:drawable="@drawable/lock_anim_2" android:duration="200" />
+    <item android:drawable="@drawable/lock_anim_3" android:duration="200" />
+    <item android:drawable="@drawable/lock_anim_4" android:duration="200" />
+    <item android:drawable="@drawable/lock_anim_5" android:duration="200" />
+    <item android:drawable="@drawable/lock_anim_6" android:duration="200" />
+    <item android:drawable="@drawable/lock_anim_7" android:duration="200" />
+    <item android:drawable="@drawable/lock_anim_8" android:duration="200" />
+    <item android:drawable="@drawable/lock_anim_9" android:duration="200" />
+    <item android:drawable="@drawable/lock_anim_10" android:duration="200" />
+    <item android:drawable="@drawable/lock_anim_11" android:duration="200" />
+    <item android:drawable="@drawable/lock_anim_12" android:duration="200" />
+    <item android:drawable="@drawable/lock_anim_13" android:duration="200" />
+    <item android:drawable="@drawable/lock_anim_14" android:duration="200" />
 </animation-list>
diff --git a/res/layout-land/choose_lock_pattern.xml b/res/layout-land/choose_lock_pattern.xml
index 9d623f6..9af76d1 100644
--- a/res/layout-land/choose_lock_pattern.xml
+++ b/res/layout-land/choose_lock_pattern.xml
@@ -18,28 +18,28 @@
         xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/topLayout"
     android:orientation="horizontal"
-    android:layout_width="fill_parent"
-    android:layout_height="fill_parent"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
     android:background="@color/black">
 
     <!-- left side: instructions and messages -->
     <LinearLayout
             android:orientation="vertical"
             android:layout_width="0dip"
-            android:layout_height="fill_parent"
+            android:layout_height="match_parent"
             android:layout_weight="1.0"
             >
 
         <!-- header message -->
         <TextView android:id="@+id/headerText"
-                  android:layout_width="fill_parent"
+                  android:layout_width="match_parent"
                   android:layout_height="wrap_content"
                   android:gravity="center"
                   android:textSize="18sp"/>
 
         <!-- footer can show a message, or confirm / restart buttons -->
         <RelativeLayout
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="0dip"
                 android:layout_weight="1.0">
 
@@ -81,7 +81,7 @@
     <View
          android:background="@*android:drawable/code_lock_left"
          android:layout_width="2dip"
-         android:layout_height="fill_parent" />
+         android:layout_height="match_parent" />
     <!-- right side: lock pattern -->
     <com.android.internal.widget.LockPatternView android:id="@+id/lockPattern"
          android:layout_width="wrap_content"
diff --git a/res/layout-land/confirm_lock_pattern.xml b/res/layout-land/confirm_lock_pattern.xml
index 6decb14..2da2b9a 100644
--- a/res/layout-land/confirm_lock_pattern.xml
+++ b/res/layout-land/confirm_lock_pattern.xml
@@ -18,21 +18,21 @@
         xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/topLayout"
     android:orientation="horizontal"
-    android:layout_width="fill_parent"
-    android:layout_height="fill_parent"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
     android:background="@color/black">
 
     <!-- left side: instructions and messages -->
     <LinearLayout
             android:orientation="vertical"
             android:layout_width="0dip"
-            android:layout_height="fill_parent"
+            android:layout_height="match_parent"
             android:layout_weight="1.0"
             >
 
         <!-- header message -->
         <TextView android:id="@+id/headerText"
-                  android:layout_width="fill_parent"
+                  android:layout_width="match_parent"
                   android:layout_height="wrap_content"
                   android:gravity="center"
                   android:textSize="18sp"/>
@@ -40,13 +40,13 @@
         <!-- fill space between header and button below -->
         <View
             android:layout_weight="1.0"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="0dip"
             />
 
         <!-- footer message -->
         <TextView android:id="@+id/footerText"
-                  android:layout_width="fill_parent"
+                  android:layout_width="match_parent"
                   android:layout_height="wrap_content"
                   android:gravity="center"
                   android:textSize="14sp"/>
@@ -55,7 +55,7 @@
     <View
          android:background="@*android:drawable/code_lock_left"
          android:layout_width="2dip"
-         android:layout_height="fill_parent" />
+         android:layout_height="match_parent" />
     <!-- right side: lock pattern -->
     <com.android.internal.widget.LockPatternView android:id="@+id/lockPattern"
          android:layout_width="wrap_content"
diff --git a/res/layout/apn_preference_layout.xml b/res/layout/apn_preference_layout.xml
index 2a7c2e9..1694a93 100644
--- a/res/layout/apn_preference_layout.xml
+++ b/res/layout/apn_preference_layout.xml
@@ -16,7 +16,7 @@
 
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="fill_parent"
+    android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:minHeight="?android:attr/listPreferredItemHeight"
     android:gravity="center_vertical">
diff --git a/res/layout/band_mode.xml b/res/layout/band_mode.xml
index e920af0..ddbc7ae 100644
--- a/res/layout/band_mode.xml
+++ b/res/layout/band_mode.xml
@@ -18,12 +18,12 @@
               android:orientation="vertical"
               android:padding="4dip"
               android:gravity="center_horizontal"
-              android:layout_width="fill_parent"
-              android:layout_height="fill_parent">
+              android:layout_width="match_parent"
+              android:layout_height="match_parent">
 
     <ListView android:id="@+id/band"
-              android:layout_width="fill_parent"
-              android:layout_height="fill_parent"
+              android:layout_width="match_parent"
+              android:layout_height="match_parent"
               android:textSize="7sp">
     </ListView>
 
diff --git a/res/layout/battery_history.xml b/res/layout/battery_history.xml
index 5421c40..b46d97b 100644
--- a/res/layout/battery_history.xml
+++ b/res/layout/battery_history.xml
@@ -2,44 +2,44 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/topLayout"
     android:orientation="vertical"
-    android:layout_width="fill_parent"
-    android:layout_height="fill_parent">
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
 
     <TextView
         android:id="@+id/title"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content" />
 
     <LinearLayout
         android:id="@+id/graphLayout"
         android:orientation="vertical"
-        android:layout_width="fill_parent"
-        android:layout_height="fill_parent" >
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" >
 
         <Spinner
             android:id="@+id/typeSpinner"
-            android:layout_width="fill_parent"
+            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="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:entries="@array/battery_history_which_spinner" />
 
         <ScrollView
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content" >
 
         <LinearLayout
             android:orientation="vertical"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content" >
             
         <TextView
             android:id="@+id/messageText"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:gravity="center_horizontal"
             android:textSize="17dp"
@@ -47,7 +47,7 @@
 
         <com.android.settings.battery_history.GraphableButton
             android:id="@+id/button0"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="0dp"
             android:layout_marginLeft="4dp"
             android:layout_marginRight="4dp"
@@ -56,7 +56,7 @@
     
         <com.android.settings.battery_history.GraphableButton
             android:id="@+id/button1"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="0dp"
             android:layout_marginLeft="4dp"
             android:layout_marginRight="4dp"
@@ -65,7 +65,7 @@
     
         <com.android.settings.battery_history.GraphableButton
             android:id="@+id/button2"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="0dp"
             android:layout_marginLeft="4dp"
             android:layout_marginRight="4dp"
@@ -74,7 +74,7 @@
     
         <com.android.settings.battery_history.GraphableButton
             android:id="@+id/button3"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="0dp"
             android:layout_marginLeft="4dp"
             android:layout_marginRight="4dp"
@@ -83,7 +83,7 @@
     
         <com.android.settings.battery_history.GraphableButton
             android:id="@+id/button4"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="0dp"
             android:layout_marginLeft="4dp"
             android:layout_marginRight="4dp"
@@ -92,7 +92,7 @@
     
         <com.android.settings.battery_history.GraphableButton
             android:id="@+id/button5"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="0dp"
             android:layout_marginLeft="4dp"
             android:layout_marginRight="4dp"
@@ -101,7 +101,7 @@
     
         <com.android.settings.battery_history.GraphableButton
             android:id="@+id/button6"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="0dp"
             android:layout_marginLeft="4dp"
             android:layout_marginRight="4dp"
@@ -110,7 +110,7 @@
     
         <com.android.settings.battery_history.GraphableButton
             android:id="@+id/button7"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="0dp"
             android:layout_marginLeft="4dp"
             android:layout_marginRight="4dp"
@@ -126,15 +126,15 @@
         android:id="@+id/textLayout"
         android:visibility="gone"
         android:orientation="vertical"
-        android:layout_width="fill_parent"
-        android:layout_height="fill_parent" >
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" >
 
         <ScrollView
-            android:layout_width="fill_parent"
-            android:layout_height="fill_parent" >
+            android:layout_width="match_parent"
+            android:layout_height="match_parent" >
             <TextView
                 android:id="@+id/detailsText"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:textSize="17dp"
                 android:layout_height="1000dp"/>
         </ScrollView>
diff --git a/res/layout/bluetooth.xml b/res/layout/bluetooth.xml
index 530cbbe..a4ac1ca 100644
--- a/res/layout/bluetooth.xml
+++ b/res/layout/bluetooth.xml
@@ -19,32 +19,32 @@
 -->
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical"
-    android:layout_width="fill_parent"
-    android:layout_height="fill_parent"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
     android:paddingLeft="2dip"
     android:paddingRight="2dip">
 
     <Button android:id="@+id/enable"
         android:textStyle="bold"
         android:text="@string/bluetooth_enable_text"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content"/>
 
     <Button android:id="@+id/scan"
         android:textStyle="bold"
         android:text="@string/bluetooth_scan_text"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content"/>
 
     <Button android:id="@+id/settings"
         android:textStyle="bold"
         android:text="@string/bluetooth_settings_text"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content"/>
 
     <ListView android:id="@android:id/list"
-    	android:layout_width="fill_parent"
-    	android:layout_height="fill_parent"
+    	android:layout_width="match_parent"
+    	android:layout_height="match_parent"
     	android:drawSelectorOnTop="false">
     </ListView>
     
diff --git a/res/layout/bluetooth_device_info.xml b/res/layout/bluetooth_device_info.xml
index e589103..4178734 100644
--- a/res/layout/bluetooth_device_info.xml
+++ b/res/layout/bluetooth_device_info.xml
@@ -16,20 +16,20 @@
 
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
  android:id="@+id/scroll_content" 
-	android:layout_width="fill_parent" 
-	android:layout_height="fill_parent">
+	android:layout_width="match_parent" 
+	android:layout_height="match_parent">
     <LinearLayout
         android:orientation="vertical"
-        android:layout_width="fill_parent"
-        android:layout_height="fill_parent">
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
 
         <TextView
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:text="@string/bluetooth_device_info_alias" />
 
         <TextView android:id="@+id/deviceAlias"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:text="@string/bluetooth_device_info_no_alias" />
 
@@ -49,12 +49,12 @@
             android:text="@string/bluetooth_device_info_sdp" />
 
         <TextView
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:text="@string/bluetooth_device_info" />
 
         <TextView android:id="@+id/deviceInfo"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:text="@string/bluetooth_device_info_deviceInfo_text" />
      </LinearLayout>        
diff --git a/res/layout/bluetooth_discoverable.xml b/res/layout/bluetooth_discoverable.xml
index 3673774..fb65453 100644
--- a/res/layout/bluetooth_discoverable.xml
+++ b/res/layout/bluetooth_discoverable.xml
@@ -19,12 +19,12 @@
 
 <ScrollView
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_height="fill_parent"
-    android:layout_width="fill_parent">
+    android:layout_height="match_parent"
+    android:layout_width="match_parent">
 
     <TextView
         android:id="@+id/message"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:paddingLeft="20dip"
         android:paddingRight="20dip"
diff --git a/res/layout/bluetooth_pin_entry.xml b/res/layout/bluetooth_pin_entry.xml
index bcb6f16..16b75fc 100644
--- a/res/layout/bluetooth_pin_entry.xml
+++ b/res/layout/bluetooth_pin_entry.xml
@@ -19,18 +19,18 @@
 
 <ScrollView
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_height="fill_parent"
-    android:layout_width="fill_parent">
+    android:layout_height="match_parent"
+    android:layout_width="match_parent">
 
     <LinearLayout
         xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_height="fill_parent"
-        android:layout_width="fill_parent"
+        android:layout_height="match_parent"
+        android:layout_width="match_parent"
         android:orientation="vertical">
 
         <TextView
             android:id="@+id/message"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_marginLeft="20dip"
             android:layout_marginRight="20dip"
@@ -40,7 +40,7 @@
         <EditText
             android:id="@+id/text"
             android:layout_height="wrap_content"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_marginTop="20dip"
             android:layout_marginLeft="20dip"
             android:layout_marginRight="20dip"
diff --git a/res/layout/bookmark_picker_item.xml b/res/layout/bookmark_picker_item.xml
index fd764ea..a0d71c6 100644
--- a/res/layout/bookmark_picker_item.xml
+++ b/res/layout/bookmark_picker_item.xml
@@ -17,7 +17,7 @@
 */
 -->
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="fill_parent"
+    android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:minHeight="?android:attr/listPreferredItemHeight"
     android:paddingLeft="2dip"
@@ -29,7 +29,7 @@
         android:scaleType="fitCenter" />
 
     <TextView android:id="@+id/title"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:textAppearance="?android:attr/textAppearanceLarge"
         android:paddingLeft="6dip" />
diff --git a/res/layout/choose_lock_pattern.xml b/res/layout/choose_lock_pattern.xml
index 78ab8b4..97c647f 100644
--- a/res/layout/choose_lock_pattern.xml
+++ b/res/layout/choose_lock_pattern.xml
@@ -18,18 +18,18 @@
     android:id="@+id/topLayout"
     android:orientation="vertical"
     android:layout_width="wrap_content"
-    android:layout_height="fill_parent"
+    android:layout_height="match_parent"
     android:background="@color/black">
 
     <!-- takes up all space above button bar at bottom -->
     <LinearLayout
         android:orientation="vertical"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="0dip"
         android:layout_weight="1">
 
         <TextView android:id="@+id/headerText"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="0dip"
             android:layout_weight="1"
             android:gravity="center"
@@ -37,7 +37,7 @@
 
         <View
              android:background="@*android:drawable/code_lock_top"
-             android:layout_width="fill_parent"
+             android:layout_width="match_parent"
              android:layout_height="2dip" />
         <com.android.internal.widget.LockPatternView android:id="@+id/lockPattern"
              android:layout_width="wrap_content"
@@ -46,11 +46,11 @@
         <!-- bottom line looks bad when button bar is their too, omit in this case -->
         <!--View
              android:background="@*android:drawable/code_lock_bottom"
-             android:layout_width="fill_parent"
+             android:layout_width="match_parent"
              android:layout_height="8dip" /-->
 
         <TextView android:id="@+id/footerText"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="0dip"
             android:layout_weight="1"
             android:gravity="center"
@@ -61,7 +61,7 @@
 
     <LinearLayout style="@android:style/ButtonBar"
         android:orientation="horizontal"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content">
 
         <Button android:id="@+id/footerLeftButton"
diff --git a/res/layout/choose_lock_pattern_example.xml b/res/layout/choose_lock_pattern_example.xml
index d1e816c..62a5364 100644
--- a/res/layout/choose_lock_pattern_example.xml
+++ b/res/layout/choose_lock_pattern_example.xml
@@ -16,22 +16,22 @@
 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical"
-    android:layout_height="fill_parent"
-    android:layout_width="fill_parent">
+    android:layout_height="match_parent"
+    android:layout_width="match_parent">
     
     <ScrollView 
-        android:layout_width="fill_parent"
-        android:layout_height="fill_parent"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
         android:layout_weight="1">
         
         <LinearLayout
             android:orientation="vertical"
-            android:layout_height="fill_parent"
-            android:layout_width="fill_parent"
+            android:layout_height="match_parent"
+            android:layout_width="match_parent"
             android:padding="5dip">
             
             <TextView
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:text="@string/lock_example_title"
                 android:gravity="center_horizontal"
@@ -48,7 +48,7 @@
             />
             
             <TextView
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="5dip"
                 android:text="@string/lock_example_message"
@@ -62,7 +62,7 @@
     
     <LinearLayout style="@android:style/ButtonBar"
         android:orientation="horizontal"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content">
         
         <Button android:id="@+id/skip_button"
diff --git a/res/layout/choose_lock_pattern_tutorial.xml b/res/layout/choose_lock_pattern_tutorial.xml
index 8eadc01..3032c05 100644
--- a/res/layout/choose_lock_pattern_tutorial.xml
+++ b/res/layout/choose_lock_pattern_tutorial.xml
@@ -16,22 +16,22 @@
 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical"
-    android:layout_height="fill_parent"
-    android:layout_width="fill_parent">
+    android:layout_height="match_parent"
+    android:layout_width="match_parent">
     
     <ScrollView 
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="0dip"
         android:layout_weight="1">
         
         <LinearLayout
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:orientation="vertical"
             android:padding="5dip">
             
             <TextView
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:gravity="center_horizontal"
                 android:text="@string/lock_title"
@@ -41,7 +41,7 @@
             />
         
             <TextView 
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:textAppearance="?android:attr/textAppearanceMedium"
                 android:layout_marginTop="10dip"
@@ -54,7 +54,7 @@
     
     <LinearLayout style="@android:style/ButtonBar"
         android:orientation="horizontal"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content">
 
         <Button android:id="@+id/skip_button"
diff --git a/res/layout/compute_sizes.xml b/res/layout/compute_sizes.xml
index b32ba58..88dbfd1 100755
--- a/res/layout/compute_sizes.xml
+++ b/res/layout/compute_sizes.xml
@@ -16,15 +16,15 @@
 
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="fill_parent"
-    android:layout_height="fill_parent">
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
     <ListView 
         android:id="@android:id/list"
         android:drawSelectorOnTop="false"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content" />
     <TextView android:id="@android:id/empty"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:paddingLeft="20dip"
         android:paddingTop="5dip"
diff --git a/res/layout/confirm_lock_pattern.xml b/res/layout/confirm_lock_pattern.xml
index 52cf24a..01ef5b1 100644
--- a/res/layout/confirm_lock_pattern.xml
+++ b/res/layout/confirm_lock_pattern.xml
@@ -18,11 +18,11 @@
     android:id="@+id/topLayout"
     android:orientation="vertical"
     android:layout_width="wrap_content"
-    android:layout_height="fill_parent"
+    android:layout_height="match_parent"
     android:background="@color/black">
 
     <TextView android:id="@+id/headerText"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="0dip"
         android:layout_weight="1.0"
         android:gravity="center"
@@ -30,18 +30,18 @@
 
     <View
          android:background="@*android:drawable/code_lock_top"
-         android:layout_width="fill_parent"
+         android:layout_width="match_parent"
          android:layout_height="2dip" />
     <com.android.internal.widget.LockPatternView android:id="@+id/lockPattern"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content" />
     <View
          android:background="@*android:drawable/code_lock_bottom"
-         android:layout_width="fill_parent"
+         android:layout_width="match_parent"
          android:layout_height="8dip" />
 
     <TextView android:id="@+id/footerText"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="0dip"
         android:layout_weight="1.0"
         android:gravity="center"
diff --git a/res/layout/credentials_password_dialog.xml b/res/layout/credentials_password_dialog.xml
index c23cc68..440a107 100644
--- a/res/layout/credentials_password_dialog.xml
+++ b/res/layout/credentials_password_dialog.xml
@@ -15,17 +15,17 @@
 -->
 
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content">
 
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:orientation="vertical"
-            android:layout_width="fill_parent"
-            android:layout_height="fill_parent"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
             android:padding="15dip">
 
         <TextView android:id="@+id/hint"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:textSize="@dimen/vpn_connect_normal_text_size"
                 android:text="@string/credentials_first_time_hint"
@@ -33,38 +33,38 @@
                 android:visibility="gone"/>
 
         <TextView android:id="@+id/error"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:textColor="@color/red"
                 android:textStyle="bold"
                 android:visibility="gone"/>
 
         <TextView android:id="@+id/old_password_prompt"
-        	android:layout_width="fill_parent"
+        	android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:text="@string/credentials_old_password"
                 android:visibility="gone"/>
         <EditText android:id="@+id/old_password"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:password="True"
                 android:singleLine="True"
                 android:visibility="gone"/>
 
-        <TextView android:layout_width="fill_parent"
+        <TextView android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:text="@string/credentials_new_password" />
         <EditText android:id="@+id/new_password"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:password="True"
                 android:singleLine="True"/>
 
-        <TextView android:layout_width="fill_parent"
+        <TextView android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:text="@string/credentials_confirm_password" />
         <EditText android:id="@+id/confirm_password"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:password="True"
                 android:singleLine="True"/>
diff --git a/res/layout/credentials_unlock_dialog.xml b/res/layout/credentials_unlock_dialog.xml
index 2ba2ace..a538807 100644
--- a/res/layout/credentials_unlock_dialog.xml
+++ b/res/layout/credentials_unlock_dialog.xml
@@ -15,17 +15,17 @@
 -->
 
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content">
 
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:orientation="vertical"
-            android:layout_width="fill_parent"
-            android:layout_height="fill_parent"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
             android:padding="15dip">
 
         <TextView android:id="@+id/hint"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:textSize="@dimen/vpn_connect_normal_text_size"
                 android:text="@string/credentials_unlock_hint"
@@ -33,14 +33,14 @@
                 android:visibility="gone"/>
 
         <TextView android:id="@+id/error"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:textColor="@color/red"
                 android:textStyle="bold"
                 android:visibility="gone"/>
 
         <EditText android:id="@+id/old_password"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:password="True"
                 android:singleLine="True"/>
diff --git a/res/layout/date_time_settings_setupwizard.xml b/res/layout/date_time_settings_setupwizard.xml
index fc6f5e2..930e199 100644
--- a/res/layout/date_time_settings_setupwizard.xml
+++ b/res/layout/date_time_settings_setupwizard.xml
@@ -15,20 +15,20 @@
 -->
 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_height="fill_parent"
-        android:layout_width="fill_parent"
+        android:layout_height="match_parent"
+        android:layout_width="match_parent"
         android:orientation="vertical">
      
     <LinearLayout
         android:orientation="vertical"
         android:layout_height="0dip"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_weight="1"
         android:gravity="left">
         
         <ListView android:id="@android:id/list"
-            android:layout_width="fill_parent" 
-            android:layout_height="fill_parent"
+            android:layout_width="match_parent" 
+            android:layout_height="match_parent"
             android:drawSelectorOnTop="false"
             android:paddingTop="2dip"
         />
@@ -37,7 +37,7 @@
     
     <RelativeLayout
         android:layout_height="wrap_content"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:background="@android:drawable/bottom_bar">
         
         <Button android:id="@+id/next_button"
diff --git a/res/layout/dialog_edittext.xml b/res/layout/dialog_edittext.xml
index 0dcf673..6b849ac 100644
--- a/res/layout/dialog_edittext.xml
+++ b/res/layout/dialog_edittext.xml
@@ -22,7 +22,7 @@
     
     <EditText 
         android:id="@+id/edittext"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:maxLength="50"
     />
diff --git a/res/layout/display.xml b/res/layout/display.xml
index 0049025..f35730b 100644
--- a/res/layout/display.xml
+++ b/res/layout/display.xml
@@ -23,22 +23,22 @@
         android:orientation="vertical">
 
         <TextView
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:text="@string/display_font_size_label" />
 
         <Spinner android:id="@+id/fontSize"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content">
         </Spinner>
 
         <TextView
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:text="@string/display_preview_label" />
 
         <TextView android:id="@+id/preview"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content" />
 
         <Button android:id="@+id/save"
diff --git a/res/layout/installed_app_details.xml b/res/layout/installed_app_details.xml
index 2810604..8da1d76 100644
--- a/res/layout/installed_app_details.xml
+++ b/res/layout/installed_app_details.xml
@@ -18,12 +18,12 @@
 -->
 <ScrollView
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="fill_parent"
-    android:layout_height="fill_parent">
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
     <LinearLayout
         android:id="@+id/all_details"
-        android:layout_width="fill_parent"
-        android:layout_height="fill_parent"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
         android:paddingRight="6dip"
         android:paddingTop="5dip"
         android:paddingBottom="5dip"
@@ -31,14 +31,14 @@
 
         <!-- App snippet -->
         <RelativeLayout
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_gravity="center_vertical">
 
             <LinearLayout
                 android:orientation="vertical"
                 android:layout_alignParentLeft="true"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:paddingTop="6dip"
                 android:paddingBottom="6dip"
@@ -79,12 +79,12 @@
             android:text="@string/storage_label" />
 
         <LinearLayout
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:paddingLeft="6dip"
             android:orientation="vertical">
             <LinearLayout
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:orientation="horizontal"
                 android:baselineAligned="true"
@@ -121,7 +121,7 @@
 
             </LinearLayout>
             <LinearLayout
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:orientation="horizontal"
                 android:baselineAligned="true"
@@ -158,7 +158,7 @@
             </LinearLayout>
             <LinearLayout
                 android:id="@+id/info_size"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:orientation="horizontal"
                 android:baselineAligned="true"
@@ -195,7 +195,7 @@
             </LinearLayout>
             <!-- Manage space, Clear data/Uninstall buttons  -->
             <LinearLayout
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:gravity="bottom"
                 android:orientation="horizontal">
@@ -229,7 +229,7 @@
         <!-- Clear cache section -->
         <RelativeLayout
             android:id="@+id/cache_panel"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content" >
             <TextView
                 android:id="@+id/cache_header"
@@ -237,7 +237,7 @@
                 android:text="@string/cache_header_label" />
             <LinearLayout
                 android:id="@+id/cache_size"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:orientation="horizontal"
                 android:baselineAligned="true"
@@ -287,13 +287,13 @@
             android:text="@string/auto_launch_label" />
 
         <RelativeLayout 
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_gravity="center_vertical">
             <TextView android:id="@+id/auto_launch"
                 android:textAppearance="?android:attr/textAppearanceSmall"
                 android:layout_alignParentLeft="true"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:paddingTop="6dip"
                 android:paddingRight="6dip"
@@ -313,7 +313,7 @@
             android:text="@string/controls_label" />
 
         <RelativeLayout
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_gravity="center_vertical">
             <Button android:id="@+id/force_stop_button"
@@ -329,8 +329,8 @@
         <!-- Permissions section -->
         <LinearLayout
             android:id="@+id/permissions_section"
-            android:layout_width="fill_parent"
-            android:layout_height="fill_parent"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
             android:orientation="vertical">
             <TextView
                 style="?android:attr/listSeparatorTextViewStyle"
@@ -341,12 +341,12 @@
                 android:paddingTop="6dip"
                 android:paddingLeft="6dip"
                 android:paddingBottom="6dip"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content" />
             <LinearLayout
                 android:id="@+id/security_settings_list"
-                android:layout_width="fill_parent"
-                android:layout_height="fill_parent"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
                 android:orientation="vertical"/>
         </LinearLayout>
     </LinearLayout>
diff --git a/res/layout/intent_sender.xml b/res/layout/intent_sender.xml
index 07fe67d..8a85bf8 100644
--- a/res/layout/intent_sender.xml
+++ b/res/layout/intent_sender.xml
@@ -21,13 +21,13 @@
     android:paddingLeft="6dip"
     android:paddingRight="6dip"
     android:paddingBottom="3dip"
-    android:layout_width="fill_parent"
-    android:layout_height="fill_parent">
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
 
     <LinearLayout
         android:orientation="vertical"
-        android:layout_width="fill_parent"
-        android:layout_height="fill_parent">
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
 
         <TextView
                 android:textStyle="bold"
diff --git a/res/layout/list_content_with_empty_view.xml b/res/layout/list_content_with_empty_view.xml
index 324d23f..1d4dcdc 100644
--- a/res/layout/list_content_with_empty_view.xml
+++ b/res/layout/list_content_with_empty_view.xml
@@ -16,18 +16,18 @@
 
  
 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="fill_parent"
-    android:layout_height="fill_parent" >
+    android:layout_width="match_parent"
+    android:layout_height="match_parent" >
 
     <ListView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/list"
-        android:layout_width="fill_parent" 
-        android:layout_height="fill_parent"
+        android:layout_width="match_parent" 
+        android:layout_height="match_parent"
         android:drawSelectorOnTop="false"
         />
 
     <TextView android:id="@+id/empty"
-        android:layout_width="fill_parent"
-        android:layout_height="fill_parent"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
         android:padding="5dip"
         android:gravity="center"
         android:visibility="gone" />
diff --git a/res/layout/locale_picker.xml b/res/layout/locale_picker.xml
index 476293f..cc38278 100644
--- a/res/layout/locale_picker.xml
+++ b/res/layout/locale_picker.xml
@@ -16,12 +16,12 @@
 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical"
-    android:layout_width="fill_parent"
-    android:layout_height="fill_parent">
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
 
     <ListView android:id="@android:id/list"
-        android:layout_width="fill_parent"
-        android:layout_height="fill_parent"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
         android:drawSelectorOnTop="false"
     />
 
diff --git a/res/layout/locale_picker_in_setupwizard.xml b/res/layout/locale_picker_in_setupwizard.xml
index 184250d..d816f47 100644
--- a/res/layout/locale_picker_in_setupwizard.xml
+++ b/res/layout/locale_picker_in_setupwizard.xml
@@ -16,8 +16,8 @@
 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical"
-    android:layout_width="fill_parent"
-    android:layout_height="fill_parent">
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
     
     <TextView
         android:layout_width="wrap_content"
@@ -29,15 +29,15 @@
     />
     
     <View
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="1dip"
         android:layout_marginTop="8dip"
         android:background="@android:drawable/divider_horizontal_dark"
     />
 
     <ListView android:id="@android:id/list"
-        android:layout_width="fill_parent"
-        android:layout_height="fill_parent"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
         android:drawSelectorOnTop="false"
     />
 
diff --git a/res/layout/locale_picker_item.xml b/res/layout/locale_picker_item.xml
index caa6fb5..091419f 100644
--- a/res/layout/locale_picker_item.xml
+++ b/res/layout/locale_picker_item.xml
@@ -17,7 +17,7 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="horizontal"
     android:layout_height="wrap_content"
-    android:layout_width="fill_parent"
+    android:layout_width="match_parent"
     android:gravity="center_vertical"
     android:minHeight="?android:attr/listPreferredItemHeight"    
     android:padding="5dip">
diff --git a/res/layout/manage_applications_item.xml b/res/layout/manage_applications_item.xml
index ecefcf5..cdf4c9d 100755
--- a/res/layout/manage_applications_item.xml
+++ b/res/layout/manage_applications_item.xml
@@ -18,7 +18,7 @@
 -->
 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="fill_parent"
+    android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:minHeight="?android:attr/listPreferredItemHeight"
     android:orientation="horizontal"
@@ -38,7 +38,7 @@
 
     <LinearLayout
         android:orientation="vertical"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content" >
         <TextView android:id="@+id/app_name"
             android:layout_width="wrap_content"
diff --git a/res/layout/pick_item.xml b/res/layout/pick_item.xml
index f276511..62fc4f4 100755
--- a/res/layout/pick_item.xml
+++ b/res/layout/pick_item.xml
@@ -15,7 +15,7 @@
 -->
 
 <TextView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="fill_parent"
+    android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:minHeight="?android:attr/listPreferredItemHeight"
     android:textAppearance="?android:attr/textAppearanceLargeInverse"
diff --git a/res/layout/power_usage_action_item.xml b/res/layout/power_usage_action_item.xml
index 7b81ec1..a53c551 100644
--- a/res/layout/power_usage_action_item.xml
+++ b/res/layout/power_usage_action_item.xml
@@ -15,7 +15,7 @@
 -->
 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="fill_parent"
+    android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:minHeight="?android:attr/listPreferredItemHeight"
     android:gravity="center_vertical"
@@ -25,14 +25,14 @@
     android:paddingRight="?android:attr/scrollbarSize">
 
     <TextView android:id="@+id/summary"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_marginTop="2dip"
             android:ellipsize="marquee"
             android:textAppearance="?android:attr/textAppearanceMedium"/>
 
     <LinearLayout
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:orientation="horizontal">
         <!-- Spacer -->
diff --git a/res/layout/power_usage_detail_item_text.xml b/res/layout/power_usage_detail_item_text.xml
index 7ea2432..6c21274 100644
--- a/res/layout/power_usage_detail_item_text.xml
+++ b/res/layout/power_usage_detail_item_text.xml
@@ -16,7 +16,7 @@
 
 <RelativeLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="fill_parent"
+    android:layout_width="match_parent"
     android:layout_height="wrap_content">
     <!--Label for the item-->
     <TextView
diff --git a/res/layout/power_usage_details.xml b/res/layout/power_usage_details.xml
index f7485ee..18781a9 100644
--- a/res/layout/power_usage_details.xml
+++ b/res/layout/power_usage_details.xml
@@ -16,18 +16,18 @@
 
 <ScrollView
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="fill_parent"
-    android:layout_height="fill_parent">
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
     <LinearLayout
         android:id="@+id/all_details"
-        android:layout_width="fill_parent"
-        android:layout_height="fill_parent"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
         android:paddingTop="5dip"
         android:paddingBottom="5dip"
         android:orientation="vertical">
 
         <LinearLayout
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:minHeight="?android:attr/listPreferredItemHeight"
             android:orientation="horizontal"
@@ -73,7 +73,7 @@
                     android:id="@+id/gauge"
                     android:background="#80404040"
                     android:layout_height="wrap_content"
-                    android:layout_width="fill_parent"
+                    android:layout_width="match_parent"
                     android:layout_marginTop="5dip"
                     android:layout_below="@id/battery_percentage"
                     android:layout_gravity="center_vertical" />
@@ -93,7 +93,7 @@
 
         <LinearLayout
             android:id="@+id/details"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:paddingLeft="6dip"
             android:orientation="vertical">
@@ -104,7 +104,7 @@
 
         <LinearLayout
             android:id="@+id/controls"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:orientation="vertical">
 
@@ -126,7 +126,7 @@
 
         <LinearLayout
             android:id="@+id/packages_section"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:paddingLeft="6dip"
             android:orientation="vertical">
diff --git a/res/layout/power_usage_package_item.xml b/res/layout/power_usage_package_item.xml
index dcd5aad..750e062 100644
--- a/res/layout/power_usage_package_item.xml
+++ b/res/layout/power_usage_package_item.xml
@@ -16,7 +16,7 @@
 
 <RelativeLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="fill_parent"
+    android:layout_width="match_parent"
     android:layout_height="wrap_content">
     <!--Label for the item-->
     <TextView
diff --git a/res/layout/preference_bluetooth.xml b/res/layout/preference_bluetooth.xml
index e832f20..501c827 100644
--- a/res/layout/preference_bluetooth.xml
+++ b/res/layout/preference_bluetooth.xml
@@ -15,7 +15,7 @@
 -->
 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
-    android:layout_width="fill_parent"
+    android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:minHeight="?android:attr/listPreferredItemHeight"
     android:gravity="center_vertical"
diff --git a/res/layout/preference_dialog_brightness.xml b/res/layout/preference_dialog_brightness.xml
index 071beed..0fa01e4 100644
--- a/res/layout/preference_dialog_brightness.xml
+++ b/res/layout/preference_dialog_brightness.xml
@@ -18,11 +18,11 @@
 -->
 
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="fill_parent"
-        android:layout_height="fill_parent">
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-            android:layout_width="fill_parent"
-            android:layout_height="fill_parent"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
             android:orientation="vertical"
             android:gravity="center_horizontal"
             android:paddingBottom="20dip">
@@ -33,7 +33,7 @@
                 android:paddingTop="20dip" />
 
         <CheckBox android:id="@+id/automatic_mode"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:text="@string/automatic_brightness"
                 android:textAppearance="?android:attr/textAppearanceSmall"
@@ -42,7 +42,7 @@
                 android:layout_marginRight="20dip" />
 
         <SeekBar android:id="@*android:id/seekbar"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:padding="20dip" />
 
diff --git a/res/layout/preference_dialog_ringervolume.xml b/res/layout/preference_dialog_ringervolume.xml
index 5905f45..a23e313 100644
--- a/res/layout/preference_dialog_ringervolume.xml
+++ b/res/layout/preference_dialog_ringervolume.xml
@@ -15,12 +15,12 @@
 -->
 
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="fill_parent"
-        android:layout_height="fill_parent">
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
         
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-            android:layout_width="fill_parent"
-            android:layout_height="fill_parent"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
             android:orientation="vertical"
             android:gravity="center_horizontal"
             android:paddingBottom="20dip">
@@ -31,7 +31,7 @@
                 android:paddingTop="20dip" />
                 
         <TextView
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:text="@string/incoming_call_volume_title"
                 android:paddingTop="20dip"
@@ -40,14 +40,14 @@
         
         <!-- Used for the ring volume.  This is what the superclass VolumePreference uses. -->
         <SeekBar android:id="@*android:id/seekbar"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:paddingTop="6dip" 
                 android:paddingLeft="20dip" 
                 android:paddingRight="20dip" />
             
         <CheckBox android:id="@+id/same_notification_volume"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:text="@string/checkbox_notification_same_as_incoming_call"
                 android:textAppearance="?android:attr/textAppearanceSmall"
@@ -56,7 +56,7 @@
                 android:layout_marginRight="20dip" />
     
         <TextView android:id="@+id/notification_volume_title"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:text="@string/notification_volume_title"
                 android:paddingTop="6dip"
@@ -65,7 +65,7 @@
         
         <!-- Used for the notification volume -->
         <SeekBar android:id="@+id/notification_volume_seekbar"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:paddingTop="6dip" 
                 android:paddingLeft="20dip" 
diff --git a/res/layout/preference_icon.xml b/res/layout/preference_icon.xml
index 03f4e70..e51a73b 100644
--- a/res/layout/preference_icon.xml
+++ b/res/layout/preference_icon.xml
@@ -19,7 +19,7 @@
      type in the "widget_frame" layout. -->
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+android:id/widget_frame"
-    android:layout_width="fill_parent"
+    android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:minHeight="?android:attr/listPreferredItemHeight"
     android:gravity="center_vertical"
diff --git a/res/layout/preference_powergauge.xml b/res/layout/preference_powergauge.xml
index 7aafec1..7de2e20 100644
--- a/res/layout/preference_powergauge.xml
+++ b/res/layout/preference_powergauge.xml
@@ -15,7 +15,7 @@
 -->
 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="fill_parent"
+    android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:minHeight="?android:attr/listPreferredItemHeight"
     android:gravity="center_vertical"
@@ -63,7 +63,7 @@
             android:id="@+id/appGauge"
             android:background="#80404040"
             android:layout_height="wrap_content"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_marginTop="5dip"
             android:layout_below="@id/percent"
             android:layout_gravity="center_vertical" />
diff --git a/res/layout/proxy.xml b/res/layout/proxy.xml
index 914d0ea..3ecbb80 100644
--- a/res/layout/proxy.xml
+++ b/res/layout/proxy.xml
@@ -22,7 +22,7 @@
     android:paddingLeft="6dip"
     android:paddingRight="6dip"
     android:paddingBottom="3dip"
-    android:layout_width="fill_parent" android:layout_height="wrap_content">
+    android:layout_width="match_parent" android:layout_height="wrap_content">
 
     <TextView
         android:textStyle="bold"
@@ -34,7 +34,7 @@
     <EditText android:id="@+id/hostname"
         android:maxLines="1"
         android:layout_marginTop="2dip"
-        android:layout_width="fill_parent" android:layout_height="wrap_content"
+        android:layout_width="match_parent" android:layout_height="wrap_content"
         android:autoText="false"
         android:capitalize="none"
         android:scrollHorizontally="true" />
@@ -50,7 +50,7 @@
         android:numeric="integer"
         android:maxLines="1" 
         android:layout_marginTop="2dip"
-        android:layout_width="fill_parent" android:layout_height="wrap_content"
+        android:layout_width="match_parent" android:layout_height="wrap_content"
         android:scrollHorizontally="true" />
 
     <LinearLayout 
@@ -59,17 +59,17 @@
         android:layout_width="wrap_content" android:layout_height="wrap_content">
 
         <Button android:id="@+id/action" 
-            android:layout_width="wrap_content" android:layout_height="fill_parent"
+            android:layout_width="wrap_content" android:layout_height="match_parent"
             android:layout_weight="1"
             android:text="@string/proxy_action_text" />
 
         <Button android:id="@+id/clear" 
-            android:layout_width="wrap_content" android:layout_height="fill_parent"
+            android:layout_width="wrap_content" android:layout_height="match_parent"
             android:layout_weight="1"
             android:text="@string/proxy_clear_text" />
 
         <Button android:id="@+id/defaultView" 
-            android:layout_width="wrap_content" android:layout_height="fill_parent"
+            android:layout_width="wrap_content" android:layout_height="match_parent"
             android:layout_weight="1"
             android:text="@string/proxy_defaultView_text" />
 
diff --git a/res/layout/radio_info.xml b/res/layout/radio_info.xml
index b560fff..e9841d0 100644
--- a/res/layout/radio_info.xml
+++ b/res/layout/radio_info.xml
@@ -18,8 +18,8 @@
 */
 -->
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="fill_parent"
-    android:layout_height="fill_parent" >
+    android:layout_width="match_parent"
+    android:layout_height="match_parent" >
 
     <LinearLayout style="@style/info_layout">
 
@@ -177,49 +177,27 @@
 
         <!-- Preferred Network Type -->
         <TextView
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:text="@string/radio_info_set_perferred_label"
                 style="@style/info_label"
                 />
 
         <Spinner android:id="@+id/preferredNetworkType"
-                 android:layout_width="fill_parent"
+                 android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                 />
 
-        <!-- Ciphering -->
-        <LinearLayout style="@style/entry_layout">
-            <Button android:id="@+id/ciph_toggle"
-                    android:textSize="14sp"
-                    android:layout_marginTop="8dip"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="@string/radio_info_toggle_ciph_label"
-                    />
-            <TextView android:id="@+id/ciphState" style="@style/info_value" />
-
-        </LinearLayout>
-
-        <!-- QXDM logging & radio power -->
-        <LinearLayout style="@style/entry_layout">
-            <Button android:id="@+id/qxdm_log"
-                    android:textSize="14sp"
-                    android:layout_marginTop="8dip"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    />
-
-            <Button android:id="@+id/radio_power"
+        <!-- Radio Power -->
+        <Button android:id="@+id/radio_power"
                 android:textSize="14sp"
                 android:layout_marginTop="8dip"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 />
-        </LinearLayout>
 
         <!-- SMSC -->
-        <RelativeLayout android:layout_width="fill_parent"
+        <RelativeLayout android:layout_width="match_parent"
                         android:layout_height="wrap_content">
             <TextView android:id="@+id/smsc_label"
                       android:text="@string/radio_info_smsc_label"
@@ -261,5 +239,14 @@
             <TextView android:id="@+id/dnsCheckState" style="@style/info_value" />
         </LinearLayout>
 
+        <!-- Launch OEM-specific Info/Settings Activity (if any) -->
+        <Button android:id="@+id/oem_info"
+                android:textSize="14sp"
+                android:layout_marginTop="8dip"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@string/oem_radio_info_label"
+                />
+
     </LinearLayout>
 </ScrollView>
diff --git a/res/layout/remember_dock_setting.xml b/res/layout/remember_dock_setting.xml
index a19ca7c..023a912 100644
--- a/res/layout/remember_dock_setting.xml
+++ b/res/layout/remember_dock_setting.xml
@@ -17,7 +17,7 @@
 <CheckBox
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/remember"
-    android:layout_width="fill_parent"
+    android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:text="@string/bluetooth_dock_settings_remember"
     android:focusable="true"
diff --git a/res/layout/running_services.xml b/res/layout/running_services.xml
index 120a113..2f464a5 100644
--- a/res/layout/running_services.xml
+++ b/res/layout/running_services.xml
@@ -16,27 +16,27 @@
  -->
 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-	    android:layout_width="fill_parent"
-	    android:layout_height="fill_parent"
+	    android:layout_width="match_parent"
+	    android:layout_height="match_parent"
 	    android:orientation="vertical">
     <FrameLayout
-		    android:layout_width="fill_parent"
+		    android:layout_width="match_parent"
 		    android:layout_height="0px"
 		    android:layout_weight="1">
 	    <ListView android:id="@android:id/list"
-	            android:layout_width="fill_parent" 
-	            android:layout_height="fill_parent"
+	            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="fill_parent"
-	            android:layout_height="fill_parent"
+	            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>
     <LinearLayout
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:orientation="horizontal"
             android:background="?android:attr/colorForeground"
diff --git a/res/layout/running_services_item.xml b/res/layout/running_services_item.xml
index 2728c76..f8a0c97 100644
--- a/res/layout/running_services_item.xml
+++ b/res/layout/running_services_item.xml
@@ -18,7 +18,7 @@
 -->
 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="fill_parent"
+    android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:minHeight="?android:attr/listPreferredItemHeight"
     android:orientation="vertical"
@@ -30,7 +30,7 @@
         android:src="?android:attr/listDivider"/>
     
     <LinearLayout
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_weight="1"
         android:orientation="horizontal"
@@ -48,12 +48,12 @@
     
         <LinearLayout
             android:orientation="vertical"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content" >
             <LinearLayout
                 android:orientation="horizontal"
                 android:baselineAlignedChildIndex="0"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content">
 	            <TextView android:id="@+id/name"
 	                android:layout_width="wrap_content"
diff --git a/res/layout/sdcard_settings_screen.xml b/res/layout/sdcard_settings_screen.xml
index 734a5b6..3fa6c9a 100644
--- a/res/layout/sdcard_settings_screen.xml
+++ b/res/layout/sdcard_settings_screen.xml
@@ -19,19 +19,19 @@
 -->
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical"
-    android:layout_width="fill_parent"
-    android:layout_height="fill_parent">
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
 
     <LinearLayout android:id="@+id/list"
         android:orientation="vertical"
         android:padding="10dip"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content">
     
         <LinearLayout android:id="@+id/usb"
             android:orientation="vertical"
             android:paddingBottom="10dip"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content">
 
             <CheckBox android:id="@+id/mass_storage"
@@ -46,12 +46,12 @@
         
         <!-- divider line -->
         <View android:background="#FF000000"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="1dip" />
     
         <LinearLayout android:id="@+id/mounted" 
             android:orientation="vertical" 
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:paddingTop="10dip">
             
@@ -72,7 +72,7 @@
                 android:layout_width="wrap_content" android:layout_height="wrap_content" />
     
             <TableLayout
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:paddingTop="10dip">
                 <TableRow>
@@ -105,7 +105,7 @@
 
         <LinearLayout android:id="@+id/shared" 
             android:orientation="vertical" 
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content" 
             android:paddingTop="10dip">
         
diff --git a/res/layout/usage_stats.xml b/res/layout/usage_stats.xml
index 727052d..9ce338c 100755
--- a/res/layout/usage_stats.xml
+++ b/res/layout/usage_stats.xml
@@ -1,24 +1,24 @@
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical"
-    android:layout_width="fill_parent"
-    android:layout_height="fill_parent">
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
 
     <TextView
         android:text="@string/display_order_text"
         android:textAppearance="?android:attr/textAppearanceLarge"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content" />
 
     <Spinner
         android:id="@+id/typeSpinner"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:entries="@array/usage_stats_display_order_types" />
 
     <LinearLayout
         android:orientation="horizontal"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content" > 
         <TextView
             android:text="@string/app_name_label"
@@ -39,7 +39,7 @@
             android:layout_height="wrap_content" />
     </LinearLayout>
     <ListView android:id="@+id/pkg_list"
-        android:layout_width="fill_parent"
-        android:layout_height="fill_parent"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
         android:drawSelectorOnTop="false" />
 </LinearLayout>
diff --git a/res/layout/usage_stats_item.xml b/res/layout/usage_stats_item.xml
index 7ab0090..bdadf85 100755
--- a/res/layout/usage_stats_item.xml
+++ b/res/layout/usage_stats_item.xml
@@ -18,7 +18,7 @@
 -->
 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="fill_parent"
+    android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:orientation="horizontal"
     android:minHeight="?android:attr/listPreferredItemHeight">
diff --git a/res/layout/vpn_connect_dialog_view.xml b/res/layout/vpn_connect_dialog_view.xml
index 062f881..3b6d0db 100644
--- a/res/layout/vpn_connect_dialog_view.xml
+++ b/res/layout/vpn_connect_dialog_view.xml
@@ -15,18 +15,18 @@
 -->
 
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content">
 
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:orientation="vertical"
-            android:layout_width="fill_parent"
-            android:layout_height="fill_parent"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
             android:padding="10dip">
 
         <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                 android:orientation="horizontal"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content">
             <TextView android:id="@+id/username_str"
                     android:layout_width="@dimen/vpn_connect_input_box_label_width"
@@ -36,14 +36,14 @@
                     android:layout_marginRight="@dimen/vpn_connect_margin_right"
                     android:text="@string/vpn_username_colon" />
             <EditText android:id="@+id/username_value"
-                    android:layout_width="fill_parent"
+                    android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     android:singleLine="True"/>
         </LinearLayout>
 
         <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                 android:orientation="horizontal"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content">
             <TextView android:id="@+id/password_str"
                     android:layout_width="@dimen/vpn_connect_input_box_label_width"
@@ -53,14 +53,14 @@
                     android:layout_marginRight="@dimen/vpn_connect_margin_right"
                     android:text="@string/vpn_password_colon" />
             <EditText android:id="@+id/password_value"
-                    android:layout_width="fill_parent"
+                    android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     android:password="True"
                     android:singleLine="True"/>
         </LinearLayout>
 
         <CheckBox android:id="@+id/save_username"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginLeft="66dip"
                 android:text="@string/vpn_save_username" />
diff --git a/res/layout/widget.xml b/res/layout/widget.xml
index 1e22dbe..210fcc1 100644
--- a/res/layout/widget.xml
+++ b/res/layout/widget.xml
@@ -16,8 +16,8 @@
 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/main"
-    android:layout_width="fill_parent"
-    android:layout_height="fill_parent"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
     android:gravity="center"
     android:background="@drawable/appwidget_bg" >
 
@@ -25,7 +25,7 @@
         android:id="@+id/btn_wifi"
         android:layout_width="0dip"
         android:layout_weight="1"
-        android:layout_height="fill_parent"
+        android:layout_height="match_parent"
         android:background="@drawable/appwidget_button_left"
         android:clickable="true"
         android:focusable="true"
@@ -33,7 +33,7 @@
 
         <ImageView
             android:id="@+id/img_wifi"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="0dip"
             android:layout_weight="1"
             android:scaleType="center"
@@ -41,7 +41,7 @@
 
         <ImageView
             android:id="@+id/ind_wifi"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:scaleType="fitXY"
             />
@@ -49,7 +49,7 @@
 
     <ImageView
         android:layout_width="1dip"
-        android:layout_height="fill_parent"
+        android:layout_height="match_parent"
         android:background="@drawable/appwidget_settings_divider"
         />
 
@@ -57,7 +57,7 @@
         android:id="@+id/btn_bluetooth"
         android:layout_width="0dip"
         android:layout_weight="1"
-        android:layout_height="fill_parent"
+        android:layout_height="match_parent"
         android:background="@drawable/appwidget_button_center"
         android:clickable="true"
         android:focusable="true"
@@ -65,7 +65,7 @@
 
         <ImageView
             android:id="@+id/img_bluetooth"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="0dip"
             android:layout_weight="1"
             android:scaleType="center"
@@ -73,7 +73,7 @@
 
         <ImageView
             android:id="@+id/ind_bluetooth"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:scaleType="fitXY"
             />
@@ -82,7 +82,7 @@
 
     <ImageView
         android:layout_width="1dip"
-        android:layout_height="fill_parent"
+        android:layout_height="match_parent"
         android:background="@drawable/appwidget_settings_divider"
         />
 
@@ -90,7 +90,7 @@
         android:id="@+id/btn_gps"
         android:layout_width="0dip"
         android:layout_weight="1"
-        android:layout_height="fill_parent"
+        android:layout_height="match_parent"
         android:background="@drawable/appwidget_button_center"
         android:clickable="true"
         android:focusable="true"
@@ -98,7 +98,7 @@
 
         <ImageView
             android:id="@+id/img_gps"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="0dip"
             android:layout_weight="1"
             android:scaleType="center"
@@ -106,7 +106,7 @@
 
         <ImageView
             android:id="@+id/ind_gps"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:scaleType="fitXY"
             />
@@ -114,7 +114,7 @@
 
     <ImageView
         android:layout_width="1dip"
-        android:layout_height="fill_parent"
+        android:layout_height="match_parent"
         android:background="@drawable/appwidget_settings_divider"
         />    
 
@@ -122,7 +122,7 @@
         android:id="@+id/btn_sync"
         android:layout_width="0dip"
         android:layout_weight="1"
-        android:layout_height="fill_parent"
+        android:layout_height="match_parent"
         android:background="@drawable/appwidget_button_center"
         android:clickable="true"
         android:focusable="true"
@@ -130,7 +130,7 @@
 
         <ImageView
             android:id="@+id/img_sync"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="0dip"
             android:layout_weight="1"
             android:scaleType="center"
@@ -138,7 +138,7 @@
 
         <ImageView
             android:id="@+id/ind_sync"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:scaleType="fitXY"
             />
@@ -146,7 +146,7 @@
 
     <ImageView
         android:layout_width="1dip"
-        android:layout_height="fill_parent"
+        android:layout_height="match_parent"
         android:background="@drawable/appwidget_settings_divider"
         />
 
@@ -154,7 +154,7 @@
         android:id="@+id/btn_brightness"
         android:layout_width="0dip"
         android:layout_weight="1"
-        android:layout_height="fill_parent"
+        android:layout_height="match_parent"
         android:background="@drawable/appwidget_button_right"
         android:clickable="true"
         android:focusable="true"
@@ -162,7 +162,7 @@
 
         <ImageView
             android:id="@+id/img_brightness"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="0dip"
             android:layout_weight="1"
             android:scaleType="center"
@@ -170,7 +170,7 @@
 
         <ImageView
             android:id="@+id/ind_brightness"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:scaleType="fitXY"
             />
diff --git a/res/layout/wifi_ap_configure.xml b/res/layout/wifi_ap_configure.xml
index f816ae5..3f8fbba 100644
--- a/res/layout/wifi_ap_configure.xml
+++ b/res/layout/wifi_ap_configure.xml
@@ -15,19 +15,19 @@
 -->
 
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content">
         
     <LinearLayout
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:padding="8dip"
             android:orientation="vertical"> 
     
             <LinearLayout
                 android:id="@+id/table"
-                android:layout_width="fill_parent"
-                android:layout_height="fill_parent"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
                 android:orientation="vertical">
             </LinearLayout>
 
@@ -36,12 +36,12 @@
     
         <TextView android:id="@+id/ssid_text"
                 style="?android:attr/textAppearanceSmallInverse"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:text="@string/wifi_type_ssid" />
 
         <EditText android:id="@+id/ssid_edit"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="2dip"
                 android:singleLine="true"
@@ -51,79 +51,79 @@
         
         <TextView android:id="@+id/security_text"
                 style="?android:attr/textAppearanceSmallInverse"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="8dip"
                 android:text="@string/wifi_security" />
             
         <!-- The entries will be set programmatically -->
         <Spinner android:id="@+id/security_spinner"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content" />
 
         <!-- Enterprise Fields -->
         <LinearLayout android:id="@+id/enterprise_wrapper"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:padding="0dip"
             android:orientation="vertical">
                 <TextView android:id="@+id/eap_text"
                         style="?android:attr/textAppearanceSmallInverse"
-                        android:layout_width="fill_parent"
+                        android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_marginTop="8dip"
                         android:text="@string/please_select_eap" />
                 <Spinner android:id="@+id/eap_spinner"
-                        android:layout_width="fill_parent"
+                        android:layout_width="match_parent"
                         android:layout_height="wrap_content" />
                 <TextView android:id="@+id/phase2_text"
                         style="?android:attr/textAppearanceSmallInverse"
-                        android:layout_width="fill_parent"
+                        android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_marginTop="8dip"
                         android:text="@string/please_select_phase2" />
                 <Spinner android:id="@+id/phase2_spinner"
-                        android:layout_width="fill_parent"
+                        android:layout_width="match_parent"
                         android:layout_height="wrap_content" />
 
                 <TextView android:id="@+id/ca_certificate_text"
                         style="?android:attr/textAppearanceSmallInverse"
-                        android:layout_width="fill_parent"
+                        android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_marginTop="8dip"
                         android:text="@string/please_select_ca_certificate" />
                 <Spinner android:id="@+id/ca_certificate_spinner"
-                        android:layout_width="fill_parent"
+                        android:layout_width="match_parent"
                         android:layout_height="wrap_content" />
                 <TextView android:id="@+id/client_certificate_text"
                         style="?android:attr/textAppearanceSmallInverse"
-                        android:layout_width="fill_parent"
+                        android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_marginTop="8dip"
                         android:text="@string/please_select_client_certificate" />
                 <Spinner android:id="@+id/client_certificate_spinner"
-                        android:layout_width="fill_parent"
+                        android:layout_width="match_parent"
                         android:layout_height="wrap_content" />
                 <TextView android:id="@+id/identity_text"
                         style="?android:attr/textAppearanceSmallInverse"
-                        android:layout_width="fill_parent"
+                        android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_marginTop="8dip"
                         android:text="@string/please_type_identity" />
                 <EditText android:id="@+id/identity_edit"
-                        android:layout_width="fill_parent"
+                        android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_marginTop="2dip"
                         android:singleLine="true"
                         android:inputType="textNoSuggestions" />
                 <TextView android:id="@+id/anonymous_identity_text"
                         style="?android:attr/textAppearanceSmallInverse"
-                        android:layout_width="fill_parent"
+                        android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_marginTop="8dip"
                         android:text="@string/please_type_anonymous_identity" />
                 <EditText android:id="@+id/anonymous_identity_edit"
-                        android:layout_width="fill_parent"
+                        android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_marginTop="2dip"
                         android:singleLine="true" />
@@ -133,13 +133,13 @@
         
         <TextView android:id="@+id/password_text"
                 style="?android:attr/textAppearanceSmallInverse"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="8dip"
                 android:text="@string/please_type_passphrase" />
             
         <EditText android:id="@+id/password_edit"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="2dip"
                 android:singleLine="true"
@@ -147,13 +147,13 @@
     
         <CheckBox android:id="@+id/show_password_checkbox"
                 style="?android:attr/textAppearanceSmallInverse"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="2dip"
                 android:text="@string/wifi_show_password" />
                 
         <Spinner android:id="@+id/wep_type_spinner"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:entries="@array/wifi_wep_type" />
             
diff --git a/res/layout/wifi_ap_info.xml b/res/layout/wifi_ap_info.xml
index 8c430fc..d38a831 100644
--- a/res/layout/wifi_ap_info.xml
+++ b/res/layout/wifi_ap_info.xml
@@ -15,19 +15,19 @@
 -->
 
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content">
         
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:padding="8dip"
             android:orientation="vertical"> 
     
         <LinearLayout
                 android:id="@+id/table"
-                android:layout_width="fill_parent"
-                android:layout_height="fill_parent"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
                 android:orientation="vertical">
         
         <!-- Info dynamically added here. -->
@@ -37,13 +37,13 @@
         <!-- Password -->
         <TextView android:id="@+id/password_text"
                 style="?android:attr/textAppearanceSmallInverse"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="8dip"
                 android:text="@string/please_type_passphrase" />
             
         <EditText android:id="@+id/password_edit"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="2dip"
                 android:singleLine="true"
@@ -51,7 +51,7 @@
     
         <CheckBox android:id="@+id/show_password_checkbox"
                 style="?android:attr/textAppearanceSmallInverse"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="2dip"
                 android:text="@string/wifi_show_password" />
diff --git a/res/layout/wifi_ap_info_row.xml b/res/layout/wifi_ap_info_row.xml
index 79064b0..dfc4ca8 100644
--- a/res/layout/wifi_ap_info_row.xml
+++ b/res/layout/wifi_ap_info_row.xml
@@ -15,7 +15,7 @@
 -->
 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content">
     <TextView
             android:id="@+id/name"
diff --git a/res/layout/wifi_ap_retry_password.xml b/res/layout/wifi_ap_retry_password.xml
index 14a4eae..d460d8e 100644
--- a/res/layout/wifi_ap_retry_password.xml
+++ b/res/layout/wifi_ap_retry_password.xml
@@ -15,31 +15,31 @@
 -->
 
 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content">
         
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:padding="8dip"
             android:orientation="vertical"> 
     
         <TextView
                 style="?android:attr/textAppearanceSmallInverse"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:text="@string/wifi_password_incorrect_error" />
                     
         <!-- Password -->
         <TextView android:id="@+id/password_text"
                 style="?android:attr/textAppearanceSmallInverse"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="8dip"
                 android:text="@string/please_type_passphrase" />
             
         <EditText android:id="@+id/password_edit"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="2dip"
                 android:singleLine="true"
@@ -47,7 +47,7 @@
     
         <CheckBox android:id="@+id/show_password_checkbox"
                 style="?android:attr/textAppearanceSmallInverse"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="2dip"
                 android:text="@string/wifi_show_password" />
diff --git a/res/layout/wifi_api_test.xml b/res/layout/wifi_api_test.xml
new file mode 100644
index 0000000..b3ad18a
--- /dev/null
+++ b/res/layout/wifi_api_test.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+        android:title="@string/wifi_settings_category">
+
+    <Preference
+            android:key="disable_network"
+            android:title="@string/disableNetwork"
+            android:persistent="false" />
+
+    <Preference
+            android:key="disconnect"
+            android:title="@string/disconnect"
+            android:persistent="false" />
+
+    <Preference
+            android:key="enable_network"
+            android:title="@string/enableNetwork"
+            android:persistent="false" />
+
+    <Preference
+            android:key="getConfiguredNetworks"
+            android:title="@string/getConfiguredNetworks"
+            android:persistent="false" />
+
+    <Preference
+            android:key="getConnectionInfo"
+            android:title="@string/getConnectionInfo"
+            android:persistent="false" />
+
+
+</PreferenceScreen>
diff --git a/res/layout/wifi_config_info.xml b/res/layout/wifi_config_info.xml
new file mode 100644
index 0000000..c95eb6a
--- /dev/null
+++ b/res/layout/wifi_config_info.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent" >
+
+
+    <LinearLayout style="@style/info_layout">
+
+        <LinearLayout style="@style/entry_layout">
+                <TextView android:text="@string/config_list_label" style="@style/info_label" />
+        </LinearLayout>
+
+        <LinearLayout style="@style/entry_layout">
+                <TextView android:id="@+id/config_list" style="@style/info_value" />
+        </LinearLayout>
+    </LinearLayout>
+
+</ScrollView>
+
diff --git a/res/layout/wifi_status_test.xml b/res/layout/wifi_status_test.xml
new file mode 100644
index 0000000..2bdfbfc
--- /dev/null
+++ b/res/layout/wifi_status_test.xml
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent" >
+
+
+    <LinearLayout style="@style/info_layout">
+
+        <!-- Update Button -->
+        <Button android:id="@+id/update"
+                android:textSize="14sp"
+                android:layout_marginTop="8dip"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@string/wifi_update"
+                />
+
+        <!--Wifi State-->
+        <LinearLayout style="@style/entry_layout">
+            <TextView android:text="@string/wifi_state_label" style="@style/info_label" />
+            <TextView android:id="@+id/wifi_state" style="@style/info_value" />
+        </LinearLayout>
+
+        <!--Network State-->
+        <LinearLayout style="@style/entry_layout">
+            <TextView android:text="@string/network_state_label" style="@style/info_label" />
+            <TextView android:id="@+id/network_state" style="@style/info_value" />
+        </LinearLayout>
+
+        <!--Supplicant State-->
+        <LinearLayout style="@style/entry_layout">
+            <TextView android:text="@string/supplicant_state_label" style="@style/info_label" />
+            <TextView android:id="@+id/supplicant_state" style="@style/info_value" />
+        </LinearLayout>
+
+        <!--RSSI Value-->
+        <LinearLayout style="@style/entry_layout">
+            <TextView android:text="@string/rssi_label" style="@style/info_label" />
+            <TextView android:id="@+id/rssi" style="@style/info_value" />
+        </LinearLayout>
+
+        <!--BSSID Value-->
+        <LinearLayout style="@style/entry_layout">
+            <TextView android:text="@string/bssid_label" style="@style/info_label" />
+            <TextView android:id="@+id/bssid" style="@style/info_value" />
+        </LinearLayout>
+
+        <!--SSID Value-->
+        <LinearLayout style="@style/entry_layout">
+            <TextView android:text="@string/ssid_label" style="@style/info_label" />
+            <TextView android:id="@+id/ssid" style="@style/info_value" />
+        </LinearLayout>
+
+
+        <!--Hidden SSID Value-->
+        <LinearLayout style="@style/entry_layout">
+            <TextView android:text="@string/hidden_ssid_label" style="@style/info_label" />
+            <TextView android:id="@+id/hidden_ssid" style="@style/info_value" />
+        </LinearLayout>
+
+        <!--IP address Value-->
+        <LinearLayout style="@style/entry_layout">
+            <TextView android:text="@string/ipaddr_label" style="@style/info_label" />
+            <TextView android:id="@+id/ipaddr" style="@style/info_value" />
+        </LinearLayout>
+
+        <!--MAC address Value-->
+        <LinearLayout style="@style/entry_layout">
+            <TextView android:text="@string/macaddr_label" style="@style/info_label" />
+            <TextView android:id="@+id/macaddr" style="@style/info_value" />
+        </LinearLayout>
+
+        <!--Network ID Value-->
+        <LinearLayout style="@style/entry_layout">
+            <TextView android:text="@string/networkid_label" style="@style/info_label" />
+            <TextView android:id="@+id/networkid" style="@style/info_value" />
+        </LinearLayout>
+
+        <!--Link Speed Value-->
+        <LinearLayout style="@style/entry_layout">
+            <TextView android:text="@string/link_speed_label" style="@style/info_label" />
+            <TextView android:id="@+id/link_speed" style="@style/info_value" />
+        </LinearLayout>
+
+        <LinearLayout style="@style/entry_layout">
+            <TextView android:text="@string/scan_list_label" style="@style/info_label" />
+            <TextView android:id="@+id/scan_list" style="@style/info_value" />
+        </LinearLayout>
+
+        <!-- Ping stats -->
+        <Button android:id="@+id/ping_test"
+                android:textSize="14sp"
+                android:layout_marginTop="8dip"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@string/ping_test_label"
+                />
+
+        <LinearLayout style="@style/entry_layout">
+            <TextView android:text="@string/radio_info_ping_ipaddr" style="@style/info_label" />
+            <TextView android:id="@+id/pingIpAddr" style="@style/info_value" />
+        </LinearLayout>
+
+        <LinearLayout style="@style/entry_layout">
+            <TextView android:text="@string/radio_info_ping_hostname" style="@style/info_label" />
+            <TextView android:id="@+id/pingHostname" style="@style/info_value" />
+        </LinearLayout>
+
+        <LinearLayout style="@style/entry_layout">
+            <TextView android:text="@string/radio_info_http_client_test" style="@style/info_label" />
+            <TextView android:id="@+id/httpClientTest" style="@style/info_value" />
+        </LinearLayout>
+
+    </LinearLayout>
+</ScrollView>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 5c8913c..44dc069 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -20,16 +20,10 @@
     <string name="device_info_default" msgid="7847265875578739287">"Neznámé"</string>
     <string name="turn_on_radio" msgid="8706561489788373676">"Zapnout rádio"</string>
     <string name="turn_off_radio" msgid="1820294552893884115">"Vypnout rádio"</string>
-    <string name="turn_on_qxdm" msgid="634471960429852506">"Povolit protokol QXDM SD"</string>
-    <string name="turn_off_qxdm" msgid="5719931520533431085">"Zakázat protokol QXDM SD"</string>
     <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Zobrazit adresář karty SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Zobrazit povolená telefonní čísla"</string>
     <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Zobrazit čísla volání služeb"</string>
     <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Získat seznam PDP"</string>
-    <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Povolit připojení datových služeb"</string>
-    <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Zakázat připojení datových služeb"</string>
-    <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Povolit startovací data"</string>
-    <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Zakázat startovací data"</string>
     <string name="radioInfo_service_in" msgid="1915416319177520020">"V provozu"</string>
     <string name="radioInfo_service_out" msgid="5238736759641916278">"Nepokrytá oblast"</string>
     <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Pouze tísňová volání"</string>
@@ -170,12 +164,13 @@
     <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Použít test Ping na IpAddr:"</string>
     <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Provést test Ping hostitele (www.google.cz):"</string>
     <string name="radio_info_http_client_test" msgid="5733604021077701555">"Test klienta HTTP:"</string>
-    <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Přepnout šifrování"</string>
     <string name="ping_test_label" msgid="7255376471490860631">"Spustit test Ping"</string>
     <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string>
     <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Aktualizovat"</string>
     <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Obnovit"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Přepnout kontrolu DNS"</string>
+    <!-- no translation found for oem_radio_info_label (6163141792477958941) -->
+    <skip />
     <string name="band_mode_title" msgid="954174198903776205">"Nastavit pásmo pro GSM a UMTS"</string>
     <string name="band_mode_loading" msgid="548764766363847336">"Načítání seznamu pásem..."</string>
     <string name="band_mode_set" msgid="5730560180249458484">"Nastavit"</string>
@@ -499,6 +494,12 @@
     <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>
+    <!-- no translation found for sd_insert_summary (2048640010381803841) -->
+    <skip />
+    <!-- no translation found for sd_mount (5940523765187704135) -->
+    <skip />
+    <!-- no translation found for sd_mount_summary (4936591681679097699) -->
+    <skip />
     <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_unavailable" msgid="8580107589533213904">"Nedostupný údaj"</string>
@@ -627,7 +628,8 @@
     <string name="applications_settings_summary" msgid="2714215108369119717">"Správa aplikací a klávesových zkratek rychlého spuštění"</string>
     <string name="applications_settings_header" msgid="6018266337275422250">"Nastavení aplikace"</string>
     <string name="install_applications" msgid="4872012136210802181">"Neznámé zdroje"</string>
-    <string name="install_unknown_applications" msgid="4657036956866203596">"Povoluje instalaci aplikací, které nepocházejí ze služby Market"</string>
+    <!-- no translation found for install_unknown_applications (6612824788917283662) -->
+    <skip />
     <string name="install_all_warning" msgid="1923717607319933741">"Váš telefon a osobní údaje jsou zranitelnější vůči útoku aplikací z neznámých zdrojů. Vyjadřujete souhlas, že nesete osobní odpovědnost za jakékoli škody způsobené na vašem telefonu nebo za ztrátu dat v důsledku používání těchto aplikací."</string>
     <string name="application_info_label" msgid="1150486628158409543">"Info o aplikaci"</string>
     <string name="storage_label" msgid="8700867073480107253">"Paměť"</string>
@@ -790,6 +792,10 @@
     <string name="no_accessibility_services_summary" msgid="694578333333808159">"Žádné nainstalované služby usnadnění."</string>
     <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Tato služba usnadnění může shromažďovat veškerý text, který napíšete, včetně osobních údajů a čísel kreditních karet, nikoli však hesla. Může také protokolovat vaše interakce s uživatelským rozhraním. Služba pochází z aplikace <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Chcete tuto službu usnadnění použít?"</string>
     <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Deaktivovat usnadnění?"</string>
+    <!-- no translation found for accessibility_service_no_apps_title (898893674114288531) -->
+    <skip />
+    <!-- no translation found for accessibility_service_no_apps_message (2450056749545404807) -->
+    <skip />
     <string name="power_usage_summary_title" msgid="5180282911164282324">"Využití baterie"</string>
     <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>
@@ -854,6 +860,10 @@
     <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Vždy používat moje nastavení"</string>
     <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Výchozí nastavení níže přepíše nastavení jednotlivých aplikací"</string>
     <string name="tts_default_settings_section" msgid="5787915620218907443">"Výchozí nastavení"</string>
+    <!-- no translation found for tts_default_synth_title (29467896463371992) -->
+    <skip />
+    <!-- no translation found for tts_default_synth_summary (6482936537135251690) -->
+    <skip />
     <string name="tts_default_rate_title" msgid="6030550998379310088">"Rychlost řeči"</string>
     <string name="tts_default_rate_summary" msgid="4061815292287182801">"Rychlost mluveného textu"</string>
     <string name="tts_default_pitch_title" msgid="6135942113172488671">"Výška"</string>
@@ -870,7 +880,6 @@
     <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>
-    <string name="credential_installer_activity_title" msgid="7600661521831762521">"Program na instalaci pověření"</string>
     <string name="vpn_settings_activity_title" msgid="7276864950701612579">"Nastavení sítě VPN"</string>
     <string name="vpn_connect_to" msgid="2541409082892684362">"Připojit k síti <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="vpn_username_colon" msgid="7854930370861306247">"Uživatelské jméno:"</string>
@@ -975,6 +984,26 @@
     <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>
+    <!-- no translation found for encrypted_fs_category (1841367653663913956) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable (3884033081603327729) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_summary (5635188119509076089) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_dialog (919487211207214266) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_dialog (6960413613985682501) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_button (8453841319751433751) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_button (8468354944060220496) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_button (4785921255266305799) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_confirm (853572431153803557) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_alert_dialog_title (583462447886934755) -->
+    <skip />
     <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>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 52d1e9f..9822439 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -20,16 +20,10 @@
     <string name="device_info_default" msgid="7847265875578739287">"Ukendt"</string>
     <string name="turn_on_radio" msgid="8706561489788373676">"Slå radio til"</string>
     <string name="turn_off_radio" msgid="1820294552893884115">"Slå radio fra"</string>
-    <string name="turn_on_qxdm" msgid="634471960429852506">"Aktiver QXDM SD-log"</string>
-    <string name="turn_off_qxdm" msgid="5719931520533431085">"Deaktiver QXDM SD-log"</string>
     <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Vis adressebog på SIM-kortet"</string>
     <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Vis faste opkaldsnumre"</string>
     <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Vis tjenesten faste opkaldsnumre"</string>
     <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Hent PDP-liste"</string>
-    <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Aktiver dataforbindelse"</string>
-    <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Deaktiver dataforbindelse"</string>
-    <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Aktiver data ved start"</string>
-    <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Deaktiver data ved start"</string>
     <string name="radioInfo_service_in" msgid="1915416319177520020">"I drift"</string>
     <string name="radioInfo_service_out" msgid="5238736759641916278">"Ude af drift"</string>
     <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Kun nødopkald"</string>
@@ -170,12 +164,13 @@
     <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Ping-IpAdr.:"</string>
     <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Ping-værtsnavn(www.google.com):"</string>
     <string name="radio_info_http_client_test" msgid="5733604021077701555">"HTTP-klienttest:"</string>
-    <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Skift nummer"</string>
     <string name="ping_test_label" msgid="7255376471490860631">"Kør ping-test"</string>
     <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string>
     <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Opdater"</string>
     <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Opdater"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Skift DNS-kontrol"</string>
+    <!-- no translation found for oem_radio_info_label (6163141792477958941) -->
+    <skip />
     <string name="band_mode_title" msgid="954174198903776205">"Angiv GSM/UMTS-bånd"</string>
     <string name="band_mode_loading" msgid="548764766363847336">"Indlæser båndliste ..."</string>
     <string name="band_mode_set" msgid="5730560180249458484">"Indstil"</string>
@@ -499,6 +494,12 @@
     <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>
+    <!-- no translation found for sd_insert_summary (2048640010381803841) -->
+    <skip />
+    <!-- no translation found for sd_mount (5940523765187704135) -->
+    <skip />
+    <!-- no translation found for sd_mount_summary (4936591681679097699) -->
+    <skip />
     <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_unavailable" msgid="8580107589533213904">"Utilgængelig"</string>
@@ -627,7 +628,8 @@
     <string name="applications_settings_summary" msgid="2714215108369119717">"Administ. programmer, konf. genveje til hurtig start"</string>
     <string name="applications_settings_header" msgid="6018266337275422250">"Indstillinger for program"</string>
     <string name="install_applications" msgid="4872012136210802181">"Ukendte kilder"</string>
-    <string name="install_unknown_applications" msgid="4657036956866203596">"Tillad installation af programmer, der ikke stammer fra Marked"</string>
+    <!-- no translation found for install_unknown_applications (6612824788917283662) -->
+    <skip />
     <string name="install_all_warning" msgid="1923717607319933741">"Din telefon og dine personlige oplysninger er mere sårbare over for angreb af programmer fra ukendte kilder. Du accepterer, at du alene er ansvarlig for skader på din telefon eller tab af data, der kan skyldes brug af disse programmer."</string>
     <string name="application_info_label" msgid="1150486628158409543">"Programoplysninger"</string>
     <string name="storage_label" msgid="8700867073480107253">"Lagring"</string>
@@ -790,6 +792,10 @@
     <string name="no_accessibility_services_summary" msgid="694578333333808159">"Der er ikke installeret nogen tilgængelighedstjenester."</string>
     <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Denne tilgængelighedstjeneste vil muligvis være i stand til at indsamle al den tekst, du indtaster, inklusive personlige oplysninger og kreditkortoplysninger, men ikke adgangskoder. Den kan også registrere dine brugergrænsefladeinteraktioner. Den kommer fra programmet <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Vil du bruge denne tilgængelighedstjeneste?"</string>
     <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Deaktiver tilgængelighed?"</string>
+    <!-- no translation found for accessibility_service_no_apps_title (898893674114288531) -->
+    <skip />
+    <!-- no translation found for accessibility_service_no_apps_message (2450056749545404807) -->
+    <skip />
     <string name="power_usage_summary_title" msgid="5180282911164282324">"Batteriforbrug"</string>
     <string name="power_usage_summary" msgid="7237084831082848168">"Hvad der har brugt batteriet"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Batteriforbrug siden afbrydelse"</string>
@@ -854,6 +860,10 @@
     <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Brug altid mine indstil."</string>
     <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Nedenstående standardindstillinger tilsidesætter programindstillingerne"</string>
     <string name="tts_default_settings_section" msgid="5787915620218907443">"Standardindstillinger"</string>
+    <!-- no translation found for tts_default_synth_title (29467896463371992) -->
+    <skip />
+    <!-- no translation found for tts_default_synth_summary (6482936537135251690) -->
+    <skip />
     <string name="tts_default_rate_title" msgid="6030550998379310088">"Talehastighed"</string>
     <string name="tts_default_rate_summary" msgid="4061815292287182801">"Oplæsningshastighed for tekst"</string>
     <string name="tts_default_pitch_title" msgid="6135942113172488671">"Tonehøjde"</string>
@@ -870,7 +880,6 @@
     <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>
-    <string name="credential_installer_activity_title" msgid="7600661521831762521">"Installationsprogram til oplysninger"</string>
     <string name="vpn_settings_activity_title" msgid="7276864950701612579">"VPN-indstillinger"</string>
     <string name="vpn_connect_to" msgid="2541409082892684362">"Opret forbindelse til <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="vpn_username_colon" msgid="7854930370861306247">"Brugernavn:"</string>
@@ -975,6 +984,26 @@
     <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>
+    <!-- no translation found for encrypted_fs_category (1841367653663913956) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable (3884033081603327729) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_summary (5635188119509076089) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_dialog (919487211207214266) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_dialog (6960413613985682501) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_button (8453841319751433751) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_button (8468354944060220496) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_button (4785921255266305799) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_confirm (853572431153803557) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_alert_dialog_title (583462447886934755) -->
+    <skip />
     <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>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 12a9b29..722655d 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -20,16 +20,10 @@
     <string name="device_info_default" msgid="7847265875578739287">"Unbekannt"</string>
     <string name="turn_on_radio" msgid="8706561489788373676">"Mobilfunkverbindung aktivieren"</string>
     <string name="turn_off_radio" msgid="1820294552893884115">"Mobilfunkverbindung deaktivieren"</string>
-    <string name="turn_on_qxdm" msgid="634471960429852506">"QXDM-SD-Protokoll aktivieren"</string>
-    <string name="turn_off_qxdm" msgid="5719931520533431085">"QXDM-SD-Protokoll deaktivieren"</string>
     <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"SIM-Adressbuch anzeigen"</string>
     <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Begrenzte Rufnummern anzeigen"</string>
     <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Servicerufnummern anzeigen"</string>
     <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"PDP-Liste abrufen"</string>
-    <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Datenverbindung aktivieren"</string>
-    <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Datenverbindung deaktivieren"</string>
-    <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Daten beim Start aktivieren"</string>
-    <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Daten beim Start deaktivieren"</string>
     <string name="radioInfo_service_in" msgid="1915416319177520020">"In Betrieb"</string>
     <string name="radioInfo_service_out" msgid="5238736759641916278">"Außer Betrieb"</string>
     <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Nur Notrufe"</string>
@@ -170,12 +164,13 @@
     <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"IP-Adresse pingen:"</string>
     <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Hostnamen pingen (www.google.com):"</string>
     <string name="radio_info_http_client_test" msgid="5733604021077701555">"HTTP Client-Test:"</string>
-    <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Verschlüsselung wechseln"</string>
     <string name="ping_test_label" msgid="7255376471490860631">"Pingtest ausführen"</string>
     <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string>
     <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Aktualisierung"</string>
     <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Aktualisieren"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"DNS-Überprüfung ein-/ausschalten"</string>
+    <!-- no translation found for oem_radio_info_label (6163141792477958941) -->
+    <skip />
     <string name="band_mode_title" msgid="954174198903776205">"GSM-/UMTS-Band festlegen"</string>
     <string name="band_mode_loading" msgid="548764766363847336">"Bandliste wird geladen..."</string>
     <string name="band_mode_set" msgid="5730560180249458484">"Festlegen"</string>
@@ -499,6 +494,12 @@
     <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>
+    <!-- no translation found for sd_insert_summary (2048640010381803841) -->
+    <skip />
+    <!-- no translation found for sd_mount (5940523765187704135) -->
+    <skip />
+    <!-- no translation found for sd_mount_summary (4936591681679097699) -->
+    <skip />
     <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_unavailable" msgid="8580107589533213904">"Nicht verfügbar"</string>
@@ -627,7 +628,8 @@
     <string name="applications_settings_summary" msgid="2714215108369119717">"Anwendungen verwalten, Tastenkombinationen für Schnellstart"</string>
     <string name="applications_settings_header" msgid="6018266337275422250">"Anwendungen"</string>
     <string name="install_applications" msgid="4872012136210802181">"Unbekannte Quellen"</string>
-    <string name="install_unknown_applications" msgid="4657036956866203596">"Installation von Nicht-Market-Anwendungen zulassen"</string>
+    <!-- no translation found for install_unknown_applications (6612824788917283662) -->
+    <skip />
     <string name="install_all_warning" msgid="1923717607319933741">"Anwendungen aus unbekannten Quellen können gefährlich für Ihr Telefon und Ihre persönlichen Daten sein. Sie stimmen zu, dass Sie die Verantwortung für alle Schäden an Ihrem Telefon oder jegliche Datenverluste tragen, die aus der Verwendung dieser Anwendungen entstehen können."</string>
     <string name="application_info_label" msgid="1150486628158409543">"Anwendungsinfo"</string>
     <string name="storage_label" msgid="8700867073480107253">"Speicher"</string>
@@ -790,6 +792,10 @@
     <string name="no_accessibility_services_summary" msgid="694578333333808159">"Keine Eingabehilfen installiert"</string>
     <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Diese Eingabehilfe kann den gesamten von Ihnen eingegebenen Text erfassen, einschließlich persönlicher Daten wie Kreditkartennummern, jedoch keine Passwörter. Sie kann auch Ihre Interaktionen auf der Benutzeroberfläche protokollieren. Sie ist Teil der Anwendung <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Soll diese Eingabehilfe aktiviert werden?"</string>
     <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Eingabehilfe deaktivieren?"</string>
+    <!-- no translation found for accessibility_service_no_apps_title (898893674114288531) -->
+    <skip />
+    <!-- no translation found for accessibility_service_no_apps_message (2450056749545404807) -->
+    <skip />
     <string name="power_usage_summary_title" msgid="5180282911164282324">"Akkuverbrauch"</string>
     <string name="power_usage_summary" msgid="7237084831082848168">"Akkuverbraucher"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Akkuverbrauch seit dem Ausstecken"</string>
@@ -854,6 +860,10 @@
     <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Immer meine Einst. verwenden"</string>
     <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Standardeinstellungen überschreiben Anwendungseinstellungen"</string>
     <string name="tts_default_settings_section" msgid="5787915620218907443">"Standardeinstellungen"</string>
+    <!-- no translation found for tts_default_synth_title (29467896463371992) -->
+    <skip />
+    <!-- no translation found for tts_default_synth_summary (6482936537135251690) -->
+    <skip />
     <string name="tts_default_rate_title" msgid="6030550998379310088">"Sprechgeschwindigkeit"</string>
     <string name="tts_default_rate_summary" msgid="4061815292287182801">"Geschwindigkeit, mit der der Text gesprochen wird"</string>
     <string name="tts_default_pitch_title" msgid="6135942113172488671">"Tonlage"</string>
@@ -870,7 +880,6 @@
     <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="credential_installer_activity_title" msgid="7600661521831762521">"Installation der Zugangsdaten"</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>
@@ -975,6 +984,26 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Der Speicher für die Anmeldeinformationen 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>
+    <!-- no translation found for encrypted_fs_category (1841367653663913956) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable (3884033081603327729) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_summary (5635188119509076089) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_dialog (919487211207214266) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_dialog (6960413613985682501) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_button (8453841319751433751) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_button (8468354944060220496) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_button (4785921255266305799) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_confirm (853572431153803557) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_alert_dialog_title (583462447886934755) -->
+    <skip />
     <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>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 6cc31e7..d90247e 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -20,16 +20,10 @@
     <string name="device_info_default" msgid="7847265875578739287">"Άγνωστο"</string>
     <string name="turn_on_radio" msgid="8706561489788373676">"Ενεργοποίηση πομπού"</string>
     <string name="turn_off_radio" msgid="1820294552893884115">"Απενεργοποίηση πομπού"</string>
-    <string name="turn_on_qxdm" msgid="634471960429852506">"Ενεργοποίηση αρχείου καταγραφής QXDM SD"</string>
-    <string name="turn_off_qxdm" msgid="5719931520533431085">"Απενεργοποίηση αρχείου καταγραφής QXDM SD"</string>
     <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Προβολή βιβλίου διευθύνσεων κάρτας SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Προβολή καθορισμένων αριθμών κλήσης"</string>
     <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Προβολή αριθμών κλήσης υπηρεσίας"</string>
     <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Λήψη λίστας PDP"</string>
-    <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Ενεργοποίηση σύνδεσης δεδομένων"</string>
-    <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Απενεργοποίηση σύνδεσης δεδομένων"</string>
-    <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Ενεργοποίηση δεδομένων κατά την εκκίνηση"</string>
-    <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Απενεργοποίηση δεδομένων κατά την εκκίνηση"</string>
     <string name="radioInfo_service_in" msgid="1915416319177520020">"Σε υπηρεσία"</string>
     <string name="radioInfo_service_out" msgid="5238736759641916278">"Εκτός υπηρεσίας"</string>
     <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Μόνο κλήσεις έκτακτης ανάγκης"</string>
@@ -170,12 +164,13 @@
     <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Ping IpAddr:"</string>
     <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Εκτέλεση εντολής ping σε όνομα κεντρικού υπολογιστή (www.google.gr):"</string>
     <string name="radio_info_http_client_test" msgid="5733604021077701555">"Δοκιμή HTTP πελάτη:"</string>
-    <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Ενεργοποίηση κρυπτογράφησης"</string>
     <string name="ping_test_label" msgid="7255376471490860631">"Εκτέλεση δοκιμής ping"</string>
     <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string>
     <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Ενημέρωση"</string>
     <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Ανανέωση"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Αλλαγή ελέγχου DNS"</string>
+    <!-- no translation found for oem_radio_info_label (6163141792477958941) -->
+    <skip />
     <string name="band_mode_title" msgid="954174198903776205">"Ορισμός ζώνης GSM/UMTS"</string>
     <string name="band_mode_loading" msgid="548764766363847336">"Φόρτωση λίστας ζωνών..."</string>
     <string name="band_mode_set" msgid="5730560180249458484">"Ορισμός"</string>
@@ -499,6 +494,12 @@
     <string name="memory_size" msgid="6629067715017232195">"Συνολικός χώρος"</string>
     <string name="sd_eject" msgid="6915293408836853020">"Αφαίρεση κάρτας SD"</string>
     <string name="sd_eject_summary" msgid="3315557796211542962">"Αποπροσαρτήστε την κάρτα SD για ασφαλή αφαίρεση"</string>
+    <!-- no translation found for sd_insert_summary (2048640010381803841) -->
+    <skip />
+    <!-- no translation found for sd_mount (5940523765187704135) -->
+    <skip />
+    <!-- no translation found for sd_mount_summary (4936591681679097699) -->
+    <skip />
     <string name="sd_format" msgid="5448738337382712203">"Διαμόρφωση κάρτας SD"</string>
     <string name="sd_format_summary" msgid="6616491027883134004">"Διαμόρφωση (διαγραφή) της κάρτας SD"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"Μη διαθέσιμο"</string>
@@ -627,7 +628,8 @@
     <string name="applications_settings_summary" msgid="2714215108369119717">"Διαχείριση εφαρμογών, ορισμός συντομεύσεων γρήγορης εκκίνησης"</string>
     <string name="applications_settings_header" msgid="6018266337275422250">"Ρυθμίσεις εφαρμογών"</string>
     <string name="install_applications" msgid="4872012136210802181">"Άγνωστες πηγές"</string>
-    <string name="install_unknown_applications" msgid="4657036956866203596">"Επιτρ.την εγκατ.εφαρμ.που δεν βρίσκ.στο Android Market"</string>
+    <!-- no translation found for install_unknown_applications (6612824788917283662) -->
+    <skip />
     <string name="install_all_warning" msgid="1923717607319933741">"Το τηλέφωνό σας και τα προσωπικά δεδομένα σας είναι ευάλωτα σε επιθέσεις από εφαρμογές που προέρχονται από άγνωστες πηγές. Συμφωνείτε ότι είστε οι μοναδικοί υπεύθυνοι για κάθε ζημιά στο τηλέφωνο ή για απώλεια δεδομένων που ενδέχεται να προκύψουν από τη χρήση τέτοιων εφαρμογών."</string>
     <string name="application_info_label" msgid="1150486628158409543">"Πληροφορίες εφαρμογής"</string>
     <string name="storage_label" msgid="8700867073480107253">"Αποθηκευτικός χώρος"</string>
@@ -790,6 +792,10 @@
     <string name="no_accessibility_services_summary" msgid="694578333333808159">"Καμία εγκατεστημένη υπηρεσία προσβασιμότητας."</string>
     <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Αυτή η υπηρεσία προσβασιμότητας ενδέχεται να έχει τη δυνατότητα συλλογής όλων των κειμένων που πληκτρολογείτε, συμπεριλαμβανομένων των προσωπικών δεδομένων και των αριθμών πιστωτικών καρτών εκτός των κωδικών πρόσβασης. Ενδέχεται επίσης να καταγράφει τις δραστηριότητες της επιφάνειας χρήστη. Αυτή η λειτουργία προέρχεται από την εφαρμογή <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Να χρησιμοποιηθεί αυτή η υπηρεσία προσβασιμότητας;"</string>
     <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Να απενεργοποιηθεί η προσβασιμότητα;"</string>
+    <!-- no translation found for accessibility_service_no_apps_title (898893674114288531) -->
+    <skip />
+    <!-- no translation found for accessibility_service_no_apps_message (2450056749545404807) -->
+    <skip />
     <string name="power_usage_summary_title" msgid="5180282911164282324">"Χρήση μπαταρίας"</string>
     <string name="power_usage_summary" msgid="7237084831082848168">"Τι χρησιμοποιούσε την μπαταρία"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Χρήση μπαταρίας από τη στιγμή της αποσύνδεσης από την τροφοδοσία"</string>
@@ -854,6 +860,10 @@
     <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Χρήση των ρυθμίσεών μου πάντα"</string>
     <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Οι παρακάτω προεπιλεγμένες ρυθμίσεις αντιγράφουν τις ρυθμίσεις της εφαρμογής"</string>
     <string name="tts_default_settings_section" msgid="5787915620218907443">"Προεπιλεγμένες ρυθμίσεις"</string>
+    <!-- no translation found for tts_default_synth_title (29467896463371992) -->
+    <skip />
+    <!-- no translation found for tts_default_synth_summary (6482936537135251690) -->
+    <skip />
     <string name="tts_default_rate_title" msgid="6030550998379310088">"Ταχύτητα λόγου"</string>
     <string name="tts_default_rate_summary" msgid="4061815292287182801">"Ταχύτητα με την οποία εκφωνείται το κείμενο"</string>
     <string name="tts_default_pitch_title" msgid="6135942113172488671">"Τόνος"</string>
@@ -870,7 +880,6 @@
     <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>
-    <string name="credential_installer_activity_title" msgid="7600661521831762521">"Πρόγραμμα εγκατάστασης διαπιστευτηρίων"</string>
     <string name="vpn_settings_activity_title" msgid="7276864950701612579">"Ρυθμίσεις VPN"</string>
     <string name="vpn_connect_to" msgid="2541409082892684362">"Σύνδεση στο <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="vpn_username_colon" msgid="7854930370861306247">"Όνομα χρήστη:"</string>
@@ -975,6 +984,26 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Αυτός ο χώρος αποθήκευσης διαπιστευτηρίων διαγράφτηκε."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Ο χώρος αποθήκευσης διαπιστευτηρίων ενεργοποιήθηκε."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Ο χώρος αποθήκευσης διαπιστευτηρίων απενεργοποιήθηκε."</string>
+    <!-- no translation found for encrypted_fs_category (1841367653663913956) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable (3884033081603327729) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_summary (5635188119509076089) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_dialog (919487211207214266) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_dialog (6960413613985682501) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_button (8453841319751433751) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_button (8468354944060220496) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_button (4785921255266305799) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_confirm (853572431153803557) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_alert_dialog_title (583462447886934755) -->
+    <skip />
     <string name="emergency_tone_title" msgid="1055954530111587114">"Τόνος επείγουσας ανάγκης"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Ορισμός συμπεριφοράς κατά την πραγματοποίηση κλήσης επείγουσας ανάγκης"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Απόρρητο"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 6932326..47bb242 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -20,16 +20,10 @@
     <string name="device_info_default" msgid="7847265875578739287">"Desconocido"</string>
     <string name="turn_on_radio" msgid="8706561489788373676">"Encender la radio"</string>
     <string name="turn_off_radio" msgid="1820294552893884115">"Apagar la radio"</string>
-    <string name="turn_on_qxdm" msgid="634471960429852506">"Activar el registro SD de QXDM"</string>
-    <string name="turn_off_qxdm" msgid="5719931520533431085">"Desactivar el registro SD de QXDM"</string>
     <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Ver libreta de direcciones de SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Ver números fijos"</string>
     <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Ver números del servicio técnico"</string>
     <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Obtener lista PDP"</string>
-    <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Activar la conexión de datos"</string>
-    <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Desactivar conexión de datos"</string>
-    <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Activar datos durante el reinicio"</string>
-    <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Desactivar datos durante el reinicio"</string>
     <string name="radioInfo_service_in" msgid="1915416319177520020">"En servicio"</string>
     <string name="radioInfo_service_out" msgid="5238736759641916278">"Fuera de servicio"</string>
     <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Sólo llamadas de emergencia"</string>
@@ -170,12 +164,13 @@
     <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Buscar direcciones de Internet de IpAddr:"</string>
     <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Buscar direcciones de Internet del nombre del servidor (www.google.com):"</string>
     <string name="radio_info_http_client_test" msgid="5733604021077701555">"Prueba de cliente HTTP:"</string>
-    <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Cambiar el cifrado"</string>
     <string name="ping_test_label" msgid="7255376471490860631">"Ejecutar la prueba de búsqueda de direcciones de Internet"</string>
     <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string>
     <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Actualizar"</string>
     <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Actualizar"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Cambiar la verificación de DNS"</string>
+    <!-- no translation found for oem_radio_info_label (6163141792477958941) -->
+    <skip />
     <string name="band_mode_title" msgid="954174198903776205">"Establecer banda GSM y UMTS"</string>
     <string name="band_mode_loading" msgid="548764766363847336">"Cargando lista de banda..."</string>
     <string name="band_mode_set" msgid="5730560180249458484">"Establecer"</string>
@@ -499,6 +494,12 @@
     <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>
+    <!-- no translation found for sd_insert_summary (2048640010381803841) -->
+    <skip />
+    <!-- no translation found for sd_mount (5940523765187704135) -->
+    <skip />
+    <!-- no translation found for sd_mount_summary (4936591681679097699) -->
+    <skip />
     <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_unavailable" msgid="8580107589533213904">"No disponible"</string>
@@ -627,7 +628,8 @@
     <string name="applications_settings_summary" msgid="2714215108369119717">"Administrar aplicaciones, configurar accesos directos para lanzamientos rápidos"</string>
     <string name="applications_settings_header" msgid="6018266337275422250">"Configuración de aplicación"</string>
     <string name="install_applications" msgid="4872012136210802181">"Fuentes desconocidas"</string>
-    <string name="install_unknown_applications" msgid="4657036956866203596">"Admite la instalación de aplicaciones que no pertenezcan a Market"</string>
+    <!-- no translation found for install_unknown_applications (6612824788917283662) -->
+    <skip />
     <string name="install_all_warning" msgid="1923717607319933741">"Tu teléfono y datos personales son más vulnerables a sufrir ataques de aplicaciones provenientes de fuentes desconocidas. Aceptas que eres el único responsable de cualquier daño que sufra tu teléfono o de cualquier pérdida de datos que pueda ocasionar el uso de estas aplicaciones."</string>
     <string name="application_info_label" msgid="1150486628158409543">"Información de aplicación"</string>
     <string name="storage_label" msgid="8700867073480107253">"Espacio de almacenamiento"</string>
@@ -790,6 +792,10 @@
     <string name="no_accessibility_services_summary" msgid="694578333333808159">"No se han instalado servicios de accesibilidad"</string>
     <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Este servicio de accesibilidad podrá recopilar todo el texto que escribas, incluido los números de tarjeta de crédito de tus datos personales, excepto las contraseñas. También podrá registrar las interacciones de tu interfaz de usuario. Proviene de la aplicación <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. ¿Deseas utilizar este servicio de accesibilidad?"</string>
     <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"¿Deseas desactivar la accesibilidad?"</string>
+    <!-- no translation found for accessibility_service_no_apps_title (898893674114288531) -->
+    <skip />
+    <!-- no translation found for accessibility_service_no_apps_message (2450056749545404807) -->
+    <skip />
     <string name="power_usage_summary_title" msgid="5180282911164282324">"Uso de la batería"</string>
     <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>
@@ -854,6 +860,10 @@
     <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Usar siempre mi config."</string>
     <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Config. predet. debajo de la config. superpuesta de la aplicación"</string>
     <string name="tts_default_settings_section" msgid="5787915620218907443">"Configuración predeterminada"</string>
+    <!-- no translation found for tts_default_synth_title (29467896463371992) -->
+    <skip />
+    <!-- no translation found for tts_default_synth_summary (6482936537135251690) -->
+    <skip />
     <string name="tts_default_rate_title" msgid="6030550998379310088">"Índice de voz"</string>
     <string name="tts_default_rate_summary" msgid="4061815292287182801">"Velocidad en la que se habla el texto"</string>
     <string name="tts_default_pitch_title" msgid="6135942113172488671">"Sonido"</string>
@@ -870,7 +880,6 @@
     <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>
-    <string name="credential_installer_activity_title" msgid="7600661521831762521">"Programa de instalación de la credencial"</string>
     <string name="vpn_settings_activity_title" msgid="7276864950701612579">"Configuración de VPN"</string>
     <string name="vpn_connect_to" msgid="2541409082892684362">"Conectar a <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="vpn_username_colon" msgid="7854930370861306247">"Nombre de usuario:"</string>
@@ -975,6 +984,26 @@
     <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>
+    <!-- no translation found for encrypted_fs_category (1841367653663913956) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable (3884033081603327729) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_summary (5635188119509076089) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_dialog (919487211207214266) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_dialog (6960413613985682501) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_button (8453841319751433751) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_button (8468354944060220496) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_button (4785921255266305799) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_confirm (853572431153803557) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_alert_dialog_title (583462447886934755) -->
+    <skip />
     <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>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index eeba1b8..add50e8 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -20,16 +20,10 @@
     <string name="device_info_default" msgid="7847265875578739287">"Desconocido"</string>
     <string name="turn_on_radio" msgid="8706561489788373676">"Activar señal móvil"</string>
     <string name="turn_off_radio" msgid="1820294552893884115">"Desactivar señal móvil"</string>
-    <string name="turn_on_qxdm" msgid="634471960429852506">"Habilitar registro QXDM de SD"</string>
-    <string name="turn_off_qxdm" msgid="5719931520533431085">"Inhabilitar registro QXDM de SD"</string>
     <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Ver libreta de direcciones de tarjeta SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Ver números de marcación fija"</string>
     <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Ver números de marcación de servicio"</string>
     <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Obtener lista PDP"</string>
-    <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Habilitar conexión de datos"</string>
-    <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Inhabilitar conexión de datos"</string>
-    <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Habilitar datos al iniciar"</string>
-    <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Inhabilitar datos al iniciar"</string>
     <string name="radioInfo_service_in" msgid="1915416319177520020">"En servicio"</string>
     <string name="radioInfo_service_out" msgid="5238736759641916278">"Fuera de servicio"</string>
     <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Sólo llamadas de emergencia"</string>
@@ -170,12 +164,13 @@
     <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Hacer ping a DirIP:"</string>
     <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Hacer ping a nombre de host (www.google.com):"</string>
     <string name="radio_info_http_client_test" msgid="5733604021077701555">"Prueba de cliente HTTP:"</string>
-    <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Alternar cifrado"</string>
     <string name="ping_test_label" msgid="7255376471490860631">"Ejecutar prueba de ping"</string>
     <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string>
     <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Actualizar"</string>
     <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Actualizar"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"alternar comprobación de DNS"</string>
+    <!-- no translation found for oem_radio_info_label (6163141792477958941) -->
+    <skip />
     <string name="band_mode_title" msgid="954174198903776205">"Establecer banda GSM/UMTS"</string>
     <string name="band_mode_loading" msgid="548764766363847336">"Cargando lista de bandas..."</string>
     <string name="band_mode_set" msgid="5730560180249458484">"Establecer"</string>
@@ -499,6 +494,12 @@
     <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>
+    <!-- no translation found for sd_insert_summary (2048640010381803841) -->
+    <skip />
+    <!-- no translation found for sd_mount (5940523765187704135) -->
+    <skip />
+    <!-- no translation found for sd_mount_summary (4936591681679097699) -->
+    <skip />
     <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_unavailable" msgid="8580107589533213904">"No disponible"</string>
@@ -627,7 +628,8 @@
     <string name="applications_settings_summary" msgid="2714215108369119717">"Administrar aplicaciones, configurar accesos directos de inicio rápido"</string>
     <string name="applications_settings_header" msgid="6018266337275422250">"Configuración de aplicaciones"</string>
     <string name="install_applications" msgid="4872012136210802181">"Orígenes desconocidos"</string>
-    <string name="install_unknown_applications" msgid="4657036956866203596">"Permitir la instalación de aplicaciones distintas de Market"</string>
+    <!-- no translation found for install_unknown_applications (6612824788917283662) -->
+    <skip />
     <string name="install_all_warning" msgid="1923717607319933741">"El teléfono y los datos personales son más vulnerables a los ataques de aplicaciones de origen desconocido. El usuario acepta ser el único responsable de cualquier daño en el teléfono o pérdida de datos que se pueda derivar del uso de estas aplicaciones."</string>
     <string name="application_info_label" msgid="1150486628158409543">"Información de la aplicación"</string>
     <string name="storage_label" msgid="8700867073480107253">"Almacenamiento"</string>
@@ -790,6 +792,10 @@
     <string name="no_accessibility_services_summary" msgid="694578333333808159">"No hay instalado ningún servicio de accesibilidad."</string>
     <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Este servicio de accesibilidad puede recopilar todo lo que escribas, desde datos personales hasta números de tarjetas de crédito, a excepción de las contraseñas. También puede registrar las interacciones con la interfaz de usuario. Procede de la aplicación <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. ¿Quieres utilizar este servicio de accesibilidad?"</string>
     <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"¿Quieres inhabilitar la accesibilidad?"</string>
+    <!-- no translation found for accessibility_service_no_apps_title (898893674114288531) -->
+    <skip />
+    <!-- no translation found for accessibility_service_no_apps_message (2450056749545404807) -->
+    <skip />
     <string name="power_usage_summary_title" msgid="5180282911164282324">"Uso de la batería"</string>
     <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 desenchufó"</string>
@@ -854,6 +860,10 @@
     <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Utilizar siempre mi configuración"</string>
     <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"La configuración predeterminada anula la de la aplicación."</string>
     <string name="tts_default_settings_section" msgid="5787915620218907443">"Configuración predeterminada"</string>
+    <!-- no translation found for tts_default_synth_title (29467896463371992) -->
+    <skip />
+    <!-- no translation found for tts_default_synth_summary (6482936537135251690) -->
+    <skip />
     <string name="tts_default_rate_title" msgid="6030550998379310088">"Velocidad de voz"</string>
     <string name="tts_default_rate_summary" msgid="4061815292287182801">"Velocidad a la que se lee el texto"</string>
     <string name="tts_default_pitch_title" msgid="6135942113172488671">"Tono"</string>
@@ -870,7 +880,6 @@
     <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>
-    <string name="credential_installer_activity_title" msgid="7600661521831762521">"Instalador de credenciales"</string>
     <string name="vpn_settings_activity_title" msgid="7276864950701612579">"Configuración de red VPN"</string>
     <string name="vpn_connect_to" msgid="2541409082892684362">"Establecer conexión con <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="vpn_username_colon" msgid="7854930370861306247">"Nombre de usuario:"</string>
@@ -975,6 +984,26 @@
     <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>
+    <!-- no translation found for encrypted_fs_category (1841367653663913956) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable (3884033081603327729) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_summary (5635188119509076089) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_dialog (919487211207214266) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_dialog (6960413613985682501) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_button (8453841319751433751) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_button (8468354944060220496) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_button (4785921255266305799) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_confirm (853572431153803557) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_alert_dialog_title (583462447886934755) -->
+    <skip />
     <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>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index ec78030..ddc5490 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -20,16 +20,10 @@
     <string name="device_info_default" msgid="7847265875578739287">"Inconnu"</string>
     <string name="turn_on_radio" msgid="8706561489788373676">"Allumer le signal radio"</string>
     <string name="turn_off_radio" msgid="1820294552893884115">"Éteindre le signal radio"</string>
-    <string name="turn_on_qxdm" msgid="634471960429852506">"Activer le journal SD QXDM"</string>
-    <string name="turn_off_qxdm" msgid="5719931520533431085">"Désactiver le journal QXMD SD"</string>
     <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Afficher le carnet d\'adresses de la carte SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Afficher les numéros autorisés"</string>
     <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Afficher les numéros de service"</string>
     <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Récupérer la liste PDP"</string>
-    <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Activer la connexion des données"</string>
-    <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Désactiver la connexion des données"</string>
-    <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Activer les données au démarrage"</string>
-    <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Désactiver les données lors du démarrage"</string>
     <string name="radioInfo_service_in" msgid="1915416319177520020">"Service en cours"</string>
     <string name="radioInfo_service_out" msgid="5238736759641916278">"Hors-service"</string>
     <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Appels d\'urgence uniquement"</string>
@@ -170,12 +164,13 @@
     <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Adr. IP ping :"</string>
     <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Nom de l\'hôte du ping (www.google.com) :"</string>
     <string name="radio_info_http_client_test" msgid="5733604021077701555">"Test du client HTTP :"</string>
-    <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Activer/désactiver le cryptage"</string>
     <string name="ping_test_label" msgid="7255376471490860631">"Effectuer un test de ping"</string>
     <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC :"</string>
     <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Mettre à jour"</string>
     <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Actualiser"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Activer le contrôle DNS"</string>
+    <!-- no translation found for oem_radio_info_label (6163141792477958941) -->
+    <skip />
     <string name="band_mode_title" msgid="954174198903776205">"Définir la bande GSM/UMTS"</string>
     <string name="band_mode_loading" msgid="548764766363847336">"Chargement de la liste de bandes..."</string>
     <string name="band_mode_set" msgid="5730560180249458484">"Définir"</string>
@@ -499,6 +494,12 @@
     <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>
+    <!-- no translation found for sd_insert_summary (2048640010381803841) -->
+    <skip />
+    <!-- no translation found for sd_mount (5940523765187704135) -->
+    <skip />
+    <!-- no translation found for sd_mount_summary (4936591681679097699) -->
+    <skip />
     <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_unavailable" msgid="8580107589533213904">"Non disponible"</string>
@@ -627,7 +628,8 @@
     <string name="applications_settings_summary" msgid="2714215108369119717">"Gérer les applications, configurer des raccourcis de lancement rapide"</string>
     <string name="applications_settings_header" msgid="6018266337275422250">"Paramètres des applications"</string>
     <string name="install_applications" msgid="4872012136210802181">"Sources inconnues"</string>
-    <string name="install_unknown_applications" msgid="4657036956866203596">"Autoriser l\'installation d\'applications ne provenant pas d\'Android Market"</string>
+    <!-- no translation found for install_unknown_applications (6612824788917283662) -->
+    <skip />
     <string name="install_all_warning" msgid="1923717607319933741">"Votre téléphone et vos données personnelles sont très vulnérables face à des applications provenant de sources inconnues. Vous acceptez d\'être le seul responsable de tout dommage causé à votre téléphone ou de toute perte de données pouvant découler de l\'utilisation de telles applications."</string>
     <string name="application_info_label" msgid="1150486628158409543">"Informations sur l\'application"</string>
     <string name="storage_label" msgid="8700867073480107253">"Mémoire"</string>
@@ -790,6 +792,10 @@
     <string name="no_accessibility_services_summary" msgid="694578333333808159">"Aucun service d\'accessibilité installé"</string>
     <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Ce service d\'accessibilité est susceptible de recueillir tout le texte que vous saisissez, y compris les données personnelles et les numéros de cartes de crédit, mais pas les mots de passe. Il est également possible qu\'il enregistre vos interactions avec l\'interface utilisateur. Il provient de l\'application <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Utiliser ce service d\'accessibilité ?"</string>
     <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Désactiver les services d\'accessibilité ?"</string>
+    <!-- no translation found for accessibility_service_no_apps_title (898893674114288531) -->
+    <skip />
+    <!-- no translation found for accessibility_service_no_apps_message (2450056749545404807) -->
+    <skip />
     <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>
@@ -854,6 +860,10 @@
     <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Tjrs utiliser mes param."</string>
     <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Les param. par défaut ci-dessous remplacent les param. de l\'application"</string>
     <string name="tts_default_settings_section" msgid="5787915620218907443">"Paramètres par défaut"</string>
+    <!-- no translation found for tts_default_synth_title (29467896463371992) -->
+    <skip />
+    <!-- no translation found for tts_default_synth_summary (6482936537135251690) -->
+    <skip />
     <string name="tts_default_rate_title" msgid="6030550998379310088">"Cadence"</string>
     <string name="tts_default_rate_summary" msgid="4061815292287182801">"Vitesse à laquelle le texte est énoncé"</string>
     <string name="tts_default_pitch_title" msgid="6135942113172488671">"Ton"</string>
@@ -870,7 +880,6 @@
     <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>
-    <string name="credential_installer_activity_title" msgid="7600661521831762521">"Programme d\'installation des identifiants"</string>
     <string name="vpn_settings_activity_title" msgid="7276864950701612579">"Paramètres de VPN"</string>
     <string name="vpn_connect_to" msgid="2541409082892684362">"Connexion à \"<xliff:g id="NAME">%s</xliff:g>\""</string>
     <string name="vpn_username_colon" msgid="7854930370861306247">"Nom d\'utilisateur :"</string>
@@ -975,6 +984,26 @@
     <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>
+    <!-- no translation found for encrypted_fs_category (1841367653663913956) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable (3884033081603327729) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_summary (5635188119509076089) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_dialog (919487211207214266) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_dialog (6960413613985682501) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_button (8453841319751433751) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_button (8468354944060220496) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_button (4785921255266305799) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_confirm (853572431153803557) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_alert_dialog_title (583462447886934755) -->
+    <skip />
     <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>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 6f6c192..31f26c4 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -20,16 +20,10 @@
     <string name="device_info_default" msgid="7847265875578739287">"Sconosciuto"</string>
     <string name="turn_on_radio" msgid="8706561489788373676">"Attiva segnale cellulare"</string>
     <string name="turn_off_radio" msgid="1820294552893884115">"Disattiva segnale cellulare"</string>
-    <string name="turn_on_qxdm" msgid="634471960429852506">"Attiva log SD QXDM"</string>
-    <string name="turn_off_qxdm" msgid="5719931520533431085">"Disattiva log SD QXDM"</string>
     <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Visualizza rubrica SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Visualizza numeri selezione fissa"</string>
     <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Visualizza numeri dell\'elenco dei numeri di servizio"</string>
     <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Ottieni elenco PDP"</string>
-    <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Attiva connessione dati"</string>
-    <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Disattiva connessione dati"</string>
-    <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Attiva dati all\'avvio"</string>
-    <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Disattiva dati all\'avvio"</string>
     <string name="radioInfo_service_in" msgid="1915416319177520020">"In servizio"</string>
     <string name="radioInfo_service_out" msgid="5238736759641916278">"Fuori servizio"</string>
     <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Solo chiamate di emergenza"</string>
@@ -170,12 +164,13 @@
     <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Indir. IP ping:"</string>
     <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Nome host ping (www.google.com):"</string>
     <string name="radio_info_http_client_test" msgid="5733604021077701555">"Test client HTTP:"</string>
-    <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Attiva/disattiva cifratura"</string>
     <string name="ping_test_label" msgid="7255376471490860631">"Esegui test ping"</string>
     <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string>
     <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Aggiorna"</string>
     <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Aggiorna"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Attiva o disattiva verifica DNS"</string>
+    <!-- no translation found for oem_radio_info_label (6163141792477958941) -->
+    <skip />
     <string name="band_mode_title" msgid="954174198903776205">"Imposta banda GSM/UMTS"</string>
     <string name="band_mode_loading" msgid="548764766363847336">"Caricamento lista bande..."</string>
     <string name="band_mode_set" msgid="5730560180249458484">"Imposta"</string>
@@ -499,6 +494,12 @@
     <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>
+    <!-- no translation found for sd_insert_summary (2048640010381803841) -->
+    <skip />
+    <!-- no translation found for sd_mount (5940523765187704135) -->
+    <skip />
+    <!-- no translation found for sd_mount_summary (4936591681679097699) -->
+    <skip />
     <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_unavailable" msgid="8580107589533213904">"Non disponibile"</string>
@@ -627,7 +628,8 @@
     <string name="applications_settings_summary" msgid="2714215108369119717">"Gestisci le applicazioni, imposta le scorciatoie di avvio rapido"</string>
     <string name="applications_settings_header" msgid="6018266337275422250">"Impostazioni applicazione"</string>
     <string name="install_applications" msgid="4872012136210802181">"Origini sconosciute"</string>
-    <string name="install_unknown_applications" msgid="4657036956866203596">"Consenti l\'installazione di applicazioni non presenti in Market"</string>
+    <!-- no translation found for install_unknown_applications (6612824788917283662) -->
+    <skip />
     <string name="install_all_warning" msgid="1923717607319933741">"Il telefono e i dati personali sono più vulnerabili agli attacchi da parte di applicazioni\n di origini sconosciute. L\'utente accetta di essere il solo responsabile degli eventuali\n danni al telefono o della perdita dei dati che potrebbero derivare dall\'utilizzo di\n queste applicazioni."</string>
     <string name="application_info_label" msgid="1150486628158409543">"Info applicazione"</string>
     <string name="storage_label" msgid="8700867073480107253">"Archiviazione"</string>
@@ -790,6 +792,10 @@
     <string name="no_accessibility_services_summary" msgid="694578333333808159">"Nessun servizio di accesso facilitato installato."</string>
     <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Questo servizio di accesso facilitato potrebbe riuscire a raccogliere tutto il testo digitato, compresi i numeri di carte di credito ma eccetto le password. Potrebbe anche registrare le tue interazioni con l\'interfaccia utente. Deriva dall\'applicazione <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Utilizzare questo servizio di accesso facilitato?"</string>
     <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Disattivare accesso facilitato?"</string>
+    <!-- no translation found for accessibility_service_no_apps_title (898893674114288531) -->
+    <skip />
+    <!-- no translation found for accessibility_service_no_apps_message (2450056749545404807) -->
+    <skip />
     <string name="power_usage_summary_title" msgid="5180282911164282324">"Utilizzo batteria"</string>
     <string name="power_usage_summary" msgid="7237084831082848168">"Consumo batteria"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Utilizzo batteria dallo scollegamento"</string>
@@ -854,6 +860,10 @@
     <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Usa sempre mie imp."</string>
     <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Le impostazioni predefinite hanno priorità sul quelle delle applicazioni"</string>
     <string name="tts_default_settings_section" msgid="5787915620218907443">"Impostazioni predefinite"</string>
+    <!-- no translation found for tts_default_synth_title (29467896463371992) -->
+    <skip />
+    <!-- no translation found for tts_default_synth_summary (6482936537135251690) -->
+    <skip />
     <string name="tts_default_rate_title" msgid="6030550998379310088">"Velocità voce"</string>
     <string name="tts_default_rate_summary" msgid="4061815292287182801">"Velocità di pronuncia del testo"</string>
     <string name="tts_default_pitch_title" msgid="6135942113172488671">"Tono"</string>
@@ -870,7 +880,6 @@
     <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>
-    <string name="credential_installer_activity_title" msgid="7600661521831762521">"Programma di installazione credenziali"</string>
     <string name="vpn_settings_activity_title" msgid="7276864950701612579">"Impostazioni VPN"</string>
     <string name="vpn_connect_to" msgid="2541409082892684362">"Connessione a <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="vpn_username_colon" msgid="7854930370861306247">"Nome utente:"</string>
@@ -975,6 +984,26 @@
     <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>
+    <!-- no translation found for encrypted_fs_category (1841367653663913956) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable (3884033081603327729) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_summary (5635188119509076089) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_dialog (919487211207214266) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_dialog (6960413613985682501) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_button (8453841319751433751) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_button (8468354944060220496) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_button (4785921255266305799) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_confirm (853572431153803557) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_alert_dialog_title (583462447886934755) -->
+    <skip />
     <string name="emergency_tone_title" msgid="1055954530111587114">"Tono chiamate di 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>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index c956b9a..058eaee 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -20,16 +20,10 @@
     <string name="device_info_default" msgid="7847265875578739287">"不明"</string>
     <string name="turn_on_radio" msgid="8706561489788373676">"無線通信をオン"</string>
     <string name="turn_off_radio" msgid="1820294552893884115">"無線通信をオフ"</string>
-    <string name="turn_on_qxdm" msgid="634471960429852506">"QXDM SDログを有効にする"</string>
-    <string name="turn_off_qxdm" msgid="5719931520533431085">"QXDM SDログを無効にする"</string>
     <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"SIMのアドレス帳を表示"</string>
     <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"発信番号制限を表示"</string>
     <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"サービス電話番号を表示"</string>
     <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"PDPリストを取得"</string>
-    <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"データ接続を有効にする"</string>
-    <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"データ接続を無効にする"</string>
-    <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"起動時にデータを有効にする"</string>
-    <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"起動時にデータを無効にする"</string>
     <string name="radioInfo_service_in" msgid="1915416319177520020">"使用中"</string>
     <string name="radioInfo_service_out" msgid="5238736759641916278">"休止中または使用不可"</string>
     <string name="radioInfo_service_emergency" msgid="2485604591272668370">"緊急通報のみ"</string>
@@ -170,12 +164,13 @@
     <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"IPアドレスのPing:"</string>
     <string name="radio_info_ping_hostname" msgid="3054888474808217853">"ホスト名 (www.google.co.jp) のPing:"</string>
     <string name="radio_info_http_client_test" msgid="5733604021077701555">"HTTPクライアントテスト:"</string>
-    <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"暗号化の切り替え"</string>
     <string name="ping_test_label" msgid="7255376471490860631">"pingテストの実行"</string>
     <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string>
     <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"更新"</string>
     <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"更新"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"DNSチェックを切り替え"</string>
+    <!-- no translation found for oem_radio_info_label (6163141792477958941) -->
+    <skip />
     <string name="band_mode_title" msgid="954174198903776205">"GSM/UMTSバンドの設定"</string>
     <string name="band_mode_loading" msgid="548764766363847336">"バンドリストを読み込み中..."</string>
     <string name="band_mode_set" msgid="5730560180249458484">"設定"</string>
@@ -499,6 +494,12 @@
     <string name="memory_size" msgid="6629067715017232195">"合計容量"</string>
     <string name="sd_eject" msgid="6915293408836853020">"SDカードのマウント解除"</string>
     <string name="sd_eject_summary" msgid="3315557796211542962">"SDカードを安全に取り外すためマウントを解除する"</string>
+    <!-- no translation found for sd_insert_summary (2048640010381803841) -->
+    <skip />
+    <!-- no translation found for sd_mount (5940523765187704135) -->
+    <skip />
+    <!-- no translation found for sd_mount_summary (4936591681679097699) -->
+    <skip />
     <string name="sd_format" msgid="5448738337382712203">"SDカードをフォーマット"</string>
     <string name="sd_format_summary" msgid="6616491027883134004">"SDカードをフォーマット（消去）する"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"使用不可"</string>
@@ -627,7 +628,8 @@
     <string name="applications_settings_summary" msgid="2714215108369119717">"アプリケーションの管理やクイック起動ショートカットの設定"</string>
     <string name="applications_settings_header" msgid="6018266337275422250">"アプリケーション設定"</string>
     <string name="install_applications" msgid="4872012136210802181">"提供元不明のアプリ"</string>
-    <string name="install_unknown_applications" msgid="4657036956866203596">"サードパーティアプリケーションのインストールを許可する"</string>
+    <!-- no translation found for install_unknown_applications (6612824788917283662) -->
+    <skip />
     <string name="install_all_warning" msgid="1923717607319933741">"提供元不明のアプリケーションから携帯電話や個人情報データが攻撃を受ける可能性が高くなります。このようなアプリケーションの使用により生じうる携帯電話への損害やデータの損失について、お客様がすべての責任を負うことに同意するものとします。"</string>
     <string name="application_info_label" msgid="1150486628158409543">"アプリケーション情報"</string>
     <string name="storage_label" msgid="8700867073480107253">"メモリ"</string>
@@ -790,6 +792,10 @@
     <string name="no_accessibility_services_summary" msgid="694578333333808159">"ユーザー補助サービスがインストールされていません。"</string>
     <string name="accessibility_service_security_warning" msgid="4066258132331302670">"このユーザー補助サービスを選択すると、入力する全テキストの収集をアプリケーション（<xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>）に許可することになります。これにはクレジットカード番号などの個人情報（パスワードを除く）も含まれます。また、ユーザーインターフェースでのやり取りも記録されます。このユーザー補助サービスを使用しますか？"</string>
     <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"ユーザー補助サービスを無効にしますか？"</string>
+    <!-- no translation found for accessibility_service_no_apps_title (898893674114288531) -->
+    <skip />
+    <!-- no translation found for accessibility_service_no_apps_message (2450056749545404807) -->
+    <skip />
     <string name="power_usage_summary_title" msgid="5180282911164282324">"電池使用量"</string>
     <string name="power_usage_summary" msgid="7237084831082848168">"電池を使用している操作"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"電池使用時間"</string>
@@ -854,6 +860,10 @@
     <string name="use_default_tts_settings_title" msgid="1577063839539732930">"常に自分の設定を使用する"</string>
     <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"アプリケーション設定を下のデフォルト設定で上書きする"</string>
     <string name="tts_default_settings_section" msgid="5787915620218907443">"デフォルト設定"</string>
+    <!-- no translation found for tts_default_synth_title (29467896463371992) -->
+    <skip />
+    <!-- no translation found for tts_default_synth_summary (6482936537135251690) -->
+    <skip />
     <string name="tts_default_rate_title" msgid="6030550998379310088">"音声の速度"</string>
     <string name="tts_default_rate_summary" msgid="4061815292287182801">"テキストの読み上げ速度"</string>
     <string name="tts_default_pitch_title" msgid="6135942113172488671">"音の高さ"</string>
@@ -870,7 +880,6 @@
     <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>
-    <string name="credential_installer_activity_title" msgid="7600661521831762521">"認証情報インストーラ"</string>
     <string name="vpn_settings_activity_title" msgid="7276864950701612579">"VPN設定"</string>
     <string name="vpn_connect_to" msgid="2541409082892684362">"<xliff:g id="NAME">%s</xliff:g>に接続"</string>
     <string name="vpn_username_colon" msgid="7854930370861306247">"ユーザー名:"</string>
@@ -975,6 +984,26 @@
     <string name="credentials_erased" msgid="7700309135582200849">"認証情報ストレージが消去されました。"</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"認証情報ストレージが有効になりました。"</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"認証情報ストレージが無効になりました。"</string>
+    <!-- no translation found for encrypted_fs_category (1841367653663913956) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable (3884033081603327729) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_summary (5635188119509076089) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_dialog (919487211207214266) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_dialog (6960413613985682501) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_button (8453841319751433751) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_button (8468354944060220496) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_button (4785921255266305799) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_confirm (853572431153803557) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_alert_dialog_title (583462447886934755) -->
+    <skip />
     <string name="emergency_tone_title" msgid="1055954530111587114">"緊急時の音"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"緊急通報時の動作を設定します"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"プライバシー"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index a2f7e65..abca2cb 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -20,16 +20,10 @@
     <string name="device_info_default" msgid="7847265875578739287">"알 수 없음"</string>
     <string name="turn_on_radio" msgid="8706561489788373676">"무선 켜기"</string>
     <string name="turn_off_radio" msgid="1820294552893884115">"무선 끄기"</string>
-    <string name="turn_on_qxdm" msgid="634471960429852506">"QXDM SD 로그 사용"</string>
-    <string name="turn_off_qxdm" msgid="5719931520533431085">"QXDM SD 로그 사용 안함"</string>
     <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"SIM 주소록 보기"</string>
     <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"발신 허용 번호 보기"</string>
     <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"SDN(Service Dialing Numbers) 보기"</string>
     <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"PDP 목록 가져오기"</string>
-    <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"데이터 연결 사용"</string>
-    <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"데이터 연결 사용 안함"</string>
-    <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"부팅할 때 데이터 사용"</string>
-    <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"부팅할 때 데이터 사용 중지"</string>
     <string name="radioInfo_service_in" msgid="1915416319177520020">"서비스 상태"</string>
     <string name="radioInfo_service_out" msgid="5238736759641916278">"서비스 지역 벗어남"</string>
     <string name="radioInfo_service_emergency" msgid="2485604591272668370">"비상 전화만"</string>
@@ -170,12 +164,13 @@
     <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"IP 주소 Ping:"</string>
     <string name="radio_info_ping_hostname" msgid="3054888474808217853">"호스트이름(www.google.com) Ping:"</string>
     <string name="radio_info_http_client_test" msgid="5733604021077701555">"HTTP 클라이언트 테스트:"</string>
-    <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"암호화 선택"</string>
     <string name="ping_test_label" msgid="7255376471490860631">"Ping 테스트 실행"</string>
     <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string>
     <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"업데이트"</string>
     <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"새로고침"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"DNS 확인 선택"</string>
+    <!-- no translation found for oem_radio_info_label (6163141792477958941) -->
+    <skip />
     <string name="band_mode_title" msgid="954174198903776205">"GSM/UMTS 대역 설정"</string>
     <string name="band_mode_loading" msgid="548764766363847336">"대역 목록 로드 중..."</string>
     <string name="band_mode_set" msgid="5730560180249458484">"설정"</string>
@@ -499,6 +494,12 @@
     <string name="memory_size" msgid="6629067715017232195">"총 공간"</string>
     <string name="sd_eject" msgid="6915293408836853020">"SD 카드 마운트 해제"</string>
     <string name="sd_eject_summary" msgid="3315557796211542962">"안전 제거를 위해 SD 카드 마운트 해제"</string>
+    <!-- no translation found for sd_insert_summary (2048640010381803841) -->
+    <skip />
+    <!-- no translation found for sd_mount (5940523765187704135) -->
+    <skip />
+    <!-- no translation found for sd_mount_summary (4936591681679097699) -->
+    <skip />
     <string name="sd_format" msgid="5448738337382712203">"SD 카드 포맷"</string>
     <string name="sd_format_summary" msgid="6616491027883134004">"SD 카드 포맷(지우기)"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"사용할 수 없음"</string>
@@ -627,7 +628,8 @@
     <string name="applications_settings_summary" msgid="2714215108369119717">"응용프로그램 관리, 빠른실행 바로가기 설정"</string>
     <string name="applications_settings_header" msgid="6018266337275422250">"응용프로그램 설정"</string>
     <string name="install_applications" msgid="4872012136210802181">"알 수 없는 소스"</string>
-    <string name="install_unknown_applications" msgid="4657036956866203596">"시판되지 않은 응용프로그램 설치 허용"</string>
+    <!-- no translation found for install_unknown_applications (6612824788917283662) -->
+    <skip />
     <string name="install_all_warning" msgid="1923717607319933741">"휴대전화 및 개인 정보는 출처를 알 수 없는 응용프로그램의 공격에 더욱 취약합니다. 사용자는 이러한 응용프로그램을 사용하여 발생할 수 있는 휴대전화 손상이나 데이터 손실에 대해 사용자가 단독으로 책임이 있음을 동의합니다."</string>
     <string name="application_info_label" msgid="1150486628158409543">"응용프로그램 정보"</string>
     <string name="storage_label" msgid="8700867073480107253">"저장공간"</string>
@@ -790,6 +792,10 @@
     <string name="no_accessibility_services_summary" msgid="694578333333808159">"설치한 접근성 서비스가 없습니다."</string>
     <string name="accessibility_service_security_warning" msgid="4066258132331302670">"접근성 서비스는 비밀번호를 제외한 개인 데이터 신용카드 번호 등과 같이 사용자가 입력한 모든 텍스트를 수집할 수 있습니다. 또한 사용자 인터페이스 상호 작용을 기록할 수도 있습니다. 이 서비스는 <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g> 응용프로그램에서 제공합니다. 접근성 서비스를 사용하시겠습니까?"</string>
     <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"접근성 서비스를 사용 중지하시겠습니까?"</string>
+    <!-- no translation found for accessibility_service_no_apps_title (898893674114288531) -->
+    <skip />
+    <!-- no translation found for accessibility_service_no_apps_message (2450056749545404807) -->
+    <skip />
     <string name="power_usage_summary_title" msgid="5180282911164282324">"배터리 사용"</string>
     <string name="power_usage_summary" msgid="7237084831082848168">"배터리를 사용한 항목"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"플러그를 뽑은 이후 배터리 전원 사용"</string>
@@ -854,6 +860,10 @@
     <string name="use_default_tts_settings_title" msgid="1577063839539732930">"항상 내 설정 사용"</string>
     <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"아래 기본 설정으로 응용프로그램 설정 덮어쓰기"</string>
     <string name="tts_default_settings_section" msgid="5787915620218907443">"기본 설정"</string>
+    <!-- no translation found for tts_default_synth_title (29467896463371992) -->
+    <skip />
+    <!-- no translation found for tts_default_synth_summary (6482936537135251690) -->
+    <skip />
     <string name="tts_default_rate_title" msgid="6030550998379310088">"말하는 속도"</string>
     <string name="tts_default_rate_summary" msgid="4061815292287182801">"텍스트를 발음하는 속도"</string>
     <string name="tts_default_pitch_title" msgid="6135942113172488671">"피치"</string>
@@ -870,7 +880,6 @@
     <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>
-    <string name="credential_installer_activity_title" msgid="7600661521831762521">"자격증명 설치 프로그램"</string>
     <string name="vpn_settings_activity_title" msgid="7276864950701612579">"VPN 설정"</string>
     <string name="vpn_connect_to" msgid="2541409082892684362">"<xliff:g id="NAME">%s</xliff:g>에 연결"</string>
     <string name="vpn_username_colon" msgid="7854930370861306247">"사용자 이름:"</string>
@@ -975,6 +984,26 @@
     <string name="credentials_erased" msgid="7700309135582200849">"자격증명 저장소가 삭제되었습니다."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"자격증명 저장소를 사용합니다."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"자격증명 저장소를 사용 중지했습니다."</string>
+    <!-- no translation found for encrypted_fs_category (1841367653663913956) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable (3884033081603327729) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_summary (5635188119509076089) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_dialog (919487211207214266) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_dialog (6960413613985682501) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_button (8453841319751433751) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_button (8468354944060220496) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_button (4785921255266305799) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_confirm (853572431153803557) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_alert_dialog_title (583462447886934755) -->
+    <skip />
     <string name="emergency_tone_title" msgid="1055954530111587114">"긴급 신호음"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"긴급 통화 중 동작 설정"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"개인정보 보호"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 0592a64..30b7e86 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -20,16 +20,10 @@
     <string name="device_info_default" msgid="7847265875578739287">"Ukjent"</string>
     <string name="turn_on_radio" msgid="8706561489788373676">"Slå på radio"</string>
     <string name="turn_off_radio" msgid="1820294552893884115">"Slå av radio"</string>
-    <string name="turn_on_qxdm" msgid="634471960429852506">"Slå på QXDM-minnekortlogg"</string>
-    <string name="turn_off_qxdm" msgid="5719931520533431085">"Slå av QXDM-minnekortlogg"</string>
     <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Se SIM-adressebok"</string>
     <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Vis faste nummer"</string>
     <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Vis tjenestenummer"</string>
     <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Hent PDP-liste"</string>
-    <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Slå på datatilkobling"</string>
-    <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Slå av datatilkobling"</string>
-    <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Slå på data ved oppstart"</string>
-    <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Slå av data ved oppstart"</string>
     <string name="radioInfo_service_in" msgid="1915416319177520020">"I serviceperiode"</string>
     <string name="radioInfo_service_out" msgid="5238736759641916278">"Ute av serviceperiode"</string>
     <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Kun nødsamtaler"</string>
@@ -170,12 +164,13 @@
     <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Ping IP-adresse:"</string>
     <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Ping vertsnavn(www.google.com):"</string>
     <string name="radio_info_http_client_test" msgid="5733604021077701555">"HTTP-klienttest:"</string>
-    <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Sål av/på kryptering"</string>
     <string name="ping_test_label" msgid="7255376471490860631">"Kjør ping-test"</string>
     <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string>
     <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Oppdater"</string>
     <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Last på nytt"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Slå av/på DNS-sjekk"</string>
+    <!-- no translation found for oem_radio_info_label (6163141792477958941) -->
+    <skip />
     <string name="band_mode_title" msgid="954174198903776205">"Velg GSM/UMTS-bånd"</string>
     <string name="band_mode_loading" msgid="548764766363847336">"Henter båndliste…"</string>
     <string name="band_mode_set" msgid="5730560180249458484">"Velg"</string>
@@ -499,6 +494,12 @@
     <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>
+    <!-- no translation found for sd_insert_summary (2048640010381803841) -->
+    <skip />
+    <!-- no translation found for sd_mount (5940523765187704135) -->
+    <skip />
+    <!-- no translation found for sd_mount_summary (4936591681679097699) -->
+    <skip />
     <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_unavailable" msgid="8580107589533213904">"Ikke tilgjengelig"</string>
@@ -627,7 +628,8 @@
     <string name="applications_settings_summary" msgid="2714215108369119717">"Installerte applikasjoner, hurtigtaster"</string>
     <string name="applications_settings_header" msgid="6018266337275422250">"Innstillinger for applikasjoner"</string>
     <string name="install_applications" msgid="4872012136210802181">"Ukjente kilder"</string>
-    <string name="install_unknown_applications" msgid="4657036956866203596">"Tillat installasjon av applikasjoner som ikke kommer fra markedet"</string>
+    <!-- no translation found for install_unknown_applications (6612824788917283662) -->
+    <skip />
     <string name="install_all_warning" msgid="1923717607319933741">"Telefonen og dine personlige data er mer sårbare mot angrep fra applikasjoner som kommer fra ukjente kilder. Du godtar at du selv er ansvarlig for enhver skade på telefonen eller tap av data som måtte oppstå fra bruk av slike applikasjoner."</string>
     <string name="application_info_label" msgid="1150486628158409543">"Applikasjonsinformasjon"</string>
     <string name="storage_label" msgid="8700867073480107253">"Lagring"</string>
@@ -790,6 +792,10 @@
     <string name="no_accessibility_services_summary" msgid="694578333333808159">"Ingen tilgjengelighetstjenester er installert."</string>
     <string name="accessibility_service_security_warning" msgid="4066258132331302670">"<xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>Denne tilgjengelighetstjenesten har tilgang til all tekst du skriver, inkludert personlig data som passord og kredittkortnummer. Den kan også loggføre alt som skjer i brukergrensesnittet. Det kommer fra programmet. Aktivere tilgjengelighetstjenesten?"</string>
     <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Slå av tilgjengelighetsstøtten?"</string>
+    <!-- no translation found for accessibility_service_no_apps_title (898893674114288531) -->
+    <skip />
+    <!-- no translation found for accessibility_service_no_apps_message (2450056749545404807) -->
+    <skip />
     <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>
@@ -854,6 +860,10 @@
     <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Overstyr innstillinger"</string>
     <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Standardvalgene under overstyrer applikasjonsinnstillinger"</string>
     <string name="tts_default_settings_section" msgid="5787915620218907443">"Standardvalg"</string>
+    <!-- no translation found for tts_default_synth_title (29467896463371992) -->
+    <skip />
+    <!-- no translation found for tts_default_synth_summary (6482936537135251690) -->
+    <skip />
     <string name="tts_default_rate_title" msgid="6030550998379310088">"Talehastighet"</string>
     <string name="tts_default_rate_summary" msgid="4061815292287182801">"Hvor raskt teksten leses"</string>
     <string name="tts_default_pitch_title" msgid="6135942113172488671">"Stemmeleie"</string>
@@ -870,7 +880,6 @@
     <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>
-    <string name="credential_installer_activity_title" msgid="7600661521831762521">"Akkreditivinstallasjon"</string>
     <string name="vpn_settings_activity_title" msgid="7276864950701612579">"VPN-innstillinger"</string>
     <string name="vpn_connect_to" msgid="2541409082892684362">"Koble til <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="vpn_username_colon" msgid="7854930370861306247">"Brukernavn:"</string>
@@ -975,6 +984,26 @@
     <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>
+    <!-- no translation found for encrypted_fs_category (1841367653663913956) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable (3884033081603327729) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_summary (5635188119509076089) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_dialog (919487211207214266) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_dialog (6960413613985682501) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_button (8453841319751433751) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_button (8468354944060220496) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_button (4785921255266305799) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_confirm (853572431153803557) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_alert_dialog_title (583462447886934755) -->
+    <skip />
     <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>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 6f4f177..3710ef4 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -20,16 +20,10 @@
     <string name="device_info_default" msgid="7847265875578739287">"Onbekend"</string>
     <string name="turn_on_radio" msgid="8706561489788373676">"Radio inschakelen"</string>
     <string name="turn_off_radio" msgid="1820294552893884115">"Radio uitschakelen"</string>
-    <string name="turn_on_qxdm" msgid="634471960429852506">"QXDM SD-logboek inschakelen"</string>
-    <string name="turn_off_qxdm" msgid="5719931520533431085">"QXDM SD-logboek uitschakelen"</string>
     <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"SIM-adresboek weergeven"</string>
     <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Vaste nummers weergeven"</string>
     <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Servicenummers weergeven"</string>
     <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"PDP-lijst ophalen"</string>
-    <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Gegevensverbinding inschakelen"</string>
-    <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Gegevensverbinding uitschakelen"</string>
-    <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Gegevens inschakelen bij opstarten"</string>
-    <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Gegevens uitschakelen bij opstarten"</string>
     <string name="radioInfo_service_in" msgid="1915416319177520020">"In gebruik"</string>
     <string name="radioInfo_service_out" msgid="5238736759641916278">"Niet in gebruik"</string>
     <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Alleen noodoproepen"</string>
@@ -170,12 +164,13 @@
     <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"IP-adres pingen:"</string>
     <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Hostnaam pingen (www.google.com):"</string>
     <string name="radio_info_http_client_test" msgid="5733604021077701555">"HTTP-client testen:"</string>
-    <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Codering in-/uitschakelen"</string>
     <string name="ping_test_label" msgid="7255376471490860631">"Pingtest uitvoeren"</string>
     <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string>
     <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Bijwerken"</string>
     <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Vernieuwen"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"DNS-controle in-/uitschakelen"</string>
+    <!-- no translation found for oem_radio_info_label (6163141792477958941) -->
+    <skip />
     <string name="band_mode_title" msgid="954174198903776205">"GSM/UMTS-band instellen"</string>
     <string name="band_mode_loading" msgid="548764766363847336">"Bandlijst laden..."</string>
     <string name="band_mode_set" msgid="5730560180249458484">"Instellen"</string>
@@ -499,6 +494,12 @@
     <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>
+    <!-- no translation found for sd_insert_summary (2048640010381803841) -->
+    <skip />
+    <!-- no translation found for sd_mount (5940523765187704135) -->
+    <skip />
+    <!-- no translation found for sd_mount_summary (4936591681679097699) -->
+    <skip />
     <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_unavailable" msgid="8580107589533213904">"Niet beschikbaar"</string>
@@ -627,7 +628,8 @@
     <string name="applications_settings_summary" msgid="2714215108369119717">"Toepassingen beheren, sneltoetsen voor snelstarten instellen"</string>
     <string name="applications_settings_header" msgid="6018266337275422250">"Toepassingsinstellingen"</string>
     <string name="install_applications" msgid="4872012136210802181">"Onbekende bronnen"</string>
-    <string name="install_unknown_applications" msgid="4657036956866203596">"Installatie van andere toepassingen dan Market-toepassingen toestaan"</string>
+    <!-- no translation found for install_unknown_applications (6612824788917283662) -->
+    <skip />
     <string name="install_all_warning" msgid="1923717607319933741">"Uw telefoon en persoonlijke gegevens zijn gevoeliger voor aanvallen door toepassingen van onbekende bronnen. U gaat ermee akkoord dat u alleen verantwoordelijk bent voor enige schade aan uw telefoon of verlies van gegevens die voortkomen uit het gebruik van deze toepassingen."</string>
     <string name="application_info_label" msgid="1150486628158409543">"Toepassingsinfo"</string>
     <string name="storage_label" msgid="8700867073480107253">"Opslagruimte"</string>
@@ -790,6 +792,10 @@
     <string name="no_accessibility_services_summary" msgid="694578333333808159">"Geen geïnstalleerde toegankelijkheidsservices."</string>
     <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Deze toegankelijkheidsservice verzamelt mogelijk alle tekst die u typt, inclusief persoonlijke gegevens en creditcardnummers, maar geen wachtwoorden. De service kan ook uw interacties met de gebruikersinterface vastleggen. De service is afkomstig uit de toepassing <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Deze toegankelijkheidsservice inschakelen?"</string>
     <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Toegankelijkheid uitschakelen?"</string>
+    <!-- no translation found for accessibility_service_no_apps_title (898893674114288531) -->
+    <skip />
+    <!-- no translation found for accessibility_service_no_apps_message (2450056749545404807) -->
+    <skip />
     <string name="power_usage_summary_title" msgid="5180282911164282324">"Accugebruik"</string>
     <string name="power_usage_summary" msgid="7237084831082848168">"Waarvoor de accu is gebruikt"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Accugebruik sinds losgekoppeld"</string>
@@ -854,6 +860,10 @@
     <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Altijd mijn instellingen gebruiken"</string>
     <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Onderstaande standaardinstellingen overschrijven toepassingsinstellingen"</string>
     <string name="tts_default_settings_section" msgid="5787915620218907443">"Standaardinstellingen"</string>
+    <!-- no translation found for tts_default_synth_title (29467896463371992) -->
+    <skip />
+    <!-- no translation found for tts_default_synth_summary (6482936537135251690) -->
+    <skip />
     <string name="tts_default_rate_title" msgid="6030550998379310088">"Spraaksnelheid"</string>
     <string name="tts_default_rate_summary" msgid="4061815292287182801">"Snelheid waarmee de tekst wordt gesproken"</string>
     <string name="tts_default_pitch_title" msgid="6135942113172488671">"Hoogte"</string>
@@ -870,7 +880,6 @@
     <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>
-    <string name="credential_installer_activity_title" msgid="7600661521831762521">"Installatieprogramma voor referenties"</string>
     <string name="vpn_settings_activity_title" msgid="7276864950701612579">"VPN-instellingen"</string>
     <string name="vpn_connect_to" msgid="2541409082892684362">"Verbinding maken met <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="vpn_username_colon" msgid="7854930370861306247">"Gebruikersnaam:"</string>
@@ -975,6 +984,26 @@
     <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>
+    <!-- no translation found for encrypted_fs_category (1841367653663913956) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable (3884033081603327729) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_summary (5635188119509076089) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_dialog (919487211207214266) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_dialog (6960413613985682501) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_button (8453841319751433751) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_button (8468354944060220496) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_button (4785921255266305799) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_confirm (853572431153803557) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_alert_dialog_title (583462447886934755) -->
+    <skip />
     <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>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index c7c8897..29c3d22 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -20,16 +20,10 @@
     <string name="device_info_default" msgid="7847265875578739287">"Nieznany"</string>
     <string name="turn_on_radio" msgid="8706561489788373676">"Włącz radio"</string>
     <string name="turn_off_radio" msgid="1820294552893884115">"Wyłącz radio"</string>
-    <string name="turn_on_qxdm" msgid="634471960429852506">"Włącz dziennik QXDM dla karty SD"</string>
-    <string name="turn_off_qxdm" msgid="5719931520533431085">"Wyłącz dziennik QXDM dla karty SD"</string>
     <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Wyświetl książkę adresową na karcie SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Wyświetl ustalone numery"</string>
     <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Wyświetl numery usług"</string>
     <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Pobierz listę PDP"</string>
-    <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Włącz połączenie danych"</string>
-    <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Wyłącz połączenie danych"</string>
-    <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Włącz dane podczas uruchamianiu"</string>
-    <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Wyłącz dane przy uruchamianiu"</string>
     <string name="radioInfo_service_in" msgid="1915416319177520020">"Działa"</string>
     <string name="radioInfo_service_out" msgid="5238736759641916278">"Nie działa"</string>
     <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Tylko połączenia alarmowe"</string>
@@ -170,12 +164,13 @@
     <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Wyślij polecenie ping adresu IP:"</string>
     <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Nazwa hosta dla operacji ping (www.google.pl):"</string>
     <string name="radio_info_http_client_test" msgid="5733604021077701555">"Test klienta HTTP:"</string>
-    <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Przełącz szyfrowanie"</string>
     <string name="ping_test_label" msgid="7255376471490860631">"Przeprowadź test ping"</string>
     <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string>
     <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Aktualizuj"</string>
     <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Odśwież"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Przełącz sprawdzanie DNS"</string>
+    <!-- no translation found for oem_radio_info_label (6163141792477958941) -->
+    <skip />
     <string name="band_mode_title" msgid="954174198903776205">"Ustaw pasmo GSM/UMTS"</string>
     <string name="band_mode_loading" msgid="548764766363847336">"Ładowanie listy pasm..."</string>
     <string name="band_mode_set" msgid="5730560180249458484">"Ustaw"</string>
@@ -499,6 +494,12 @@
     <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>
+    <!-- no translation found for sd_insert_summary (2048640010381803841) -->
+    <skip />
+    <!-- no translation found for sd_mount (5940523765187704135) -->
+    <skip />
+    <!-- no translation found for sd_mount_summary (4936591681679097699) -->
+    <skip />
     <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_unavailable" msgid="8580107589533213904">"Niedostępna"</string>
@@ -627,7 +628,8 @@
     <string name="applications_settings_summary" msgid="2714215108369119717">"Zarządzaj aplikacjami, skonfiguruj skróty szybkiego uruchamiania"</string>
     <string name="applications_settings_header" msgid="6018266337275422250">"Ustawienia aplikacji"</string>
     <string name="install_applications" msgid="4872012136210802181">"Nieznane źródła"</string>
-    <string name="install_unknown_applications" msgid="4657036956866203596">"Pozwól na instalowanie aplikacji spoza Android Market"</string>
+    <!-- no translation found for install_unknown_applications (6612824788917283662) -->
+    <skip />
     <string name="install_all_warning" msgid="1923717607319933741">"Telefon i dane osobiste są bardziej narażone na atak za pomocą aplikacji z nieznanych źródeł. Zgadzasz się ponieść pełną odpowiedzialność za wszelkie uszkodzenia telefonu oraz utratę danych, które mogą wyniknąć ze stosowania tych aplikacji."</string>
     <string name="application_info_label" msgid="1150486628158409543">"Informacje o aplikacji"</string>
     <string name="storage_label" msgid="8700867073480107253">"Pamięć"</string>
@@ -790,6 +792,10 @@
     <string name="no_accessibility_services_summary" msgid="694578333333808159">"Brak zainstalowanych usług ułatwień dostępu."</string>
     <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Ta usługa ułatwień dostępu może gromadzić cały wpisywany tekst, w tym dane osobiste w postaci numerów kart kredytowych, ale z wyłączeniem haseł. Może również zapisywać w dzienniku działania w interfejsie użytkownika. Usługa pochodzi z aplikacji <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Czy skorzystać z tej usługi ułatwień dostępu?"</string>
     <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Czy wyłączyć ułatwienia dostępu?"</string>
+    <!-- no translation found for accessibility_service_no_apps_title (898893674114288531) -->
+    <skip />
+    <!-- no translation found for accessibility_service_no_apps_message (2450056749545404807) -->
+    <skip />
     <string name="power_usage_summary_title" msgid="5180282911164282324">"Użycie baterii"</string>
     <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>
@@ -854,6 +860,10 @@
     <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Zawsze używaj moich ustawień"</string>
     <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Poniższe ustawienia domyślne zastępują ustawienia aplikacji"</string>
     <string name="tts_default_settings_section" msgid="5787915620218907443">"Ustawienia domyślne"</string>
+    <!-- no translation found for tts_default_synth_title (29467896463371992) -->
+    <skip />
+    <!-- no translation found for tts_default_synth_summary (6482936537135251690) -->
+    <skip />
     <string name="tts_default_rate_title" msgid="6030550998379310088">"Szybkość mowy"</string>
     <string name="tts_default_rate_summary" msgid="4061815292287182801">"Szybkość czytania tekstu"</string>
     <string name="tts_default_pitch_title" msgid="6135942113172488671">"Tony"</string>
@@ -870,7 +880,6 @@
     <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>
-    <string name="credential_installer_activity_title" msgid="7600661521831762521">"Program instalacyjny danych logowania"</string>
     <string name="vpn_settings_activity_title" msgid="7276864950701612579">"Ustawienia sieci VPN"</string>
     <string name="vpn_connect_to" msgid="2541409082892684362">"Połącz z siecią <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="vpn_username_colon" msgid="7854930370861306247">"Nazwa użytkownika:"</string>
@@ -975,6 +984,26 @@
     <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>
+    <!-- no translation found for encrypted_fs_category (1841367653663913956) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable (3884033081603327729) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_summary (5635188119509076089) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_dialog (919487211207214266) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_dialog (6960413613985682501) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_button (8453841319751433751) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_button (8468354944060220496) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_button (4785921255266305799) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_confirm (853572431153803557) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_alert_dialog_title (583462447886934755) -->
+    <skip />
     <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>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 14bc03c..24aef17 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -20,16 +20,10 @@
     <string name="device_info_default" msgid="7847265875578739287">"Desconhecido"</string>
     <string name="turn_on_radio" msgid="8706561489788373676">"Ligar rádio"</string>
     <string name="turn_off_radio" msgid="1820294552893884115">"Desligar rádio"</string>
-    <string name="turn_on_qxdm" msgid="634471960429852506">"Activar registo QXDM do SD"</string>
-    <string name="turn_off_qxdm" msgid="5719931520533431085">"Desactivar registo QXDM do SD"</string>
     <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Ver livro de endereços do SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Ver números de marcação fixos"</string>
     <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Ver números de marcação de serviços"</string>
     <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Obter lista de PDP"</string>
-    <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Activar ligação de dados"</string>
-    <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Desactivar ligação de dados"</string>
-    <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Activar dados no arranque"</string>
-    <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Desactivar dados no arranque"</string>
     <string name="radioInfo_service_in" msgid="1915416319177520020">"Em serviço"</string>
     <string name="radioInfo_service_out" msgid="5238736759641916278">"Fora de serviço"</string>
     <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Apenas chamadas de emergência"</string>
@@ -170,12 +164,13 @@
     <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Ping EnderIp:"</string>
     <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Efectuar ping de nome de anfitrião (www.google.com):"</string>
     <string name="radio_info_http_client_test" msgid="5733604021077701555">"Teste de cliente HTTP:"</string>
-    <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Comutar encriptação"</string>
     <string name="ping_test_label" msgid="7255376471490860631">"Executar teste de ping"</string>
     <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string>
     <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Actualizar"</string>
     <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Actualizar"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Comutar verificação de DNS"</string>
+    <!-- no translation found for oem_radio_info_label (6163141792477958941) -->
+    <skip />
     <string name="band_mode_title" msgid="954174198903776205">"Definir banda GSM/UMTS"</string>
     <string name="band_mode_loading" msgid="548764766363847336">"A carregar lista de bandas..."</string>
     <string name="band_mode_set" msgid="5730560180249458484">"Definir"</string>
@@ -508,6 +503,12 @@
     <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>
+    <!-- no translation found for sd_insert_summary (2048640010381803841) -->
+    <skip />
+    <!-- no translation found for sd_mount (5940523765187704135) -->
+    <skip />
+    <!-- no translation found for sd_mount_summary (4936591681679097699) -->
+    <skip />
     <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_unavailable" msgid="8580107589533213904">"Indisponível"</string>
@@ -636,7 +637,8 @@
     <string name="applications_settings_summary" msgid="2714215108369119717">"Gerir aplicações, configurar atalhos de iniciação rápida"</string>
     <string name="applications_settings_header" msgid="6018266337275422250">"Definições da aplicação"</string>
     <string name="install_applications" msgid="4872012136210802181">"Fontes desconhecidas"</string>
-    <string name="install_unknown_applications" msgid="4657036956866203596">"Permitir instalação de aplicações não Market"</string>
+    <!-- no translation found for install_unknown_applications (6612824788917283662) -->
+    <skip />
     <string name="install_all_warning" msgid="1923717607319933741">"O seu telefone e dados pessoais estão mais vulneráveis a ataques por aplicações de fontes desconhecidas. O utilizador reconhece ser o único responsável por danos no telefone ou perda de dados que possam resultar da utilização destas aplicações."</string>
     <string name="application_info_label" msgid="1150486628158409543">"Informações da aplicação"</string>
     <string name="storage_label" msgid="8700867073480107253">"Armazenamento"</string>
@@ -799,6 +801,10 @@
     <string name="no_accessibility_services_summary" msgid="694578333333808159">"Nenhum serviço de acessibilidade instalado."</string>
     <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Este serviço de acessibilidade pode captar todo o texto que escrever, incluindo dados pessoais e números de cartões de crédito, com excepção de palavras-passe. Também pode registar as interacções com a interface do utilizador. O serviço é fornecido com a aplicação <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Utilizar este serviço de acessibilidade?"</string>
     <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Desactivar acessibilidade?"</string>
+    <!-- no translation found for accessibility_service_no_apps_title (898893674114288531) -->
+    <skip />
+    <!-- no translation found for accessibility_service_no_apps_message (2450056749545404807) -->
+    <skip />
     <string name="power_usage_summary_title" msgid="5180282911164282324">"Utilização da bateria"</string>
     <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>
@@ -863,6 +869,10 @@
     <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Utilizar sempre as minhas definições"</string>
     <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"As predefinições abaixo substituem as definições da aplicação"</string>
     <string name="tts_default_settings_section" msgid="5787915620218907443">"Predefinições"</string>
+    <!-- no translation found for tts_default_synth_title (29467896463371992) -->
+    <skip />
+    <!-- no translation found for tts_default_synth_summary (6482936537135251690) -->
+    <skip />
     <string name="tts_default_rate_title" msgid="6030550998379310088">"Taxa de voz"</string>
     <string name="tts_default_rate_summary" msgid="4061815292287182801">"Velocidade a que o texto é falado"</string>
     <string name="tts_default_pitch_title" msgid="6135942113172488671">"Tonalidade"</string>
@@ -879,7 +889,6 @@
     <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>
-    <string name="credential_installer_activity_title" msgid="7600661521831762521">"Instalador de credenciais"</string>
     <string name="vpn_settings_activity_title" msgid="7276864950701612579">"Definições da VPN"</string>
     <string name="vpn_connect_to" msgid="2541409082892684362">"Ligar a <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="vpn_username_colon" msgid="7854930370861306247">"Nome de utilizador:"</string>
@@ -984,6 +993,26 @@
     <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>
+    <!-- no translation found for encrypted_fs_category (1841367653663913956) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable (3884033081603327729) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_summary (5635188119509076089) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_dialog (919487211207214266) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_dialog (6960413613985682501) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_button (8453841319751433751) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_button (8468354944060220496) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_button (4785921255266305799) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_confirm (853572431153803557) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_alert_dialog_title (583462447886934755) -->
+    <skip />
     <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>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 60b8538..827c324 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -20,16 +20,10 @@
     <string name="device_info_default" msgid="7847265875578739287">"Desconhecido"</string>
     <string name="turn_on_radio" msgid="8706561489788373676">"Ativar o rádio"</string>
     <string name="turn_off_radio" msgid="1820294552893884115">"Desativar o rádio"</string>
-    <string name="turn_on_qxdm" msgid="634471960429852506">"Ativar registro do SD QXDM"</string>
-    <string name="turn_off_qxdm" msgid="5719931520533431085">"Desativar registro do SD QXDM"</string>
     <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Visualizar o catálogo de endereços do SIM"</string>
     <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Visualizar números de chamada fixa"</string>
     <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Visualizar números de chamada de serviço"</string>
     <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Obter a lista PDP"</string>
-    <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Ativar conexão de dados"</string>
-    <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Desativar conexão de dados"</string>
-    <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Ativar dados na inicialização"</string>
-    <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Desativar dados na inicialização"</string>
     <string name="radioInfo_service_in" msgid="1915416319177520020">"Em serviço"</string>
     <string name="radioInfo_service_out" msgid="5238736759641916278">"Fora de serviço"</string>
     <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Apenas chamadas de emergência"</string>
@@ -170,12 +164,13 @@
     <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Aplicar ping em IpAddr:"</string>
     <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Aplicar ping no nome do host (www.google.com):"</string>
     <string name="radio_info_http_client_test" msgid="5733604021077701555">"Teste do Cliente HTTP:"</string>
-    <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Ativar/desativar criptografia"</string>
     <string name="ping_test_label" msgid="7255376471490860631">"Executar teste de ping"</string>
     <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string>
     <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Atualizar"</string>
     <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Atualizar"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Ativar/desativar verificação de DNS"</string>
+    <!-- no translation found for oem_radio_info_label (6163141792477958941) -->
+    <skip />
     <string name="band_mode_title" msgid="954174198903776205">"Definir frequência GSM/UMTS"</string>
     <string name="band_mode_loading" msgid="548764766363847336">"Carregando a lista de frequências…"</string>
     <string name="band_mode_set" msgid="5730560180249458484">"Definir"</string>
@@ -508,6 +503,12 @@
     <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>
+    <!-- no translation found for sd_insert_summary (2048640010381803841) -->
+    <skip />
+    <!-- no translation found for sd_mount (5940523765187704135) -->
+    <skip />
+    <!-- no translation found for sd_mount_summary (4936591681679097699) -->
+    <skip />
     <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_unavailable" msgid="8580107589533213904">"Não disponível"</string>
@@ -636,7 +637,8 @@
     <string name="applications_settings_summary" msgid="2714215108369119717">"Gerenciar aplicativos, configurar atalhos de inicialização rápida"</string>
     <string name="applications_settings_header" msgid="6018266337275422250">"Configurações de aplicativos"</string>
     <string name="install_applications" msgid="4872012136210802181">"Fontes desconhecidas"</string>
-    <string name="install_unknown_applications" msgid="4657036956866203596">"Permite a instalação de aplicativos que não são do Market"</string>
+    <!-- no translation found for install_unknown_applications (6612824788917283662) -->
+    <skip />
     <string name="install_all_warning" msgid="1923717607319933741">"Os dados do seu telefone e os dados pessoais estão mais vulneráveis a ataques de aplicativos de fontes desconhecidas. Você concorda que é o único responsável por qualquer dano causado ao seu telefone ou pela perda de dados que possa resultar do uso desses aplicativos."</string>
     <string name="application_info_label" msgid="1150486628158409543">"Informações do aplicativo"</string>
     <string name="storage_label" msgid="8700867073480107253">"Armazenamento"</string>
@@ -799,6 +801,10 @@
     <string name="no_accessibility_services_summary" msgid="694578333333808159">"Nenhum serviço de acessibilidade instalado."</string>
     <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Este serviço de acessibilidade pode coletar todo o texto que você digitar, incluindo dados pessoais e números de cartão de crédito, menos senhas. Ele também pode registrar as interações da interface do usuário. Ele é proveniente do aplicativo <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Usar este serviço de acessibilidade?"</string>
     <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Desativar acessibilidade?"</string>
+    <!-- no translation found for accessibility_service_no_apps_title (898893674114288531) -->
+    <skip />
+    <!-- no translation found for accessibility_service_no_apps_message (2450056749545404807) -->
+    <skip />
     <string name="power_usage_summary_title" msgid="5180282911164282324">"Uso da bateria"</string>
     <string name="power_usage_summary" msgid="7237084831082848168">"Onde a bateria tem sido usada"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Uso da bateria desde a desconexão do aparelho"</string>
@@ -863,6 +869,10 @@
     <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Usar minhas config."</string>
     <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"As conf. padrão abaixo substituem as conf. do aplicativo"</string>
     <string name="tts_default_settings_section" msgid="5787915620218907443">"Configurações padrão"</string>
+    <!-- no translation found for tts_default_synth_title (29467896463371992) -->
+    <skip />
+    <!-- no translation found for tts_default_synth_summary (6482936537135251690) -->
+    <skip />
     <string name="tts_default_rate_title" msgid="6030550998379310088">"Taxa de fala"</string>
     <string name="tts_default_rate_summary" msgid="4061815292287182801">"Velocidade em que o texto é falado"</string>
     <string name="tts_default_pitch_title" msgid="6135942113172488671">"Frequência do som"</string>
@@ -879,7 +889,6 @@
     <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>
-    <string name="credential_installer_activity_title" msgid="7600661521831762521">"Instalador de credenciais"</string>
     <string name="vpn_settings_activity_title" msgid="7276864950701612579">"Configurações de VPN"</string>
     <string name="vpn_connect_to" msgid="2541409082892684362">"Conectar-se a <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="vpn_username_colon" msgid="7854930370861306247">"Nome de usuário:"</string>
@@ -984,6 +993,26 @@
     <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>
+    <!-- no translation found for encrypted_fs_category (1841367653663913956) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable (3884033081603327729) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_summary (5635188119509076089) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_dialog (919487211207214266) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_dialog (6960413613985682501) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_button (8453841319751433751) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_button (8468354944060220496) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_button (4785921255266305799) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_confirm (853572431153803557) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_alert_dialog_title (583462447886934755) -->
+    <skip />
     <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>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 839be20..88e183c 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -20,16 +20,10 @@
     <string name="device_info_default" msgid="7847265875578739287">"Неизвестно"</string>
     <string name="turn_on_radio" msgid="8706561489788373676">"Включить радио"</string>
     <string name="turn_off_radio" msgid="1820294552893884115">"Отключить радио"</string>
-    <string name="turn_on_qxdm" msgid="634471960429852506">"Включить SD-журнал QXDM"</string>
-    <string name="turn_off_qxdm" msgid="5719931520533431085">"Отключить SD-журнал QXDM"</string>
     <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Просмотреть адресную книгу на SIM-карте"</string>
     <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Просм. список разреш. номеров"</string>
     <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Просмотреть номера служебного набора"</string>
     <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Получить список PDP"</string>
-    <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Включить подключение для передачи данных"</string>
-    <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Отключить подключение для передачи данных"</string>
-    <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Включить данные при загрузке"</string>
-    <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Отключить данные при загрузке"</string>
     <string name="radioInfo_service_in" msgid="1915416319177520020">"Обслуживается"</string>
     <string name="radioInfo_service_out" msgid="5238736759641916278">"Вне зоны обслуживания"</string>
     <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Только вызовы службы экстренной помощи"</string>
@@ -170,12 +164,13 @@
     <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Выполнить проверку ping IP-адреса:"</string>
     <string name="radio_info_ping_hostname" msgid="3054888474808217853">"ping имя узла (www.google.ru):"</string>
     <string name="radio_info_http_client_test" msgid="5733604021077701555">"Проверка клиента HTTP:"</string>
-    <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Переключить шифрование"</string>
     <string name="ping_test_label" msgid="7255376471490860631">"Выполнить проверку ping"</string>
     <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string>
     <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Обновить"</string>
     <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Обновить"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Выбор проверки DNS"</string>
+    <!-- no translation found for oem_radio_info_label (6163141792477958941) -->
+    <skip />
     <string name="band_mode_title" msgid="954174198903776205">"Настроить частоту GSM/UMTS"</string>
     <string name="band_mode_loading" msgid="548764766363847336">"Загрузка списка частот..."</string>
     <string name="band_mode_set" msgid="5730560180249458484">"Настроить"</string>
@@ -499,6 +494,12 @@
     <string name="memory_size" msgid="6629067715017232195">"Всего места"</string>
     <string name="sd_eject" msgid="6915293408836853020">"Извлечение SD-карты"</string>
     <string name="sd_eject_summary" msgid="3315557796211542962">"Безопасное извлечение SD-карты"</string>
+    <!-- no translation found for sd_insert_summary (2048640010381803841) -->
+    <skip />
+    <!-- no translation found for sd_mount (5940523765187704135) -->
+    <skip />
+    <!-- no translation found for sd_mount_summary (4936591681679097699) -->
+    <skip />
     <string name="sd_format" msgid="5448738337382712203">"Форматировать карту SD"</string>
     <string name="sd_format_summary" msgid="6616491027883134004">"Форматировать (очистить) карту SD"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"Недоступно"</string>
@@ -627,7 +628,8 @@
     <string name="applications_settings_summary" msgid="2714215108369119717">"Управление приложениями, настройка клавиш быстрого запуска"</string>
     <string name="applications_settings_header" msgid="6018266337275422250">"Настройки приложения"</string>
     <string name="install_applications" msgid="4872012136210802181">"Неизвестные источники"</string>
-    <string name="install_unknown_applications" msgid="4657036956866203596">"Разрешить установку приложений, полученных не из Маркета"</string>
+    <!-- no translation found for install_unknown_applications (6612824788917283662) -->
+    <skip />
     <string name="install_all_warning" msgid="1923717607319933741">"Телефон и личные сведения более уязвимы к атакам приложений из неизвестных источников. Вы подтверждаете, что берете на себя всю ответственность в случае повреждения телефона и потери данных при использовании этих приложений."</string>
     <string name="application_info_label" msgid="1150486628158409543">"Сведения о приложении"</string>
     <string name="storage_label" msgid="8700867073480107253">"Память"</string>
@@ -790,6 +792,10 @@
     <string name="no_accessibility_services_summary" msgid="694578333333808159">"Службы специальных возможностей не установлены."</string>
     <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Эта служба специальных возможностей может записывать весь текст, который вы вводите, в том числе личные данные и номера кредитных карт, за исключением паролей. Служба запущена приложением <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Использовать службу?"</string>
     <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Отключить специальные возможности?"</string>
+    <!-- no translation found for accessibility_service_no_apps_title (898893674114288531) -->
+    <skip />
+    <!-- no translation found for accessibility_service_no_apps_message (2450056749545404807) -->
+    <skip />
     <string name="power_usage_summary_title" msgid="5180282911164282324">"Расход заряда батареи"</string>
     <string name="power_usage_summary" msgid="7237084831082848168">"На что расходуется заряд батареи"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"Расход заряда батареи с момента отключения от сети питания"</string>
@@ -854,6 +860,10 @@
     <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Всегда использовать мои настройки"</string>
     <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Мои настройки по умолчанию заменяют настройки приложений"</string>
     <string name="tts_default_settings_section" msgid="5787915620218907443">"Настройки по умолчанию"</string>
+    <!-- no translation found for tts_default_synth_title (29467896463371992) -->
+    <skip />
+    <!-- no translation found for tts_default_synth_summary (6482936537135251690) -->
+    <skip />
     <string name="tts_default_rate_title" msgid="6030550998379310088">"Скорость речи"</string>
     <string name="tts_default_rate_summary" msgid="4061815292287182801">"Скорость чтения текста"</string>
     <string name="tts_default_pitch_title" msgid="6135942113172488671">"Тон"</string>
@@ -870,7 +880,6 @@
     <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>
-    <string name="credential_installer_activity_title" msgid="7600661521831762521">"Установщик регистрационных данных"</string>
     <string name="vpn_settings_activity_title" msgid="7276864950701612579">"Настройки VPN"</string>
     <string name="vpn_connect_to" msgid="2541409082892684362">"Подключить к \"<xliff:g id="NAME">%s</xliff:g>\""</string>
     <string name="vpn_username_colon" msgid="7854930370861306247">"Имя:"</string>
@@ -975,6 +984,26 @@
     <string name="credentials_erased" msgid="7700309135582200849">"Хранилище регистрационных данных очищено."</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"Хранилище регистрационных данных включено."</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"Хранилище регистрационных данных отключено."</string>
+    <!-- no translation found for encrypted_fs_category (1841367653663913956) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable (3884033081603327729) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_summary (5635188119509076089) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_dialog (919487211207214266) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_dialog (6960413613985682501) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_button (8453841319751433751) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_button (8468354944060220496) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_button (4785921255266305799) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_confirm (853572431153803557) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_alert_dialog_title (583462447886934755) -->
+    <skip />
     <string name="emergency_tone_title" msgid="1055954530111587114">"Тональный сигнал экстренного вызова"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"Настроить режим работы при экстренном вызове"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"Конфиденциальность"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 962af46..b707a68 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -20,16 +20,10 @@
     <string name="device_info_default" msgid="7847265875578739287">"Okänd"</string>
     <string name="turn_on_radio" msgid="8706561489788373676">"Sätt på radio"</string>
     <string name="turn_off_radio" msgid="1820294552893884115">"Stäng av radio"</string>
-    <string name="turn_on_qxdm" msgid="634471960429852506">"Aktivera QXDM SD-logg"</string>
-    <string name="turn_off_qxdm" msgid="5719931520533431085">"Inaktivera QXDM SD-logg"</string>
     <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"Visa SIM-adressbok"</string>
     <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Visa Fasta nummer"</string>
     <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Visa tjänstenummer"</string>
     <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"Hämta PDP-lista"</string>
-    <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Aktivera dataanslutning"</string>
-    <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Inaktivera dataanslutning"</string>
-    <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Aktivera data vid start"</string>
-    <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Inaktivera data vid start"</string>
     <string name="radioInfo_service_in" msgid="1915416319177520020">"I tjänst"</string>
     <string name="radioInfo_service_out" msgid="5238736759641916278">"Ur funktion"</string>
     <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Endast nödsamtal"</string>
@@ -170,12 +164,13 @@
     <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Ping IpAdr:"</string>
     <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Pinga värdnamn (www.google.com):"</string>
     <string name="radio_info_http_client_test" msgid="5733604021077701555">"Test av HTTP-klient:"</string>
-    <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Växla kryptering"</string>
     <string name="ping_test_label" msgid="7255376471490860631">"Köra pingtest"</string>
     <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string>
     <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Uppdatera"</string>
     <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Uppdatera"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"Växla mellan DNS-kontroll"</string>
+    <!-- no translation found for oem_radio_info_label (6163141792477958941) -->
+    <skip />
     <string name="band_mode_title" msgid="954174198903776205">"Ställ in GSM/UMTS-band"</string>
     <string name="band_mode_loading" msgid="548764766363847336">"Läser in bandlista…"</string>
     <string name="band_mode_set" msgid="5730560180249458484">"Ställ in"</string>
@@ -499,6 +494,12 @@
     <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>
+    <!-- no translation found for sd_insert_summary (2048640010381803841) -->
+    <skip />
+    <!-- no translation found for sd_mount (5940523765187704135) -->
+    <skip />
+    <!-- no translation found for sd_mount_summary (4936591681679097699) -->
+    <skip />
     <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_unavailable" msgid="8580107589533213904">"Inte tillgängligt"</string>
@@ -627,7 +628,8 @@
     <string name="applications_settings_summary" msgid="2714215108369119717">"Hantera program, ställ in genvägar för snabbstart"</string>
     <string name="applications_settings_header" msgid="6018266337275422250">"Programinställningar"</string>
     <string name="install_applications" msgid="4872012136210802181">"Okända källor"</string>
-    <string name="install_unknown_applications" msgid="4657036956866203596">"Tillåt installation av program som inte finns i Market"</string>
+    <!-- no translation found for install_unknown_applications (6612824788917283662) -->
+    <skip />
     <string name="install_all_warning" msgid="1923717607319933741">"Din telefon och dina personliga uppgifter är mer känsliga för hot från program från okända källor. Du godkänner att du själv är ansvarig för eventuella skador på din telefon eller förlust av data som kan uppstå när du använder dessa program."</string>
     <string name="application_info_label" msgid="1150486628158409543">"Programinformation"</string>
     <string name="storage_label" msgid="8700867073480107253">"Lagring"</string>
@@ -790,6 +792,10 @@
     <string name="no_accessibility_services_summary" msgid="694578333333808159">"Inga installerade tillgänglighetstjänster."</string>
     <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Tillgänglighetstjänsten kan samla in all text du skriver, inklusive personliga uppgifter som kreditkortsnummer, men inte lösenord. Den kan även logga din kommunikation med användargränssnittet. Den kommer från programmet <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>. Vill du aktivera tillgänglighetstjänsten?"</string>
     <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Vill du inaktivera tillgänglighet?"</string>
+    <!-- no translation found for accessibility_service_no_apps_title (898893674114288531) -->
+    <skip />
+    <!-- no translation found for accessibility_service_no_apps_message (2450056749545404807) -->
+    <skip />
     <string name="power_usage_summary_title" msgid="5180282911164282324">"Batteriförbrukning"</string>
     <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>
@@ -854,6 +860,10 @@
     <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Använd alltid mina inställningar"</string>
     <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Standardinställningarna nedan åsidosätter programinställningarna"</string>
     <string name="tts_default_settings_section" msgid="5787915620218907443">"Standardinställningar"</string>
+    <!-- no translation found for tts_default_synth_title (29467896463371992) -->
+    <skip />
+    <!-- no translation found for tts_default_synth_summary (6482936537135251690) -->
+    <skip />
     <string name="tts_default_rate_title" msgid="6030550998379310088">"Talhastighet"</string>
     <string name="tts_default_rate_summary" msgid="4061815292287182801">"Talhastighet för texten"</string>
     <string name="tts_default_pitch_title" msgid="6135942113172488671">"Ton"</string>
@@ -870,7 +880,6 @@
     <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>
-    <string name="credential_installer_activity_title" msgid="7600661521831762521">"Installerare för användaruppgifter"</string>
     <string name="vpn_settings_activity_title" msgid="7276864950701612579">"VPN-inställningar"</string>
     <string name="vpn_connect_to" msgid="2541409082892684362">"Anslut till <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="vpn_username_colon" msgid="7854930370861306247">"Användarnamn:"</string>
@@ -975,6 +984,26 @@
     <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>
+    <!-- no translation found for encrypted_fs_category (1841367653663913956) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable (3884033081603327729) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_summary (5635188119509076089) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_dialog (919487211207214266) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_dialog (6960413613985682501) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_button (8453841319751433751) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_button (8468354944060220496) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_button (4785921255266305799) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_confirm (853572431153803557) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_alert_dialog_title (583462447886934755) -->
+    <skip />
     <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>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index de1bb64..d9b347f 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -20,16 +20,10 @@
     <string name="device_info_default" msgid="7847265875578739287">"Bilinmiyor"</string>
     <string name="turn_on_radio" msgid="8706561489788373676">"Radyoyu aç"</string>
     <string name="turn_off_radio" msgid="1820294552893884115">"Radyoyu kapat"</string>
-    <string name="turn_on_qxdm" msgid="634471960429852506">"QXDM SD günlüğünü etkinleştir"</string>
-    <string name="turn_off_qxdm" msgid="5719931520533431085">"QXDM SD günlüğünü devre dışı bırak"</string>
     <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"SIM adres defterini görüntüle"</string>
     <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"Sabit Arama Numaralarını Görüntüle"</string>
     <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"Hizmet Arama Numaralarını Görüntüle"</string>
     <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"PDP listesini al"</string>
-    <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"Veri bağlantısını etkinleştir"</string>
-    <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"Veri bağlantısını devre dışı bırak"</string>
-    <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"Açılışta verileri etkinleştir"</string>
-    <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"Açılışta verileri devre dışı bırak"</string>
     <string name="radioInfo_service_in" msgid="1915416319177520020">"Hizmette"</string>
     <string name="radioInfo_service_out" msgid="5238736759641916278">"Hizmet dışı"</string>
     <string name="radioInfo_service_emergency" msgid="2485604591272668370">"Yalnızca acil çağrılar için"</string>
@@ -170,12 +164,13 @@
     <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Ping IpAddr:"</string>
     <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Ping Ana Makine Adı (www.google.com.tr):"</string>
     <string name="radio_info_http_client_test" msgid="5733604021077701555">"HTTP İstemcisi testi:"</string>
-    <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"Şifrelemeyi aç/kapa"</string>
     <string name="ping_test_label" msgid="7255376471490860631">"Ping testini çalıştır"</string>
     <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC:"</string>
     <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"Güncelle"</string>
     <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"Yenile"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"DNS denetimini aç/kapa"</string>
+    <!-- no translation found for oem_radio_info_label (6163141792477958941) -->
+    <skip />
     <string name="band_mode_title" msgid="954174198903776205">"GSM/UMTS bandını ayarla"</string>
     <string name="band_mode_loading" msgid="548764766363847336">"Bant listesi yükleniyor…"</string>
     <string name="band_mode_set" msgid="5730560180249458484">"Ayarla"</string>
@@ -499,6 +494,12 @@
     <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>
+    <!-- no translation found for sd_insert_summary (2048640010381803841) -->
+    <skip />
+    <!-- no translation found for sd_mount (5940523765187704135) -->
+    <skip />
+    <!-- no translation found for sd_mount_summary (4936591681679097699) -->
+    <skip />
     <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_unavailable" msgid="8580107589533213904">"Kullanılamıyor"</string>
@@ -627,7 +628,8 @@
     <string name="applications_settings_summary" msgid="2714215108369119717">"Uygulamaları yönet, hızlı başlatma kısayolları ayarla"</string>
     <string name="applications_settings_header" msgid="6018266337275422250">"Uygulama ayarları"</string>
     <string name="install_applications" msgid="4872012136210802181">"Bilinmeyen kaynaklar"</string>
-    <string name="install_unknown_applications" msgid="4657036956866203596">"Market dışı uygulamaların yüklenmesine izin ver"</string>
+    <!-- no translation found for install_unknown_applications (6612824788917283662) -->
+    <skip />
     <string name="install_all_warning" msgid="1923717607319933741">"Telefonunuz ve kişisel verileriniz, bilinmeyen kaynaklardan gelen uygulamaların saldırılarına karşı daha savunmasızdır. Bu uygulamaları kullanmanız sonucunda telefonunuzun başına gelebilecek her tür hasardan ve veri kaybından tarafınızın sorumlu olduğunu kabul edersiniz."</string>
     <string name="application_info_label" msgid="1150486628158409543">"Uygulama bilgileri"</string>
     <string name="storage_label" msgid="8700867073480107253">"Depolama"</string>
@@ -790,6 +792,10 @@
     <string name="no_accessibility_services_summary" msgid="694578333333808159">"Yüklenmiş erişilebilirlik hizmeti yok."</string>
     <string name="accessibility_service_security_warning" msgid="4066258132331302670">"Bu erişebilirlik hizmeti, şifreler hariç ve kişisel veriler, kredi kartı numaraları dahil olmak üzere yazdığınız tüm metinleri toplayabilir. Kullanıcı arayüzü etkileşimlerinizin kaydını da tutabilir. <xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g> uygulamasından gelmektedir. Bu erişebilirlik hizmetini kullanmak istiyor musunuz?"</string>
     <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"Erişilebilirlik devre dışı bırakılsın mı?"</string>
+    <!-- no translation found for accessibility_service_no_apps_title (898893674114288531) -->
+    <skip />
+    <!-- no translation found for accessibility_service_no_apps_message (2450056749545404807) -->
+    <skip />
     <string name="power_usage_summary_title" msgid="5180282911164282324">"Pil kullanımı"</string>
     <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>
@@ -854,6 +860,10 @@
     <string name="use_default_tts_settings_title" msgid="1577063839539732930">"Her zaman benim ayarlarımı kullan"</string>
     <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"Aşağıdaki varsayılan ayarlar, uygulama ayarlarını geçersiz kılıyor"</string>
     <string name="tts_default_settings_section" msgid="5787915620218907443">"Varsayılan ayarlar"</string>
+    <!-- no translation found for tts_default_synth_title (29467896463371992) -->
+    <skip />
+    <!-- no translation found for tts_default_synth_summary (6482936537135251690) -->
+    <skip />
     <string name="tts_default_rate_title" msgid="6030550998379310088">"Konuşma hızı"</string>
     <string name="tts_default_rate_summary" msgid="4061815292287182801">"Metnin konuşulduğu hız"</string>
     <string name="tts_default_pitch_title" msgid="6135942113172488671">"Perde"</string>
@@ -870,7 +880,6 @@
     <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>
-    <string name="credential_installer_activity_title" msgid="7600661521831762521">"Kimlik bilgisi yükleyici"</string>
     <string name="vpn_settings_activity_title" msgid="7276864950701612579">"VPN ayarları"</string>
     <string name="vpn_connect_to" msgid="2541409082892684362">"Şuna bağlan: <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="vpn_username_colon" msgid="7854930370861306247">"Kullanıcı adı:"</string>
@@ -975,6 +984,26 @@
     <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>
+    <!-- no translation found for encrypted_fs_category (1841367653663913956) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable (3884033081603327729) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_summary (5635188119509076089) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_dialog (919487211207214266) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_dialog (6960413613985682501) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_button (8453841319751433751) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_button (8468354944060220496) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_button (4785921255266305799) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_confirm (853572431153803557) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_alert_dialog_title (583462447886934755) -->
+    <skip />
     <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>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 0ec336a..aa9b803 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -20,16 +20,10 @@
     <string name="device_info_default" msgid="7847265875578739287">"未知"</string>
     <string name="turn_on_radio" msgid="8706561489788373676">"打开无线通信"</string>
     <string name="turn_off_radio" msgid="1820294552893884115">"关闭无线通信"</string>
-    <string name="turn_on_qxdm" msgid="634471960429852506">"启用 QXDM SD 日志"</string>
-    <string name="turn_off_qxdm" msgid="5719931520533431085">"停用 QXDM SD 日志"</string>
     <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"查看 SIM 卡地址簿"</string>
     <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"查看固定拨号"</string>
     <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"查看服务拨号"</string>
     <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"获取 PDP 列表"</string>
-    <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"启用数据连接"</string>
-    <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"停用数据连接"</string>
-    <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"启动时启用数据"</string>
-    <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"启动时停用数据"</string>
     <string name="radioInfo_service_in" msgid="1915416319177520020">"正在使用中"</string>
     <string name="radioInfo_service_out" msgid="5238736759641916278">"不在服务区"</string>
     <string name="radioInfo_service_emergency" msgid="2485604591272668370">"仅限于急救或报警电话"</string>
@@ -170,12 +164,13 @@
     <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Ping IP 地址："</string>
     <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Ping 主机名 (www.google.com)："</string>
     <string name="radio_info_http_client_test" msgid="5733604021077701555">"HTTP 客户端测试："</string>
-    <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"切换加密"</string>
     <string name="ping_test_label" msgid="7255376471490860631">"运行 ping 测试"</string>
     <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC："</string>
     <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"更新"</string>
     <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"刷新"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"切换 DNS 检查"</string>
+    <!-- no translation found for oem_radio_info_label (6163141792477958941) -->
+    <skip />
     <string name="band_mode_title" msgid="954174198903776205">"设置 GSM/UMTS 波段"</string>
     <string name="band_mode_loading" msgid="548764766363847336">"正在载入波段列表..."</string>
     <string name="band_mode_set" msgid="5730560180249458484">"设置"</string>
@@ -499,6 +494,12 @@
     <string name="memory_size" msgid="6629067715017232195">"总容量"</string>
     <string name="sd_eject" msgid="6915293408836853020">"卸载 SD 卡"</string>
     <string name="sd_eject_summary" msgid="3315557796211542962">"必须先卸载 SD 卡，才能将其安全移除"</string>
+    <!-- no translation found for sd_insert_summary (2048640010381803841) -->
+    <skip />
+    <!-- no translation found for sd_mount (5940523765187704135) -->
+    <skip />
+    <!-- no translation found for sd_mount_summary (4936591681679097699) -->
+    <skip />
     <string name="sd_format" msgid="5448738337382712203">"格式化 SD 卡"</string>
     <string name="sd_format_summary" msgid="6616491027883134004">"格式化（清除）SD 卡"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"不可用"</string>
@@ -627,7 +628,8 @@
     <string name="applications_settings_summary" msgid="2714215108369119717">"管理应用程序，设置快速启动键"</string>
     <string name="applications_settings_header" msgid="6018266337275422250">"应用程序设置"</string>
     <string name="install_applications" msgid="4872012136210802181">"未知来源"</string>
-    <string name="install_unknown_applications" msgid="4657036956866203596">"允许安装非电子市场提供的应用程序"</string>
+    <!-- no translation found for install_unknown_applications (6612824788917283662) -->
+    <skip />
     <string name="install_all_warning" msgid="1923717607319933741">"您的手机和个人数据更容易受到来自未知来源的应用程序攻击。您同意自己对因使用这些应用程序而造成的手机损坏或数据丢失承担全部责任。"</string>
     <string name="application_info_label" msgid="1150486628158409543">"应用程序信息"</string>
     <string name="storage_label" msgid="8700867073480107253">"存储"</string>
@@ -790,6 +792,10 @@
     <string name="no_accessibility_services_summary" msgid="694578333333808159">"未安装辅助功能服务。"</string>
     <string name="accessibility_service_security_warning" msgid="4066258132331302670">"此辅助功能服务可能会收集您键入的所有文字，包括信用卡号码等个人数据，但并不会收集您输入的密码，而且它也可能记录您的用户界面交互行为。该服务由应用程序“<xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>”所提供。要使用此辅助功能服务吗？"</string>
     <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"是否停用辅助功能？"</string>
+    <!-- no translation found for accessibility_service_no_apps_title (898893674114288531) -->
+    <skip />
+    <!-- no translation found for accessibility_service_no_apps_message (2450056749545404807) -->
+    <skip />
     <string name="power_usage_summary_title" msgid="5180282911164282324">"电量使用情况"</string>
     <string name="power_usage_summary" msgid="7237084831082848168">"耗电情况"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"拔下电源后的电量消耗情况"</string>
@@ -854,6 +860,10 @@
     <string name="use_default_tts_settings_title" msgid="1577063839539732930">"总是使用我的设置"</string>
     <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"使用以下默认设置代替应用程序设置"</string>
     <string name="tts_default_settings_section" msgid="5787915620218907443">"默认设置"</string>
+    <!-- no translation found for tts_default_synth_title (29467896463371992) -->
+    <skip />
+    <!-- no translation found for tts_default_synth_summary (6482936537135251690) -->
+    <skip />
     <string name="tts_default_rate_title" msgid="6030550998379310088">"语速"</string>
     <string name="tts_default_rate_summary" msgid="4061815292287182801">"文字转换成语音后的播放速度"</string>
     <string name="tts_default_pitch_title" msgid="6135942113172488671">"音高"</string>
@@ -870,7 +880,6 @@
     <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>
-    <string name="credential_installer_activity_title" msgid="7600661521831762521">"凭证安装程序"</string>
     <string name="vpn_settings_activity_title" msgid="7276864950701612579">"虚拟专用网设置"</string>
     <string name="vpn_connect_to" msgid="2541409082892684362">"连接到 <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="vpn_username_colon" msgid="7854930370861306247">"用户名："</string>
@@ -975,6 +984,26 @@
     <string name="credentials_erased" msgid="7700309135582200849">"该凭证存储已删除。"</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"凭证存储已启用。"</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"凭证存储已停用。"</string>
+    <!-- no translation found for encrypted_fs_category (1841367653663913956) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable (3884033081603327729) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_summary (5635188119509076089) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_dialog (919487211207214266) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_dialog (6960413613985682501) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_button (8453841319751433751) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_button (8468354944060220496) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_button (4785921255266305799) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_confirm (853572431153803557) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_alert_dialog_title (583462447886934755) -->
+    <skip />
     <string name="emergency_tone_title" msgid="1055954530111587114">"紧急提示音"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"设置进行紧急呼救时的行为"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"隐私权"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 14e9d12..170681c 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -20,16 +20,10 @@
     <string name="device_info_default" msgid="7847265875578739287">"未知的"</string>
     <string name="turn_on_radio" msgid="8706561489788373676">"開啟無線通訊"</string>
     <string name="turn_off_radio" msgid="1820294552893884115">"關閉無線通訊"</string>
-    <string name="turn_on_qxdm" msgid="634471960429852506">"啟用 QXDM SD 記錄"</string>
-    <string name="turn_off_qxdm" msgid="5719931520533431085">"停用 QXDM SD 記錄"</string>
     <string name="radioInfo_menu_viewADN" msgid="8743377494429930831">"檢視 SIM 地址簿"</string>
     <string name="radioInfo_menu_viewFDN" msgid="7934301566925610318">"查看固定撥號"</string>
     <string name="radioInfo_menu_viewSDN" msgid="7130280686244955669">"檢視服務撥號號碼"</string>
     <string name="radioInfo_menu_getPDP" msgid="560610293888406317">"取得 PDP 清單"</string>
-    <string name="radioInfo_menu_enableData" msgid="5452877756028654595">"啟用資料連線"</string>
-    <string name="radioInfo_menu_disableData" msgid="7645419447977636497">"停用資料連線"</string>
-    <string name="radioInfo_menu_enableDataOnBoot" msgid="1438925440424627675">"開機顯示資料"</string>
-    <string name="radioInfo_menu_disableDataOnBoot" msgid="1311993066146980972">"開機不顯示資料"</string>
     <string name="radioInfo_service_in" msgid="1915416319177520020">"服務中"</string>
     <string name="radioInfo_service_out" msgid="5238736759641916278">"超出服務範圍"</string>
     <string name="radioInfo_service_emergency" msgid="2485604591272668370">"只能撥打緊急電話"</string>
@@ -170,12 +164,13 @@
     <string name="radio_info_ping_ipaddr" msgid="498747917793263530">"Ping IP 位址："</string>
     <string name="radio_info_ping_hostname" msgid="3054888474808217853">"Ping 主機名稱 (www.google.com.tw)："</string>
     <string name="radio_info_http_client_test" msgid="5733604021077701555">"HTTP 用戶端測試："</string>
-    <string name="radio_info_toggle_ciph_label" msgid="1506817306430095478">"選取加密"</string>
     <string name="ping_test_label" msgid="7255376471490860631">"執行 ping 測試"</string>
     <string name="radio_info_smsc_label" msgid="6399460520126501354">"SMSC："</string>
     <string name="radio_info_smsc_update_label" msgid="7258686760358791539">"更新"</string>
     <string name="radio_info_smsc_refresh_label" msgid="6902302130315125102">"重新整理"</string>
     <string name="radio_info_toggle_dns_check_label" msgid="8292252930563286858">"切換 DNS 檢查"</string>
+    <!-- no translation found for oem_radio_info_label (6163141792477958941) -->
+    <skip />
     <string name="band_mode_title" msgid="954174198903776205">"設定 GSM/UMTS 頻道"</string>
     <string name="band_mode_loading" msgid="548764766363847336">"載入頻道清單..."</string>
     <string name="band_mode_set" msgid="5730560180249458484">"設定"</string>
@@ -499,6 +494,12 @@
     <string name="memory_size" msgid="6629067715017232195">"總空間"</string>
     <string name="sd_eject" msgid="6915293408836853020">"卸載 SD 卡"</string>
     <string name="sd_eject_summary" msgid="3315557796211542962">"必須先卸載 SD 卡，才能安全移除"</string>
+    <!-- no translation found for sd_insert_summary (2048640010381803841) -->
+    <skip />
+    <!-- no translation found for sd_mount (5940523765187704135) -->
+    <skip />
+    <!-- no translation found for sd_mount_summary (4936591681679097699) -->
+    <skip />
     <string name="sd_format" msgid="5448738337382712203">"將 SD 卡格式化"</string>
     <string name="sd_format_summary" msgid="6616491027883134004">"將 SD 卡格式化 (清除)"</string>
     <string name="sd_unavailable" msgid="8580107589533213904">"無法取得資訊"</string>
@@ -627,7 +628,8 @@
     <string name="applications_settings_summary" msgid="2714215108369119717">"管理應用程式，設定快速啟動鍵"</string>
     <string name="applications_settings_header" msgid="6018266337275422250">"應用程式設定"</string>
     <string name="install_applications" msgid="4872012136210802181">"未知的來源"</string>
-    <string name="install_unknown_applications" msgid="4657036956866203596">"允許安裝非 Market 應用程式"</string>
+    <!-- no translation found for install_unknown_applications (6612824788917283662) -->
+    <skip />
     <string name="install_all_warning" msgid="1923717607319933741">"未知來源的應用程式可能會損害您的手機及個人資訊。如使用這些應用程式而造成手機受損或資料遺失，您必須自行承擔責任。"</string>
     <string name="application_info_label" msgid="1150486628158409543">"應用程式資訊"</string>
     <string name="storage_label" msgid="8700867073480107253">"儲存空間"</string>
@@ -790,6 +792,10 @@
     <string name="no_accessibility_services_summary" msgid="694578333333808159">"尚未安裝協助工具服務。"</string>
     <string name="accessibility_service_security_warning" msgid="4066258132331302670">"此協助工具服務可能會收集您輸入的所有文字，包括個人資料及信用卡號碼，但並不會收集您輸入的密碼，而且它也可能會記錄您的使用者介面互動行為。該服務是由應用程式「<xliff:g id="ACCESSIBILITY_SERVICE_NAME">%1$s</xliff:g>」所提供，要使用此協助工具服務嗎？"</string>
     <string name="accessibility_service_disable_warning" msgid="8930591383312775132">"要停用協助工具嗎？"</string>
+    <!-- no translation found for accessibility_service_no_apps_title (898893674114288531) -->
+    <skip />
+    <!-- no translation found for accessibility_service_no_apps_message (2450056749545404807) -->
+    <skip />
     <string name="power_usage_summary_title" msgid="5180282911164282324">"電池使用狀況"</string>
     <string name="power_usage_summary" msgid="7237084831082848168">"查看正在消耗電力的功能"</string>
     <string name="battery_since_unplugged" msgid="338073389740738437">"拔除插頭後的電池使用狀況"</string>
@@ -854,6 +860,10 @@
     <string name="use_default_tts_settings_title" msgid="1577063839539732930">"永遠使用我的設定"</string>
     <string name="use_default_tts_settings_summary" msgid="4253502106159206276">"下列預設設定會覆寫應用程式設定"</string>
     <string name="tts_default_settings_section" msgid="5787915620218907443">"預設設定"</string>
+    <!-- no translation found for tts_default_synth_title (29467896463371992) -->
+    <skip />
+    <!-- no translation found for tts_default_synth_summary (6482936537135251690) -->
+    <skip />
     <string name="tts_default_rate_title" msgid="6030550998379310088">"語音速率"</string>
     <string name="tts_default_rate_summary" msgid="4061815292287182801">"文字轉換成語音後的播放速度"</string>
     <string name="tts_default_pitch_title" msgid="6135942113172488671">"音調"</string>
@@ -870,7 +880,6 @@
     <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>
-    <string name="credential_installer_activity_title" msgid="7600661521831762521">"認證安裝程式"</string>
     <string name="vpn_settings_activity_title" msgid="7276864950701612579">"VPN 設定"</string>
     <string name="vpn_connect_to" msgid="2541409082892684362">"連線至<xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="vpn_username_colon" msgid="7854930370861306247">"使用者名稱："</string>
@@ -975,6 +984,26 @@
     <string name="credentials_erased" msgid="7700309135582200849">"已清除認證儲存空間內容。"</string>
     <string name="credentials_enabled" msgid="7588607413349978930">"已啟用認證儲存空間。"</string>
     <string name="credentials_disabled" msgid="7453188089059045380">"已停用認證儲存空間。"</string>
+    <!-- no translation found for encrypted_fs_category (1841367653663913956) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable (3884033081603327729) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_summary (5635188119509076089) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_dialog (919487211207214266) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_dialog (6960413613985682501) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_enable_button (8453841319751433751) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_disable_button (8468354944060220496) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_button (4785921255266305799) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_cancel_confirm (853572431153803557) -->
+    <skip />
+    <!-- no translation found for encrypted_fs_alert_dialog_title (583462447886934755) -->
+    <skip />
     <string name="emergency_tone_title" msgid="1055954530111587114">"緊急警示音"</string>
     <string name="emergency_tone_summary" msgid="722259232924572153">"設定撥打緊急電話時的運作方式"</string>
     <string name="privacy_settings" msgid="9206631214140954954">"隱私設定"</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index a32a3ee..6152ecc 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -30,10 +30,6 @@
     <string name="turn_on_radio">Turn on radio</string>
     <!-- Phone Info screen. Button label to turn off the radio . Only shown in diagnostic screen, so precise translation is not needed. -->
     <string name="turn_off_radio">Turn off radio</string>
-    <!-- Phone Info screen. Button label to turn on the log for QXDM SD . Only shown in diagnostic screen, so precise translation is not needed. -->
-    <string name="turn_on_qxdm">Enable QXDM SD log</string>
-    <!-- Phone Info screen. Button label to turn off the log for QXDM SD . Only shown in diagnostic screen, so precise translation is not needed. -->
-    <string name="turn_off_qxdm">Disable QXDM SD log</string>
 
     <!-- Phone Info screen. Menu item label.  Used for diagnostic info screens, precise translation isn't needed -->
     <string name="radioInfo_menu_viewADN">View SIM address book</string>
@@ -43,14 +39,6 @@
     <string name="radioInfo_menu_viewSDN">View Service Dialing Numbers</string>
     <!-- Phone Info screen. Menu item label.  Used for diagnostic info screens, precise translation isn't needed -->
     <string name="radioInfo_menu_getPDP">Get PDP list</string>
-    <!-- Phone Info screen. Menu item label.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radioInfo_menu_enableData">Enable data connection</string>
-    <!-- Phone Info screen. Menu item label.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radioInfo_menu_disableData">Disable data connection</string>
-    <!-- Phone Info screen. Menu item label.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radioInfo_menu_enableDataOnBoot">Enable data on boot</string>
-    <!-- Phone Info screen. Menu item label.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radioInfo_menu_disableDataOnBoot">Disable data on boot</string>
 
     <!-- Phone Info screen. Status label.  Used for diagnostic info screens, precise translation isn't needed -->
     <string name="radioInfo_service_in">In service</string>
@@ -371,8 +359,6 @@
     <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
     <string name="radio_info_http_client_test">HTTP Client test:</string>
     <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
-    <string name="radio_info_toggle_ciph_label">Toggle ciphering</string>
-    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
     <string name="ping_test_label">Run ping test</string>
     <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
     <string name="radio_info_smsc_label">SMSC:</string>
@@ -382,6 +368,8 @@
     <string name="radio_info_smsc_refresh_label">Refresh</string>
     <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
     <string name="radio_info_toggle_dns_check_label">Toggle DNS check</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="oem_radio_info_label">OEM-specific Info/Settings</string>
 
     <!-- Band Mode Selection -->
     <!-- Band mode screen.  Title of activity. -->
@@ -823,6 +811,92 @@
     <!-- Wi-Fi settings screen, advanced, title of the item to show the Wi-Fi device's MAC address. -->
     <string name="wifi_advanced_mac_address_title">MAC address</string>
 
+    <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
+         Wi-Fi Testing on the diagnostic screen-->
+    <string name="testing_wifi_info" translatable="false">Wifi information</string>
+
+    <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
+         Menu item for WifiManager disableNetwork API-->
+    <string name="disableNetwork" translatable="false">disableNetwork</string>
+    <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
+         Menu item for WifiManager enableNetwork API-->
+    <string name="enableNetwork" translatable="false">enableNetwork</string>
+    <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
+         Menu item for WifiManager disconnect API-->
+    <string name="disconnect" translatable="false">disconnect</string>
+    <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
+         Menu item for WifiManager getConfiguredNetworks API-->
+    <string name="getConfiguredNetworks" translatable="false">getConfiguredNetworks</string>
+    <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
+         Menu item for WifiManager getConnectionInfo API-->
+    <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>
+
+    <!-- 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>
+    <!-- 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>
+    <!-- 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>
+    <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
+        Label on Wifi Status screen-->
+    <string name="supplicant_state_label" translatable="false">Supplicant State :</string>
+    <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
+         Label on Wifi Status screen-->
+    <string name="rssi_label" translatable="false">RSSI :</string>
+    <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
+         Label on Wifi Status screen-->
+    <string name="bssid_label" translatable="false">BSSID :</string>
+    <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
+         Label on Wifi Status screen-->
+    <string name="ssid_label" translatable="false">SSID :</string>
+    <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
+         Label on Wifi Status screen-->
+    <string name="hidden_ssid_label" translatable="false">Hidden SSID :</string>
+    <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
+         Label on Wifi Status screen-->
+    <string name="ipaddr_label" translatable="false">IPaddr :</string>
+    <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
+         Label on Wifi Status screen-->
+    <string name="macaddr_label" translatable="false">MAC addr :</string>
+    <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
+         Label on Wifi Status screen-->
+    <string name="networkid_label" translatable="false">Network ID :</string>
+    <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
+         Label on Wifi Status screen-->
+    <string name="link_speed_label" translatable="false">Link Speed :</string>
+    <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary
+         Label on Wifi Status screen-->
+    <string name="scan_list_label" translatable="false">Scan results :</string>
+
+    <!-- wifi state values-->
+    <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary -->
+    <string name="wifi_state_disabling" translatable="false">Disabling</string>
+    <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary -->
+    <string name="wifi_state_disabled" translatable="false">Disabled</string>
+    <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary -->
+    <string name="wifi_state_enabling" translatable="false">Enabling</string>
+    <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary -->
+    <string name="wifi_state_enabled" translatable="false">Enabled</string>
+    <!-- Do not translate. Used for diagnostic screens, precise translation is not necessary -->
+    <string name="wifi_state_unknown" translatable="false">Unknown</string>
+
+    <!-- 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>
+    <!-- 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>
+
+
     <!-- Status message of Wi-Fi when it is scanning -->
     <string name="fragment_status_scanning">Scanning\u2026</string>
     <!-- Status message of Wi-Fi when it is connecting to a particular network -->
@@ -1095,6 +1169,14 @@
     <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>
+
+   
+    <!-- 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>
+    <!-- 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>
     <!-- SD card & phone storage settings item title that will result in the phone unmounting the SD card.   -->
@@ -1783,6 +1865,16 @@
     <!-- Warning about disabling accessibility displayed as a dialog message when the user
          selects to disable accessibility. This avoids accidental disabling. -->
     <string name="accessibility_service_disable_warning">Disable accessibility?</string>
+    <!-- Title for the prompt that lets users know that they have no accessibility related apps
+         installed and that they can install TalkBack from Market. -->
+    <string name="accessibility_service_no_apps_title">No accessibility related applications found
+        </string>
+    <!-- Message for the prompt that lets users know that they have no accessibility related apps
+         installed and that they can install TalkBack from Market. -->
+    <string name="accessibility_service_no_apps_message">You do not have any accessibility related
+        applications installed.\n\nYou can download a screen reader for your device from Android
+        Market.\n\nClick "OK" to install the screen reader.</string>
+
 
     <!-- App Fuel Gauge strings -->
     <skip/>
@@ -1928,6 +2020,10 @@
     <string name="use_default_tts_settings_summary">Default settings below override application settings</string>
     <!-- On main TTS Settings screen, section header for default TTS settings -->
     <string name="tts_default_settings_section">Default settings</string>
+    <!-- On main TTS Settings screen, in default settings section, setting default synthesis engine for synthesized voice -->
+    <string name="tts_default_synth_title">Default Engine</string>
+    <!-- On main TTS Settings screen, summary for default synthesis engine for synthesized voice -->
+    <string name="tts_default_synth_summary">Sets the speech synthesis engine to be used for spoken text</string>
     <!-- On main TTS Settings screen, in default settings section, setting default speech rate for synthesized voice -->
     <string name="tts_default_rate_title">Speech rate</string>
     <!-- On main TTS Settings screen, summary for default speech rate for synthesized voice -->
@@ -1960,9 +2056,6 @@
     <string name="gadget_toggle_wifi">Updating Wi-Fi setting</string>
     <string name="gadget_toggle_bluetooth">Updating Bluetooth setting</string>
 
-    <!-- credential installer title -->
-    <string name="credential_installer_activity_title">Credential installer</string>
-
     <string name="vpn_settings_activity_title">VPN settings</string>
 
     <!-- Title of VPN connect dialog -->
@@ -2145,6 +2238,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 -->
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 33e43bb..7c77f49 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -44,8 +44,8 @@
         <item name="android:paddingTop">10dip</item>
         <item name="android:paddingRight">10dip</item>
         <item name="android:paddingBottom">10dip</item>
-        <item name="android:layout_width">fill_parent</item>
-        <item name="android:layout_height">fill_parent</item>
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">match_parent</item>
     </style>
 
     <style name="entry_layout">
@@ -56,7 +56,7 @@
     
     <style name="form_value">
         <item name="android:layout_height">wrap_content</item>
-        <item name="android:layout_width">fill_parent</item>
+        <item name="android:layout_width">match_parent</item>
     </style>
 
 
diff --git a/res/xml-ar/timezones.xml b/res/xml-ar/timezones.xml
index b903880..d8ee857 100644
--- a/res/xml-ar/timezones.xml
+++ b/res/xml-ar/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">ماناوس</timezone>
     <timezone id="America/Santiago">سانتيجو</timezone>
     <timezone id="America/St_Johns">سانت جونس</timezone>
-    <timezone id="America/Araguaina">أروجوانيا</timezone>
+    <timezone id="America/Sao_Paulo">ساو باولو</timezone>
     <timezone id="America/Argentina/Buenos_Aires">بوينوس أيرس</timezone>
     <timezone id="America/Godthab">جودثاب</timezone>
     <timezone id="America/Montevideo">Montevideo</timezone>
diff --git a/res/xml-cs/timezones.xml b/res/xml-cs/timezones.xml
index 3b7e87b..b7f0172 100644
--- a/res/xml-cs/timezones.xml
+++ b/res/xml-cs/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">Manaus</timezone>
     <timezone id="America/Santiago">Santiago</timezone>
     <timezone id="America/St_Johns">Newfoundlandský standardní čas (St. Johns)</timezone>
-    <timezone id="America/Araguaina">Araguaina</timezone>
+    <timezone id="America/Sao_Paulo">Sao Paulo</timezone>
     <timezone id="America/Argentina/Buenos_Aires">Buenos Aires</timezone>
     <timezone id="America/Godthab">Godthab</timezone>
     <timezone id="America/Montevideo">Montevideo</timezone>
diff --git a/res/xml-da/timezones.xml b/res/xml-da/timezones.xml
index 6e80e87..07efc21 100644
--- a/res/xml-da/timezones.xml
+++ b/res/xml-da/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">Amazonas-tid (Manaus)</timezone>
     <timezone id="America/Santiago">Chilensk tid (Santiago)</timezone>
     <timezone id="America/St_Johns">Newfoundland-tid (St. Johns)</timezone>
-    <timezone id="America/Araguaina">Brasiliansk tid (Araguaina)</timezone>
+    <timezone id="America/Sao_Paulo">Brasiliansk tid (Sao Paulo)</timezone>
     <timezone id="America/Argentina/Buenos_Aires">Argentinsk tid (Buenos Aires)</timezone>
     <timezone id="America/Godthab">Vestgrønlandsk tid (Nuuk)</timezone>
     <timezone id="America/Montevideo">Uruguayansk tid (Montevideo)</timezone>
diff --git a/res/xml-de/timezones.xml b/res/xml-de/timezones.xml
index 50c6a85..6c14a27 100644
--- a/res/xml-de/timezones.xml
+++ b/res/xml-de/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">Manaus</timezone>
     <timezone id="America/Santiago">Santiago</timezone>
     <timezone id="America/St_Johns">St. John's</timezone>
-    <timezone id="America/Araguaina">Araguaina</timezone>
+    <timezone id="America/Sao_Paulo">Sao Paulo</timezone>
     <timezone id="America/Argentina/Buenos_Aires">Buenos Aires</timezone>
     <timezone id="America/Godthab">Godthab</timezone>
     <timezone id="America/Montevideo">Montevideo</timezone>
diff --git a/res/xml-el/timezones.xml b/res/xml-el/timezones.xml
index de25148..f1c6720 100644
--- a/res/xml-el/timezones.xml
+++ b/res/xml-el/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">Μανάος</timezone>
     <timezone id="America/Santiago">Σαντιάγκο</timezone>
     <timezone id="America/St_Johns">Σεντ Τζονς</timezone>
-    <timezone id="America/Araguaina">Αραγκουάινα</timezone>
+    <timezone id="America/Sao_Paulo">Σάο Πάολο</timezone>
     <timezone id="America/Argentina/Buenos_Aires">Μπουένος Άιρες</timezone>
     <timezone id="America/Godthab">Γκόνθαμπ</timezone>
     <timezone id="America/Montevideo">Μοντεβίδεο</timezone>
diff --git a/res/xml-es/timezones.xml b/res/xml-es/timezones.xml
index 4fe564d..31caea5 100644
--- a/res/xml-es/timezones.xml
+++ b/res/xml-es/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">Hora del Amazonas (Manaus)</timezone>
     <timezone id="America/Santiago">Hora de Chile (Santiago)</timezone>
     <timezone id="America/St_Johns">Hora estándar de Newfoundland (St. John’s)</timezone>
-    <timezone id="America/Araguaina">Hora de Brasilia (Araguaína)</timezone>
+    <timezone id="America/Sao_Paulo">Hora de Brasilia (São Paulo)</timezone>
     <timezone id="America/Argentina/Buenos_Aires">Hora de Argentina (Hora de Argentina (Buenos Aires))</timezone>
     <timezone id="America/Godthab">Hora de Groenlandia occidental (Godthab)</timezone>
     <timezone id="America/Montevideo">Hora de Uruguay (Montevideo)</timezone>
diff --git a/res/xml-fi/timezones.xml b/res/xml-fi/timezones.xml
index ae194a7..29d8b25 100644
--- a/res/xml-fi/timezones.xml
+++ b/res/xml-fi/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">Manaus</timezone>
     <timezone id="America/Santiago">Santiago</timezone>
     <timezone id="America/St_Johns">Newfoundlandin normaaliaika (St. Johns)</timezone>
-    <timezone id="America/Araguaina">Araguaina</timezone>
+    <timezone id="America/Sao_Paulo">São Paulo</timezone>
     <timezone id="America/Argentina/Buenos_Aires">Buenos Aires</timezone>
     <timezone id="America/Godthab">Godthåb</timezone>
     <timezone id="America/Montevideo">Montevideo</timezone>
diff --git a/res/xml-fr/timezones.xml b/res/xml-fr/timezones.xml
index d655e89..b066c0b 100644
--- a/res/xml-fr/timezones.xml
+++ b/res/xml-fr/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">Heure de l’Amazonie (Manaos)</timezone>
     <timezone id="America/Santiago">Heure du Chili (Santiago)</timezone>
     <timezone id="America/St_Johns">Heure de Terre-Neuve (Saint-Jean de Terre-Neuve)</timezone>
-    <timezone id="America/Araguaina">Heure de Brasilia (Araguaína)</timezone>
+    <timezone id="America/Sao_Paulo">Heure de Brasilia (São Paulo)</timezone>
     <timezone id="America/Argentina/Buenos_Aires">Heure de l’Est argentin (Buenos Aires)</timezone>
     <timezone id="America/Godthab">Heure de l’Ouest du Groenland (Godthåb)</timezone>
     <timezone id="America/Montevideo">Montevideo</timezone>
diff --git a/res/xml-he/timezones.xml b/res/xml-he/timezones.xml
index 9a2d9f3..4174880 100644
--- a/res/xml-he/timezones.xml
+++ b/res/xml-he/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">מנאוס</timezone>
     <timezone id="America/Santiago">אמריקה/סנטיאגו</timezone>
     <timezone id="America/St_Johns">St. John's</timezone>
-    <timezone id="America/Araguaina">אראגואינה</timezone>
+    <timezone id="America/Sao_Paulo">אמריקה/סאן-פאולו</timezone>
     <timezone id="America/Argentina/Buenos_Aires">בואנוס איירס</timezone>
     <timezone id="America/Godthab">גודת'אב</timezone>
     <timezone id="America/Montevideo">מונטווידאו</timezone>
diff --git a/res/xml-hr/timezones.xml b/res/xml-hr/timezones.xml
index 9a44c47..072002d 100644
--- a/res/xml-hr/timezones.xml
+++ b/res/xml-hr/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">Manaus</timezone>
     <timezone id="America/Santiago">Santiago</timezone>
     <timezone id="America/St_Johns">St. John's</timezone>
-    <timezone id="America/Araguaina">Araguaina</timezone>
+    <timezone id="America/Sao_Paulo">Sao Paulo</timezone>
     <timezone id="America/Argentina/Buenos_Aires">Buenos Aires</timezone>
     <timezone id="America/Godthab">Godthab</timezone>
     <timezone id="America/Montevideo">Montevideo</timezone>
diff --git a/res/xml-hu/timezones.xml b/res/xml-hu/timezones.xml
index 7266860..fc54cde 100644
--- a/res/xml-hu/timezones.xml
+++ b/res/xml-hu/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">Amazóniai idő (Manaus)</timezone>
     <timezone id="America/Santiago">Chilei idő (Santiago)</timezone>
     <timezone id="America/St_Johns">Új-fundlandi idő (St. John's)</timezone>
-    <timezone id="America/Araguaina">Brazíliai idő (Araguaína)</timezone>
+    <timezone id="America/Sao_Paulo">Brazíliai idő (Sao Paulo)</timezone>
     <timezone id="America/Argentina/Buenos_Aires">Argentína idő (Buenos Aires)</timezone>
     <timezone id="America/Godthab">Nyugat-grönlandi idő (Godthåb)</timezone>
     <timezone id="America/Montevideo">Uruguayi idő (Montevideo)</timezone>
diff --git a/res/xml-id/timezones.xml b/res/xml-id/timezones.xml
index ee625b0..23821a6b 100644
--- a/res/xml-id/timezones.xml
+++ b/res/xml-id/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">Manaus</timezone>
     <timezone id="America/Santiago">Santiago</timezone>
     <timezone id="America/St_Johns">St. John's</timezone>
-    <timezone id="America/Araguaina">Araguaina</timezone>
+    <timezone id="America/Sao_Paulo">Sao Paulo</timezone>
     <timezone id="America/Argentina/Buenos_Aires">Buenos Aires</timezone>
     <timezone id="America/Godthab">Godthab</timezone>
     <timezone id="America/Montevideo">Montevideo</timezone>
diff --git a/res/xml-it/timezones.xml b/res/xml-it/timezones.xml
index beefbf6..ea7300c 100644
--- a/res/xml-it/timezones.xml
+++ b/res/xml-it/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">Manaus</timezone>
     <timezone id="America/Santiago">Santiago</timezone>
     <timezone id="America/St_Johns">St. Johns</timezone>
-    <timezone id="America/Araguaina">Araguaina</timezone>
+    <timezone id="America/Sao_Paulo">San Paolo</timezone>
     <timezone id="America/Argentina/Buenos_Aires">Buenos Aires</timezone>
     <timezone id="America/Godthab">Godthab</timezone>
     <timezone id="America/Montevideo">Montevideo</timezone>
diff --git a/res/xml-ja/timezones.xml b/res/xml-ja/timezones.xml
index 168ba04..c139009 100644
--- a/res/xml-ja/timezones.xml
+++ b/res/xml-ja/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">アマゾン時間 (マナウス)</timezone>
     <timezone id="America/Santiago">アメリカ/サンチアゴ</timezone>
     <timezone id="America/St_Johns">ニューファンドランド島標準時 (セントジョンズ)</timezone>
-    <timezone id="America/Araguaina">ブラジリア時間 (アラグァイナ)</timezone>
+    <timezone id="America/Sao_Paulo">ブラジリア時間 (サンパウロ)</timezone>
     <timezone id="America/Argentina/Buenos_Aires">アルゼンチン時間 (ブエノスアイレス)</timezone>
     <timezone id="America/Godthab">アメリカ/ゴッドホープ</timezone>
     <timezone id="America/Montevideo">モンテビデオ</timezone>
diff --git a/res/xml-ko/timezones.xml b/res/xml-ko/timezones.xml
index 711f732..aed7bd9 100644
--- a/res/xml-ko/timezones.xml
+++ b/res/xml-ko/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">아마존 표준시 (마나우스)</timezone>
     <timezone id="America/Santiago">산티아고</timezone>
     <timezone id="America/St_Johns">뉴펀들랜드 표준시 (세인트존)</timezone>
-    <timezone id="America/Araguaina">브라질리아 표준시 (아라과이나)</timezone>
+    <timezone id="America/Sao_Paulo">브라질리아 표준시 (상파울로)</timezone>
     <timezone id="America/Argentina/Buenos_Aires">부에노스 아이레스</timezone>
     <timezone id="America/Godthab">고드호프</timezone>
     <timezone id="America/Montevideo">몬테비데오</timezone>
diff --git a/res/xml-nb/timezones.xml b/res/xml-nb/timezones.xml
index f374a34..a20b417 100644
--- a/res/xml-nb/timezones.xml
+++ b/res/xml-nb/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">Amazonas-tid (Manaus)</timezone>
     <timezone id="America/Santiago">Santiago</timezone>
     <timezone id="America/St_Johns">St. John's</timezone>
-    <timezone id="America/Araguaina">Brasilia-tid (Araguaína)</timezone>
+    <timezone id="America/Sao_Paulo">Brasilia-tid (São Paulo)</timezone>
     <timezone id="America/Argentina/Buenos_Aires">Buenos Aires</timezone>
     <timezone id="America/Godthab">Godthåb</timezone>
     <timezone id="America/Montevideo">Montevideo</timezone>
diff --git a/res/xml-nl/timezones.xml b/res/xml-nl/timezones.xml
index ee2453e..ecb107e 100644
--- a/res/xml-nl/timezones.xml
+++ b/res/xml-nl/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">Manaus</timezone>
     <timezone id="America/Santiago">Santiago</timezone>
     <timezone id="America/St_Johns">Newfoundland-standaardtijd (St. Johns)</timezone>
-    <timezone id="America/Araguaina">Araguaina</timezone>
+    <timezone id="America/Sao_Paulo">São Paulo</timezone>
     <timezone id="America/Argentina/Buenos_Aires">Buenos Aires</timezone>
     <timezone id="America/Godthab">Godthab</timezone>
     <timezone id="America/Montevideo">Montevideo</timezone>
diff --git a/res/xml-pl/timezones.xml b/res/xml-pl/timezones.xml
index ea0d72d..998aa75 100644
--- a/res/xml-pl/timezones.xml
+++ b/res/xml-pl/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">Manaus</timezone>
     <timezone id="America/Santiago">Santiago</timezone>
     <timezone id="America/St_Johns">St. John's</timezone>
-    <timezone id="America/Araguaina">Araguaina</timezone>
+    <timezone id="America/Sao_Paulo">Săo Paulo</timezone>
     <timezone id="America/Argentina/Buenos_Aires">Buenos Aires</timezone>
     <timezone id="America/Godthab">Grenlandia</timezone>
     <timezone id="America/Montevideo">Urugwaj</timezone>
diff --git a/res/xml-pt/timezones.xml b/res/xml-pt/timezones.xml
index 176d214..83a9a2b 100644
--- a/res/xml-pt/timezones.xml
+++ b/res/xml-pt/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">Horário do Amazonas (Manaus)</timezone>
     <timezone id="America/Santiago">Horário do Chile (Santiago)</timezone>
     <timezone id="America/St_Johns">Horário de Terra Nova (St. Johns)</timezone>
-    <timezone id="America/Araguaina">Horário de Brasília (Araguaína)</timezone>
+    <timezone id="America/Sao_Paulo">Horário de Brasília (São Paulo)</timezone>
     <timezone id="America/Argentina/Buenos_Aires">Horário da Argentina (Buenos Aires)</timezone>
     <timezone id="America/Godthab">Horário da Groenlândia Ocidental (Godthab)</timezone>
     <timezone id="America/Montevideo">Horário do Uruguai (Montevidéu)</timezone>
diff --git a/res/xml-ro/timezones.xml b/res/xml-ro/timezones.xml
index c87d0e0..371ba75 100644
--- a/res/xml-ro/timezones.xml
+++ b/res/xml-ro/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">Ora Amazon (Manaus)</timezone>
     <timezone id="America/Santiago">Santiago</timezone>
     <timezone id="America/St_Johns">St. John's</timezone>
-    <timezone id="America/Araguaina">Araguaina</timezone>
+    <timezone id="America/Sao_Paulo">Sao Paulo</timezone>
     <timezone id="America/Argentina/Buenos_Aires">Ora Argentinei (Buenos Aires)</timezone>
     <timezone id="America/Godthab">Godthab</timezone>
     <timezone id="America/Montevideo">Montevideo</timezone>
diff --git a/res/xml-ru/timezones.xml b/res/xml-ru/timezones.xml
index e21095f..1564a6a 100644
--- a/res/xml-ru/timezones.xml
+++ b/res/xml-ru/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">Манаус</timezone>
     <timezone id="America/Santiago">Сантьяго</timezone>
     <timezone id="America/St_Johns">Сент-Джонс</timezone>
-    <timezone id="America/Araguaina">Арагуаина</timezone>
+    <timezone id="America/Sao_Paulo">Сан-Паулу</timezone>
     <timezone id="America/Argentina/Buenos_Aires">Буэнос-Айрес</timezone>
     <timezone id="America/Godthab">Готхоб</timezone>
     <timezone id="America/Montevideo">Монтевидео</timezone>
diff --git a/res/xml-sk/timezones.xml b/res/xml-sk/timezones.xml
index 2f4254c..bfac2f1 100644
--- a/res/xml-sk/timezones.xml
+++ b/res/xml-sk/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">Manaus</timezone>
     <timezone id="America/Santiago">Santiago</timezone>
     <timezone id="America/St_Johns">St. John's</timezone>
-    <timezone id="America/Araguaina">Araguaina</timezone>
+    <timezone id="America/Sao_Paulo">Sao Paulo</timezone>
     <timezone id="America/Argentina/Buenos_Aires">Buenos Aires</timezone>
     <timezone id="America/Godthab">Godthab</timezone>
     <timezone id="America/Montevideo">Montevideo</timezone>
diff --git a/res/xml-sr/timezones.xml b/res/xml-sr/timezones.xml
index 51caf08..c966e98 100644
--- a/res/xml-sr/timezones.xml
+++ b/res/xml-sr/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">Амазон време (Манаус)</timezone>
     <timezone id="America/Santiago">Чиле време (Сантијаго)</timezone>
     <timezone id="America/St_Johns">Њуфаундленд време (Св. Џон)</timezone>
-    <timezone id="America/Araguaina">Бразилија време (Арагвајана)</timezone>
+    <timezone id="America/Sao_Paulo">Бразилија време (Сао Паоло)</timezone>
     <timezone id="America/Argentina/Buenos_Aires">Аргентина време (Буенос Аирес)</timezone>
     <timezone id="America/Godthab">Западни Гренланд време (Нук)</timezone>
     <timezone id="America/Montevideo">Уругвај време (Монтевидео)</timezone>
diff --git a/res/xml-sv/timezones.xml b/res/xml-sv/timezones.xml
index ecf9921..2381e2a 100644
--- a/res/xml-sv/timezones.xml
+++ b/res/xml-sv/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">Amazonastid (Manaus)</timezone>
     <timezone id="America/Santiago">Chilensk tid (Santiago)</timezone>
     <timezone id="America/St_Johns">Newfoundland, normaltid (St. Johns)</timezone>
-    <timezone id="America/Araguaina">Brasiliansk tid (Araguaina)</timezone>
+    <timezone id="America/Sao_Paulo">Brasiliansk tid (São Paulo)</timezone>
     <timezone id="America/Argentina/Buenos_Aires">östargentinsk tid (Buenos Aires)</timezone>
     <timezone id="America/Godthab">Godthåb</timezone>
     <timezone id="America/Montevideo">Montevideo</timezone>
diff --git a/res/xml-th/timezones.xml b/res/xml-th/timezones.xml
index f2fdabc..05f3793 100644
--- a/res/xml-th/timezones.xml
+++ b/res/xml-th/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">มาเนาส์</timezone>
     <timezone id="America/Santiago">ซันติอาโก</timezone>
     <timezone id="America/St_Johns">เซนต์จอนส์</timezone>
-    <timezone id="America/Araguaina">อารากัวนา</timezone>
+    <timezone id="America/Sao_Paulo">เซาเปาลู</timezone>
     <timezone id="America/Argentina/Buenos_Aires">บัวโนสไอเรส</timezone>
     <timezone id="America/Godthab">กอดแธบ</timezone>
     <timezone id="America/Montevideo">มอนเตวิเดโอ</timezone>
diff --git a/res/xml-tr/timezones.xml b/res/xml-tr/timezones.xml
index 18a341e..0184606 100644
--- a/res/xml-tr/timezones.xml
+++ b/res/xml-tr/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">Amazon Saati (Manaus)</timezone>
     <timezone id="America/Santiago">Şili Saati (Santiago)</timezone>
     <timezone id="America/St_Johns">Newfoundland Saati (St. John's)</timezone>
-    <timezone id="America/Araguaina">Brasilia Saati (Araguaina)</timezone>
+    <timezone id="America/Sao_Paulo">Brasilia Saati (Sao Paulo)</timezone>
     <timezone id="America/Argentina/Buenos_Aires">Arjantin Saati (Buenos Aires)</timezone>
     <timezone id="America/Godthab">Batı Grönland Saati (Godthab)</timezone>
     <timezone id="America/Montevideo">Uruguay Saati (Montevideo)</timezone>
diff --git a/res/xml-uk/timezones.xml b/res/xml-uk/timezones.xml
index 2337570..2658f31 100644
--- a/res/xml-uk/timezones.xml
+++ b/res/xml-uk/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">Манаус</timezone>
     <timezone id="America/Santiago">Сантьяго</timezone>
     <timezone id="America/St_Johns">Сент-Джонс</timezone>
-    <timezone id="America/Araguaina">Арагуайна</timezone>
+    <timezone id="America/Sao_Paulo">Сан-Паулу</timezone>
     <timezone id="America/Argentina/Buenos_Aires">Буенос-Айрес</timezone>
     <timezone id="America/Godthab">Готхоб</timezone>
     <timezone id="America/Montevideo">Монтевідео</timezone>
diff --git a/res/xml-zh-rTW/timezones.xml b/res/xml-zh-rTW/timezones.xml
new file mode 100644
index 0000000..f9a2fb9
--- /dev/null
+++ b/res/xml-zh-rTW/timezones.xml
@@ -0,0 +1,85 @@
+<timezones>
+    <timezone id="Pacific/Majuro">馬朱諾</timezone>
+    <timezone id="Pacific/Midway">中途島</timezone>
+    <timezone id="Pacific/Honolulu">檀香山</timezone>
+    <timezone id="America/Anchorage">安克里治</timezone>
+    <timezone id="America/Los_Angeles">太平洋時間 (洛杉磯)</timezone>
+    <timezone id="America/Tijuana">太平洋時間 (提華納)</timezone>
+    <timezone id="America/Phoenix">山區時間 (鳳凰城)</timezone>
+    <timezone id="America/Chihuahua">奇華華</timezone>
+    <timezone id="America/Denver">山區時間 (丹佛)</timezone>
+    <timezone id="America/Costa_Rica">中部時間 (哥斯大黎加)</timezone>
+    <timezone id="America/Chicago">中部時間 (芝加哥)</timezone>
+    <timezone id="America/Mexico_City">中部時間 (墨西哥市)</timezone>
+    <timezone id="America/Regina">中部時間 (利宅那)</timezone>
+    <timezone id="America/Bogota">哥伦比亚时间 (哥倫比亞)</timezone>
+    <timezone id="America/New_York">東部時間 (紐約)</timezone>
+    <timezone id="America/Caracas">委内瑞拉时间 (卡拉卡斯)</timezone>
+    <timezone id="America/Barbados">大西洋時間 (巴貝多)</timezone>
+    <timezone id="America/Manaus">亚马逊时间 (瑪瑙斯)</timezone>
+    <timezone id="America/Santiago">聖地牙哥</timezone>
+    <timezone id="America/St_Johns">纽芬兰标准时间 (聖約翰)</timezone>
+    <timezone id="America/Sao_Paulo">聖保羅</timezone>
+    <timezone id="America/Argentina/Buenos_Aires">阿根廷時間 (布宜諾斯艾利斯)</timezone>
+    <timezone id="America/Godthab">高特哈市</timezone>
+    <timezone id="America/Montevideo">乌拉圭时间 (烏拉圭)</timezone>
+    <timezone id="Atlantic/South_Georgia">南喬治亞與南三明治島</timezone>
+    <timezone id="Atlantic/Azores">亞速爾群島</timezone>
+    <timezone id="Atlantic/Cape_Verde">維德角</timezone>
+    <timezone id="Africa/Casablanca">卡薩布蘭卡</timezone>
+    <timezone id="Europe/London">格林尼治标准时间 (倫敦)</timezone>
+    <timezone id="Europe/Amsterdam">中欧标准时间 (荷蘭)</timezone>
+    <timezone id="Europe/Belgrade">中欧标准时间 (塞爾維亞)</timezone>
+    <timezone id="Europe/Brussels">中欧标准时间 (布魯塞爾)</timezone>
+    <timezone id="Europe/Sarajevo">中欧标准时间 (沙拉耶佛)</timezone>
+    <timezone id="Africa/Windhoek">溫荷克</timezone>
+    <timezone id="Africa/Brazzaville">西部非洲时间 (剛果共和國)</timezone>
+    <timezone id="Asia/Amman">东欧标准时间 (約旦)</timezone>
+    <timezone id="Europe/Athens">东欧标准时间 (希臘)</timezone>
+    <timezone id="Asia/Beirut">东欧标准时间 (貝鲁特特)</timezone>
+    <timezone id="Africa/Cairo">东欧标准时间 (埃及)</timezone>
+    <timezone id="Europe/Helsinki">东欧标准时间 (芬蘭)</timezone>
+    <timezone id="Asia/Jerusalem">以色列标准时间 (耶路撒冷)</timezone>
+    <timezone id="Europe/Minsk">白俄羅斯</timezone>
+    <timezone id="Africa/Harare">非洲中部时间 (辛巴威)</timezone>
+    <timezone id="Asia/Baghdad">阿拉伯時間 (伊拉克)</timezone>
+    <timezone id="Europe/Moscow">莫斯科</timezone>
+    <timezone id="Asia/Kuwait">阿拉伯時間 (科威特)</timezone>
+    <timezone id="Africa/Nairobi">非洲东部时间 (奈洛比)</timezone>
+    <timezone id="Asia/Tehran">伊朗标准时间 (伊朗)</timezone>
+    <timezone id="Asia/Baku">亞塞拜然</timezone>
+    <timezone id="Asia/Tbilisi">喬治亞</timezone>
+    <timezone id="Asia/Yerevan">亞美尼亞</timezone>
+    <timezone id="Asia/Dubai">GT (杜拜)</timezone>
+    <timezone id="Asia/Kabul">阿富汗时间 (阿富汗)</timezone>
+    <timezone id="Asia/Karachi">喀拉蚩</timezone>
+    <timezone id="Asia/Oral">奧拉爾</timezone>
+    <timezone id="Asia/Yekaterinburg">葉卡捷林堡</timezone>
+    <timezone id="Asia/Calcutta">印度</timezone>
+    <timezone id="Asia/Colombo">可倫坡</timezone>
+    <timezone id="Asia/Katmandu">尼泊尔时间 (尼泊爾)</timezone>
+    <timezone id="Asia/Almaty">阿拉木圖</timezone>
+    <timezone id="Asia/Rangoon">缅甸时间 (緬甸)</timezone>
+    <timezone id="Asia/Krasnoyarsk">克拉斯諾雅斯克</timezone>
+    <timezone id="Asia/Bangkok">泰國</timezone>
+    <timezone id="Asia/Shanghai">中国标准时间 (北京)</timezone>
+    <timezone id="Asia/Hong_Kong">香港时间 (中華人民共和國香港特別行政區)</timezone>
+    <timezone id="Asia/Irkutsk">伊尔库茨克时间 (伊爾庫次克)</timezone>
+    <timezone id="Asia/Kuala_Lumpur">吉隆坡</timezone>
+    <timezone id="Australia/Perth">伯斯</timezone>
+    <timezone id="Asia/Taipei">中国标准时间 (台灣)</timezone>
+    <timezone id="Asia/Seoul">首爾</timezone>
+    <timezone id="Asia/Tokyo">日本時間 (東京)</timezone>
+    <timezone id="Asia/Yakutsk">雅库茨克时间 (雅庫次克)</timezone>
+    <timezone id="Australia/Adelaide">阿得雷德</timezone>
+    <timezone id="Australia/Darwin">達爾文</timezone>
+    <timezone id="Australia/Brisbane">布利斯班</timezone>
+    <timezone id="Australia/Hobart">荷巴特</timezone>
+    <timezone id="Australia/Sydney">雪梨</timezone>
+    <timezone id="Asia/Vladivostok">海参崴时间 (海參崴)</timezone>
+    <timezone id="Pacific/Guam">關島</timezone>
+    <timezone id="Asia/Magadan">马加丹时间 (馬加丹)</timezone>
+    <timezone id="Pacific/Auckland">奧克蘭</timezone>
+    <timezone id="Pacific/Fiji">斐濟</timezone>
+    <timezone id="Pacific/Tongatapu">東加</timezone>
+</timezones>
diff --git a/res/xml-zh/timezones.xml b/res/xml-zh/timezones.xml
index 1129e7c..be269d1 100644
--- a/res/xml-zh/timezones.xml
+++ b/res/xml-zh/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">亚马逊标准时间 (马瑙斯)</timezone>
     <timezone id="America/Santiago">圣地亚哥</timezone>
     <timezone id="America/St_Johns">纽芬兰时间 (圣约翰)</timezone>
-    <timezone id="America/Araguaina">阿拉瓜伊纳</timezone>
+    <timezone id="America/Sao_Paulo">圣保罗</timezone>
     <timezone id="America/Argentina/Buenos_Aires">布宜诺斯艾利斯</timezone>
     <timezone id="America/Godthab">戈特霍布</timezone>
     <timezone id="America/Montevideo">乌拉圭时间 (蒙得维的亚)</timezone>
diff --git a/res/xml/device_info_memory.xml b/res/xml/device_info_memory.xml
index febd00f..785fded 100644
--- a/res/xml/device_info_memory.xml
+++ b/res/xml/device_info_memory.xml
@@ -25,7 +25,7 @@
             style="?android:attr/preferenceInformationStyle" 
             android:title="@string/memory_available"
             android:summary="00"/>
-        <Preference android:key="memory_sd_unmount"
+        <Preference android:key="memory_sd_mount_toggle"
             android:title="@string/sd_eject"
             android:summary="@string/sd_eject_summary"/>
         <Preference android:key="memory_sd_format"
diff --git a/res/xml/testing_settings.xml b/res/xml/testing_settings.xml
index 87c9cf8..4b3ea0b 100644
--- a/res/xml/testing_settings.xml
+++ b/res/xml/testing_settings.xml
@@ -45,6 +45,15 @@
                 android:targetPackage="com.android.settings"
                 android:targetClass="com.android.settings.UsageStats" />
     </PreferenceScreen>
+
+    <PreferenceScreen
+            android:title="@string/testing_wifi_info" >
+        <intent
+                android:action="android.intent.action.MAIN"
+                android:targetPackage="com.android.settings"
+                android:targetClass="com.android.settings.wifi.WifiInfo" />
+    </PreferenceScreen>
+
     <!--    
     <PreferenceScreen
             android:title="@string/testing_sim_toolkit">
diff --git a/res/xml/testing_wifi_settings.xml b/res/xml/testing_wifi_settings.xml
new file mode 100644
index 0000000..7844aaa
--- /dev/null
+++ b/res/xml/testing_wifi_settings.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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.
+-->
+<PreferenceScreen
+xmlns:android="http://schemas.android.com/apk/res/android"
+android:title="@string/testing_wifi_info"
+android:key="parent">
+
+    <Preference
+        android:title="@string/wifi_api_test" >
+                <intent
+                android:action="android.intent.action.MAIN"
+                android:targetPackage="com.android.settings"
+                android:targetClass="com.android.settings.wifi.WifiAPITest" />
+    </Preference>
+
+    <Preference
+        android:title="@string/wifi_config_info" >
+        <intent
+                android:action="android.intent.action.MAIN"
+                android:targetPackage="com.android.settings"
+                android:targetClass="com.android.settings.wifi.WifiConfigInfo" />
+    </Preference>
+
+    <Preference
+        android:title="@string/wifi_status_test" >
+        <intent
+                android:action="android.intent.action.MAIN"
+                android:targetPackage="com.android.settings"
+                android:targetClass="com.android.settings.wifi.WifiStatusTest" />
+    </Preference>
+
+</PreferenceScreen>
diff --git a/res/xml/timezones.xml b/res/xml/timezones.xml
index c9667b8..9c7bd56 100644
--- a/res/xml/timezones.xml
+++ b/res/xml/timezones.xml
@@ -19,7 +19,7 @@
     <timezone id="America/Manaus">Manaus</timezone>
     <timezone id="America/Santiago">Santiago</timezone>
     <timezone id="America/St_Johns">Newfoundland</timezone>
-    <timezone id="America/Araguaina">Brasilia</timezone>
+    <timezone id="America/Sao_Paulo">Brasilia</timezone>
     <timezone id="America/Argentina/Buenos_Aires">Buenos Aires</timezone>
     <timezone id="America/Godthab">Greenland</timezone>
     <timezone id="America/Montevideo">Montevideo</timezone>
diff --git a/res/xml/tts_settings.xml b/res/xml/tts_settings.xml
index d94d575..6b1a843 100644
--- a/res/xml/tts_settings.xml
+++ b/res/xml/tts_settings.xml
@@ -37,6 +37,11 @@
                     
         <PreferenceCategory
             android:title="@string/tts_default_settings_section">
+            <ListPreference
+                android:key="tts_default_synth"
+                android:title="@string/tts_default_synth_title"
+                android:summary="@string/tts_default_synth_summary"
+                android:persistent="false" />
             
             <ListPreference
                 android:key="tts_default_rate"
diff --git a/res/xml/wireless_settings.xml b/res/xml/wireless_settings.xml
index 1bb55ef..2493021 100644
--- a/res/xml/wireless_settings.xml
+++ b/res/xml/wireless_settings.xml
@@ -44,14 +44,12 @@
         android:key="toggle_bluetooth"
         android:title="@string/bluetooth_quick_toggle_title"
         android:summary="@string/bluetooth_quick_toggle_summary"
-        android:persistent="false"
-        android:dependency="toggle_airplane" />
+        android:persistent="false" />
 
     <PreferenceScreen
         android:key="bt_settings"
         android:title="@string/bluetooth_settings_title"
-        android:summary="@string/bluetooth_settings_summary"
-        android:dependency="toggle_airplane">
+        android:summary="@string/bluetooth_settings_summary">
         <intent
             android:action="android.intent.action.MAIN"
             android:targetPackage="com.android.settings"
diff --git a/src/com/android/settings/AccessibilitySettings.java b/src/com/android/settings/AccessibilitySettings.java
index 6199e50..1d6db20 100644
--- a/src/com/android/settings/AccessibilitySettings.java
+++ b/src/com/android/settings/AccessibilitySettings.java
@@ -19,8 +19,14 @@
 import android.app.AlertDialog;
 import android.app.Service;
 import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.pm.ServiceInfo;
+import android.net.Uri;
 import android.os.Bundle;
+import android.os.SystemProperties;
 import android.preference.CheckBoxPreference;
 import android.preference.Preference;
 import android.preference.PreferenceActivity;
@@ -39,6 +45,9 @@
  * Activity with the accessibility settings.
  */
 public class AccessibilitySettings extends PreferenceActivity {
+    private static final String DEFAULT_SCREENREADER_MARKET_LINK =
+        "market://search?q=pname:com.google.android.marvin.talkback";
+
     private final String TOGGLE_ACCESSIBILITY_SERVICE_CHECKBOX =
         "toggle_accessibility_service_checkbox";
 
@@ -108,6 +117,9 @@
                 setAccessibilityServicePreferencesState(false);
             }
             mToggleCheckBox.setEnabled(false);
+            // Notify user that they do not have any accessibility apps
+            // installed and direct them to Market to get TalkBack
+            displayNoAppsAlert();
         }
     }
 
@@ -274,4 +286,42 @@
             mAccessibilityServicesCategory.addPreference(preference);
         }
     }
+
+    /**
+     * Displays a message telling the user that they do not have any accessibility
+     * related apps installed and that they can get TalkBack (Google's free screen
+     * reader) from Market.
+     */
+    private void displayNoAppsAlert() {
+        try {
+            PackageManager pm = getPackageManager();
+            ApplicationInfo info = pm.getApplicationInfo("com.android.vending", 0);
+        } catch (NameNotFoundException e) {
+            // This is a no-op if the user does not have Android Market
+            return;
+        }
+        AlertDialog.Builder noAppsAlert = new AlertDialog.Builder(this);
+        noAppsAlert.setTitle(R.string.accessibility_service_no_apps_title);
+        noAppsAlert.setMessage(R.string.accessibility_service_no_apps_message);
+
+        noAppsAlert.setPositiveButton(android.R.string.ok,
+            new DialogInterface.OnClickListener() {
+                public void onClick(DialogInterface dialog, int which) {
+                    String screenreaderMarketLink =
+                        SystemProperties.get("ro.screenreader.market", DEFAULT_SCREENREADER_MARKET_LINK);
+                    Uri marketUri = Uri.parse(screenreaderMarketLink);
+                    Intent marketIntent = new Intent(Intent.ACTION_VIEW, marketUri);
+                    startActivity(marketIntent);
+                    finish();
+                }
+            });
+
+        noAppsAlert.setNegativeButton(android.R.string.cancel,
+            new DialogInterface.OnClickListener() {
+                public void onClick(DialogInterface dialog, int which) {
+                }
+            });
+
+        noAppsAlert.show();
+    }
 }
diff --git a/src/com/android/settings/ActivityPicker.java b/src/com/android/settings/ActivityPicker.java
index 4b0469c..d984adb 100644
--- a/src/com/android/settings/ActivityPicker.java
+++ b/src/com/android/settings/ActivityPicker.java
@@ -16,6 +16,7 @@
 
 package com.android.settings;
 
+import android.graphics.ColorFilter;
 import android.util.DisplayMetrics;
 import com.android.internal.app.AlertActivity;
 import com.android.internal.app.AlertController;
@@ -349,68 +350,124 @@
             int width = mIconWidth;
             int height = mIconHeight;
 
-            if (icon instanceof PaintDrawable) {
-                PaintDrawable painter = (PaintDrawable) icon;
-                painter.setIntrinsicWidth(width);
-                painter.setIntrinsicHeight(height);
-            } else if (icon instanceof BitmapDrawable) {
-                // Ensure the bitmap has a density.
-                BitmapDrawable bitmapDrawable = (BitmapDrawable) icon;
-                Bitmap bitmap = bitmapDrawable.getBitmap();
-                if (bitmap.getDensity() == Bitmap.DENSITY_NONE) {
-                    bitmapDrawable.setTargetDensity(mMetrics);
-                }
+            if (icon == null) {
+                return new EmptyDrawable(width, height);
             }
-            int iconWidth = icon.getIntrinsicWidth();
-            int iconHeight = icon.getIntrinsicHeight();
-
-            if (iconWidth > 0 && iconHeight > 0) {
-                if (width < iconWidth || height < iconHeight) {
-                    final float ratio = (float) iconWidth / iconHeight;
-
-                    if (iconWidth > iconHeight) {
-                        height = (int) (width / ratio);
-                    } else if (iconHeight > iconWidth) {
-                        width = (int) (height * ratio);
+            
+            try {
+                if (icon instanceof PaintDrawable) {
+                    PaintDrawable painter = (PaintDrawable) icon;
+                    painter.setIntrinsicWidth(width);
+                    painter.setIntrinsicHeight(height);
+                } else if (icon instanceof BitmapDrawable) {
+                    // Ensure the bitmap has a density.
+                    BitmapDrawable bitmapDrawable = (BitmapDrawable) icon;
+                    Bitmap bitmap = bitmapDrawable.getBitmap();
+                    if (bitmap.getDensity() == Bitmap.DENSITY_NONE) {
+                        bitmapDrawable.setTargetDensity(mMetrics);
                     }
-
-                    final Bitmap.Config c = icon.getOpacity() != PixelFormat.OPAQUE ?
-                                Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565;
-                    final Bitmap thumb = Bitmap.createBitmap(mIconWidth, mIconHeight, c);
-                    final Canvas canvas = mCanvas;
-                    canvas.setBitmap(thumb);
-                    // Copy the old bounds to restore them later
-                    // If we were to do oldBounds = icon.getBounds(),
-                    // the call to setBounds() that follows would
-                    // change the same instance and we would lose the
-                    // old bounds
-                    mOldBounds.set(icon.getBounds());
-                    final int x = (mIconWidth - width) / 2;
-                    final int y = (mIconHeight - height) / 2;
-                    icon.setBounds(x, y, x + width, y + height);
-                    icon.draw(canvas);
-                    icon.setBounds(mOldBounds);
-                    //noinspection deprecation
-                    icon = new BitmapDrawable(thumb);
-                    ((BitmapDrawable) icon).setTargetDensity(mMetrics);
-                } else if (iconWidth < width && iconHeight < height) {
-                    final Bitmap.Config c = Bitmap.Config.ARGB_8888;
-                    final Bitmap thumb = Bitmap.createBitmap(mIconWidth, mIconHeight, c);
-                    final Canvas canvas = mCanvas;
-                    canvas.setBitmap(thumb);
-                    mOldBounds.set(icon.getBounds());
-                    final int x = (width - iconWidth) / 2;
-                    final int y = (height - iconHeight) / 2;
-                    icon.setBounds(x, y, x + iconWidth, y + iconHeight);
-                    icon.draw(canvas);
-                    icon.setBounds(mOldBounds);
-                    //noinspection deprecation
-                    icon = new BitmapDrawable(thumb);
-                    ((BitmapDrawable) icon).setTargetDensity(mMetrics);
                 }
+                int iconWidth = icon.getIntrinsicWidth();
+                int iconHeight = icon.getIntrinsicHeight();
+    
+                if (iconWidth > 0 && iconHeight > 0) {
+                    if (width < iconWidth || height < iconHeight) {
+                        final float ratio = (float) iconWidth / iconHeight;
+    
+                        if (iconWidth > iconHeight) {
+                            height = (int) (width / ratio);
+                        } else if (iconHeight > iconWidth) {
+                            width = (int) (height * ratio);
+                        }
+    
+                        final Bitmap.Config c = icon.getOpacity() != PixelFormat.OPAQUE ?
+                                    Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565;
+                        final Bitmap thumb = Bitmap.createBitmap(mIconWidth, mIconHeight, c);
+                        final Canvas canvas = mCanvas;
+                        canvas.setBitmap(thumb);
+                        // Copy the old bounds to restore them later
+                        // If we were to do oldBounds = icon.getBounds(),
+                        // the call to setBounds() that follows would
+                        // change the same instance and we would lose the
+                        // old bounds
+                        mOldBounds.set(icon.getBounds());
+                        final int x = (mIconWidth - width) / 2;
+                        final int y = (mIconHeight - height) / 2;
+                        icon.setBounds(x, y, x + width, y + height);
+                        icon.draw(canvas);
+                        icon.setBounds(mOldBounds);
+                        //noinspection deprecation
+                        icon = new BitmapDrawable(thumb);
+                        ((BitmapDrawable) icon).setTargetDensity(mMetrics);
+                    } else if (iconWidth < width && iconHeight < height) {
+                        final Bitmap.Config c = Bitmap.Config.ARGB_8888;
+                        final Bitmap thumb = Bitmap.createBitmap(mIconWidth, mIconHeight, c);
+                        final Canvas canvas = mCanvas;
+                        canvas.setBitmap(thumb);
+                        mOldBounds.set(icon.getBounds());
+                        final int x = (width - iconWidth) / 2;
+                        final int y = (height - iconHeight) / 2;
+                        icon.setBounds(x, y, x + iconWidth, y + iconHeight);
+                        icon.draw(canvas);
+                        icon.setBounds(mOldBounds);
+                        //noinspection deprecation
+                        icon = new BitmapDrawable(thumb);
+                        ((BitmapDrawable) icon).setTargetDensity(mMetrics);
+                    }
+                }
+    
+            } catch (Throwable t) {
+                icon = new EmptyDrawable(width, height);
             }
 
             return icon;
         }
     }
+
+    private static class EmptyDrawable extends Drawable {
+        private final int mWidth;
+        private final int mHeight;
+
+        EmptyDrawable(int width, int height) {
+            mWidth = width;
+            mHeight = height;
+        }
+
+        @Override
+        public int getIntrinsicWidth() {
+            return mWidth;
+        }
+
+        @Override
+        public int getIntrinsicHeight() {
+            return mHeight;
+        }
+
+        @Override
+        public int getMinimumWidth() {
+            return mWidth;
+        }
+
+        @Override
+        public int getMinimumHeight() {
+            return mHeight;
+        }
+
+        @Override
+        public void draw(Canvas canvas) {
+        }
+
+        @Override
+        public void setAlpha(int alpha) {
+        }
+
+        @Override
+        public void setColorFilter(ColorFilter cf) {
+        }
+
+        @Override
+        public int getOpacity() {
+            return PixelFormat.TRANSLUCENT;
+        }
+    }    
 }
diff --git a/src/com/android/settings/AppWidgetPickActivity.java b/src/com/android/settings/AppWidgetPickActivity.java
index cddc687..176ac80 100644
--- a/src/com/android/settings/AppWidgetPickActivity.java
+++ b/src/com/android/settings/AppWidgetPickActivity.java
@@ -167,6 +167,7 @@
      */
     void putAppWidgetItems(List<AppWidgetProviderInfo> appWidgets,
             List<Bundle> customExtras, List<PickAdapter.Item> items) {
+        if (appWidgets == null) return;
         final int size = appWidgets.size();
         for (int i = 0; i < size; i++) {
             AppWidgetProviderInfo info = appWidgets.get(i);
diff --git a/src/com/android/settings/BandMode.java b/src/com/android/settings/BandMode.java
index a8c7833..4c7663e 100644
--- a/src/com/android/settings/BandMode.java
+++ b/src/com/android/settings/BandMode.java
@@ -62,7 +62,7 @@
         setContentView(R.layout.band_mode);
 
         setTitle(getString(R.string.band_mode_title));
-        getWindow().setLayout(WindowManager.LayoutParams.FILL_PARENT,
+        getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT,
                                     WindowManager.LayoutParams.WRAP_CONTENT);
 
         mPhone = PhoneFactory.getDefaultPhone();
diff --git a/src/com/android/settings/CredentialInstaller.java b/src/com/android/settings/CredentialInstaller.java
index 5a457d7..7c63b1c 100644
--- a/src/com/android/settings/CredentialInstaller.java
+++ b/src/com/android/settings/CredentialInstaller.java
@@ -32,6 +32,7 @@
  */
 public class CredentialInstaller extends Activity {
     private static final String TAG = "CredentialInstaller";
+    private static final String UNLOCKING = "ulck";
 
     private KeyStore mKeyStore = KeyStore.getInstance();
     private boolean mUnlocking = false;
@@ -42,15 +43,26 @@
 
         if (!"com.android.certinstaller".equals(getCallingPackage())) finish();
 
-        if (!isKeyStoreLocked()) {
+        if (isKeyStoreUnlocked()) {
             install();
-            finish();
         } else if (!mUnlocking) {
             mUnlocking = true;
             Credentials.getInstance().unlock(this);
-        } else {
-            finish();
+            return;
         }
+        finish();
+    }
+
+    @Override
+    protected void onSaveInstanceState(Bundle outStates) {
+        super.onSaveInstanceState(outStates);
+        outStates.putBoolean(UNLOCKING, mUnlocking);
+    }
+
+    @Override
+    protected void onRestoreInstanceState(Bundle savedStates) {
+        super.onRestoreInstanceState(savedStates);
+        mUnlocking = savedStates.getBoolean(UNLOCKING);
     }
 
     private void install() {
@@ -61,13 +73,13 @@
             byte[] data = bundle.getByteArray(key);
             if (data == null) continue;
             boolean success = mKeyStore.put(key.getBytes(), data);
-            Log.v(TAG, "install " + key + ": " + data.length + "  success? " + success);
+            Log.d(TAG, "install " + key + ": " + data.length + "  success? " + success);
             if (!success) return;
         }
         setResult(RESULT_OK);
     }
 
-    private boolean isKeyStoreLocked() {
-        return (mKeyStore.test() != KeyStore.NO_ERROR);
+    private boolean isKeyStoreUnlocked() {
+        return (mKeyStore.test() == KeyStore.NO_ERROR);
     }
 }
diff --git a/src/com/android/settings/IccLockSettings.java b/src/com/android/settings/IccLockSettings.java
index 3a7a708..6494567 100644
--- a/src/com/android/settings/IccLockSettings.java
+++ b/src/com/android/settings/IccLockSettings.java
@@ -119,6 +119,11 @@
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
+        if (Utils.isMonkeyRunning()) {
+            finish();
+            return;
+        }
+
         addPreferencesFromResource(R.xml.sim_lock_settings);
 
         mPinDialog = (EditPinPreference) findPreference(PIN_DIALOG);
diff --git a/src/com/android/settings/InstalledAppDetails.java b/src/com/android/settings/InstalledAppDetails.java
index d05014b..eeecf46 100644
--- a/src/com/android/settings/InstalledAppDetails.java
+++ b/src/com/android/settings/InstalledAppDetails.java
@@ -280,7 +280,7 @@
         if (pkgInfo != null) {
             mAppVersion.setVisibility(View.VISIBLE);
             mAppVersion.setText(getString(R.string.version_text,
-                    String.valueOf(pkgInfo.versionCode)));
+                    String.valueOf(pkgInfo.versionName)));
         } else {
             mAppVersion.setVisibility(View.GONE);
         }
@@ -539,7 +539,7 @@
         } else if (v == mForceStopButton) {
             ActivityManager am = (ActivityManager)getSystemService(
                     Context.ACTIVITY_SERVICE);
-            am.restartPackage(packageName);
+            am.forceStopPackage(packageName);
         }
     }
 
diff --git a/src/com/android/settings/LauncherAppWidgetBinder.java b/src/com/android/settings/LauncherAppWidgetBinder.java
deleted file mode 100644
index 98ea246..0000000
--- a/src/com/android/settings/LauncherAppWidgetBinder.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.settings;
-
-import android.app.Activity;
-import android.appwidget.AppWidgetManager;
-import android.content.ContentResolver;
-import android.content.ContentUris;
-import android.content.ContentValues;
-import android.content.Intent;
-import android.content.ComponentName;
-import android.database.Cursor;
-import android.database.SQLException;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.net.Uri;
-import android.os.Bundle;
-import android.provider.BaseColumns;
-import android.util.Log;
-
-import java.util.ArrayList;
-
-public class LauncherAppWidgetBinder extends Activity {
-    private static final String TAG = "LauncherAppWidgetBinder";
-    private static final boolean LOGD = true;
-    
-    static final String AUTHORITY = "com.android.launcher.settings";
-    static final String TABLE_FAVORITES = "favorites";
-    
-    static final String EXTRA_BIND_SOURCES = "com.android.launcher.settings.bindsources";
-    static final String EXTRA_BIND_TARGETS = "com.android.launcher.settings.bindtargets";
-
-    static final String EXTRA_APPWIDGET_BITMAPS = "com.android.camera.appwidgetbitmaps";
-    
-    /**
-     * {@link ContentProvider} constants pulled over from Launcher
-     */
-    static final class LauncherProvider implements BaseColumns {
-        static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/" + TABLE_FAVORITES);
-
-        static final String ITEM_TYPE = "itemType";
-        static final String APPWIDGET_ID = "appWidgetId";
-        static final String ICON = "icon";
-
-        static final int ITEM_TYPE_APPWIDGET = 4;
-        static final int ITEM_TYPE_WIDGET_CLOCK = 1000;
-        static final int ITEM_TYPE_WIDGET_SEARCH = 1001;
-        static final int ITEM_TYPE_WIDGET_PHOTO_FRAME = 1002;
-    }
-    
-    static final String[] BIND_PROJECTION = new String[] {
-        LauncherProvider._ID,
-        LauncherProvider.ITEM_TYPE,
-        LauncherProvider.APPWIDGET_ID,
-        LauncherProvider.ICON,
-    };
-    
-    static final int INDEX_ID = 0;
-    static final int INDEX_ITEM_TYPE = 1;
-    static final int INDEX_APPWIDGET_ID = 2;
-    static final int INDEX_ICON = 3;
-    
-    static final ComponentName BIND_PHOTO_APPWIDGET = new ComponentName("com.android.camera",
-            "com.android.camera.PhotoAppWidgetBind");
-
-    @Override
-    protected void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-        finish();
-
-        // This helper reaches into the Launcher database and binds any unlinked
-        // widgets. If will remove any items that can't be bound successfully.
-        // We protect this binder at the manifest level by asserting the caller
-        // has the Launcher WRITE_SETTINGS permission.
-        
-        final Intent intent = getIntent();
-        final Bundle extras = intent.getExtras();
-        
-        int[] bindSources = null;
-        ArrayList<ComponentName> bindTargets = null;
-        Exception exception = null;
-
-        try {
-            bindSources = extras.getIntArray(EXTRA_BIND_SOURCES);
-            bindTargets = intent.getParcelableArrayListExtra(EXTRA_BIND_TARGETS);
-        } catch (ClassCastException ex) {
-            exception = ex;
-        }
-        
-        if (exception != null || bindSources == null || bindTargets == null ||
-                bindSources.length != bindTargets.size()) {
-            Log.w(TAG, "Problem reading incoming bind request, or invalid request", exception);
-            return;
-        }
-        
-        final String selectWhere = buildOrWhereString(LauncherProvider.ITEM_TYPE, bindSources);
-        
-        final ContentResolver resolver = getContentResolver();
-        final AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(this);
-        
-        boolean foundPhotoAppWidgets = false;
-        final ArrayList<Integer> photoAppWidgetIds = new ArrayList<Integer>();
-        final ArrayList<Bitmap> photoBitmaps = new ArrayList<Bitmap>();
-        
-        Cursor c = null;
-        
-        try {
-            c = resolver.query(LauncherProvider.CONTENT_URI,
-                    BIND_PROJECTION, selectWhere, null, null);
-            
-            if (LOGD) Log.d(TAG, "found bind cursor count="+c.getCount());
-            
-            final ContentValues values = new ContentValues();
-            while (c != null && c.moveToNext()) {
-                long favoriteId = c.getLong(INDEX_ID);
-                int itemType = c.getInt(INDEX_ITEM_TYPE);
-                int appWidgetId = c.getInt(INDEX_APPWIDGET_ID);
-                byte[] iconData = c.getBlob(INDEX_ICON);
-                
-                // Find the binding target for this type
-                ComponentName targetAppWidget = null;
-                for (int i = 0; i < bindSources.length; i++) {
-                    if (bindSources[i] == itemType) {
-                        targetAppWidget = bindTargets.get(i);
-                        break;
-                    }
-                }
-                
-                if (LOGD) Log.d(TAG, "found matching targetAppWidget="+targetAppWidget.toString()+" for favoriteId="+favoriteId);
-                
-                boolean bindSuccess = false;
-                try {
-                    appWidgetManager.bindAppWidgetId(appWidgetId, targetAppWidget);
-                    bindSuccess = true;
-                } catch (RuntimeException ex) {
-                    Log.w(TAG, "Problem binding widget", ex);
-                }
-                
-                // Handle special case of photo widget by loading bitmap and
-                // preparing for later binding
-                if (bindSuccess && iconData != null &&
-                        itemType == LauncherProvider.ITEM_TYPE_WIDGET_PHOTO_FRAME) {
-                    Bitmap bitmap = BitmapFactory.decodeByteArray(iconData, 0, iconData.length);
-                    
-                    photoAppWidgetIds.add(appWidgetId);
-                    photoBitmaps.add(bitmap);
-                    foundPhotoAppWidgets = true;
-                }
-
-                if (LOGD) Log.d(TAG, "after finished, success="+bindSuccess);
-
-                // Depending on success, update launcher or remove item
-                Uri favoritesUri = ContentUris.withAppendedId(LauncherProvider.CONTENT_URI, favoriteId);
-                if (bindSuccess) {
-                    values.clear();
-                    values.put(LauncherProvider.ITEM_TYPE, LauncherProvider.ITEM_TYPE_APPWIDGET);
-                    values.putNull(LauncherProvider.ICON);
-                    resolver.update(favoritesUri, values, null, null);
-                } else {
-                    resolver.delete(favoritesUri, null, null);
-                }
-                    
-            }
-        } catch (SQLException ex) {
-            Log.w(TAG, "Problem while binding appWidgetIds for Launcher", ex);
-        } finally {
-            if (c != null) {
-                c.close();
-            }
-        }
-        
-        if (foundPhotoAppWidgets) {
-            // Convert appWidgetIds into int[]
-            final int N = photoAppWidgetIds.size();
-            final int[] photoAppWidgetIdsArray = new int[N];
-            for (int i = 0; i < N; i++) {
-                photoAppWidgetIdsArray[i] = photoAppWidgetIds.get(i);
-            }
-            
-            // Launch intent over to handle bitmap binding, but we don't need to
-            // wait around for the result.
-            final Intent bindIntent = new Intent();
-            bindIntent.setComponent(BIND_PHOTO_APPWIDGET);
-            
-            final Bundle bindExtras = new Bundle();
-            bindExtras.putIntArray(AppWidgetManager.EXTRA_APPWIDGET_IDS, photoAppWidgetIdsArray);
-            bindExtras.putParcelableArrayList(EXTRA_APPWIDGET_BITMAPS, photoBitmaps);
-            bindIntent.putExtras(bindExtras);
-            
-            startActivity(bindIntent);
-        }
-        
-        if (LOGD) Log.d(TAG, "completely finished with binding for Launcher");
-    }
-    
-    /**
-     * Build a query string that will match any row where the column matches
-     * anything in the values list.
-     */
-    static String buildOrWhereString(String column, int[] values) {
-        StringBuilder selectWhere = new StringBuilder();
-        for (int i = values.length - 1; i >= 0; i--) {
-            selectWhere.append(column).append("=").append(values[i]);
-            if (i > 0) {
-                selectWhere.append(" OR ");
-            }
-        }
-        return selectWhere.toString();
-    }
-    
-}
diff --git a/src/com/android/settings/LocalePicker.java b/src/com/android/settings/LocalePicker.java
index d31e82c..6c73d0a 100644
--- a/src/com/android/settings/LocalePicker.java
+++ b/src/com/android/settings/LocalePicker.java
@@ -37,6 +37,7 @@
 
 public class LocalePicker extends ListActivity {
     private static final String TAG = "LocalePicker";
+    private static final boolean DEBUG = false;
 
     Loc[] mLocales;
     String[] mSpecialLocaleCodes;
@@ -90,8 +91,9 @@
                 Locale l = new Locale(language, country);
 
                 if (finalSize == 0) {
-                    Log.v(TAG, "adding initial "+
-                            toTitleCase(l.getDisplayLanguage(l)));
+                    if (DEBUG) {
+                        Log.v(TAG, "adding initial "+ toTitleCase(l.getDisplayLanguage(l)));
+                    }
                     preprocess[finalSize++] =
                             new Loc(toTitleCase(l.getDisplayLanguage(l)), l);
                 } else {
@@ -101,13 +103,16 @@
                     //  diff lang -> insert ours with lang-only name
                     if (preprocess[finalSize-1].locale.getLanguage().equals(
                             language)) {
-                        Log.v(TAG, "backing up and fixing "+
-                                preprocess[finalSize-1].label+" to "+
-                                getDisplayName(preprocess[finalSize-1].locale));
+                        if (DEBUG) {
+                            Log.v(TAG, "backing up and fixing "+
+                                    preprocess[finalSize-1].label+" to "+
+                                    getDisplayName(preprocess[finalSize-1].locale));
+                        }
                         preprocess[finalSize-1].label = toTitleCase(
                                 getDisplayName(preprocess[finalSize-1].locale));
-                        Log.v(TAG, "  and adding "+
-                                toTitleCase(getDisplayName(l)));
+                        if (DEBUG) {
+                            Log.v(TAG, "  and adding "+ toTitleCase(getDisplayName(l)));
+                        }
                         preprocess[finalSize++] =
                                 new Loc(toTitleCase(getDisplayName(l)), l);
                     } else {
@@ -117,7 +122,9 @@
                         } else {
                             displayName = toTitleCase(l.getDisplayLanguage(l));
                         }
-                        Log.v(TAG, "adding "+displayName);
+                        if (DEBUG) {
+                            Log.v(TAG, "adding "+displayName);
+                        }
                         preprocess[finalSize++] = new Loc(displayName, l);
                     }
                 }
diff --git a/src/com/android/settings/RadioInfo.java b/src/com/android/settings/RadioInfo.java
index ce236fd..f0fcdd7 100644
--- a/src/com/android/settings/RadioInfo.java
+++ b/src/com/android/settings/RadioInfo.java
@@ -20,6 +20,8 @@
 import android.app.AlertDialog;
 import android.content.DialogInterface;
 import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
 import android.content.SharedPreferences;
 import android.content.res.Resources;
 import android.net.Uri;
@@ -57,8 +59,7 @@
 import com.android.internal.telephony.PhoneFactory;
 import com.android.internal.telephony.PhoneStateIntentReceiver;
 import com.android.internal.telephony.TelephonyProperties;
-import com.android.internal.telephony.gsm.GSMPhone;
-import com.android.internal.telephony.gsm.PdpConnection;
+import com.android.internal.telephony.gsm.GsmDataConnection;
 
 import org.apache.http.HttpResponse;
 import org.apache.http.client.HttpClient;
@@ -72,6 +73,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import android.util.Log;
+
 public class RadioInfo extends Activity {
     private final String TAG = "phone";
 
@@ -83,8 +86,6 @@
     private static final int EVENT_QUERY_PREFERRED_TYPE_DONE = 1000;
     private static final int EVENT_SET_PREFERRED_TYPE_DONE = 1001;
     private static final int EVENT_QUERY_NEIGHBORING_CIDS_DONE = 1002;
-    private static final int EVENT_SET_QXDMLOG_DONE = 1003;
-    private static final int EVENT_SET_CIPHER_DONE = 1004;
     private static final int EVENT_QUERY_SMSC_DONE = 1005;
     private static final int EVENT_UPDATE_SMSC_DONE = 1006;
 
@@ -94,7 +95,9 @@
     private static final int MENU_ITEM_VIEW_SDN     = 3;
     private static final int MENU_ITEM_GET_PDP_LIST = 4;
     private static final int MENU_ITEM_TOGGLE_DATA  = 5;
-    private static final int MENU_ITEM_TOGGLE_DATA_ON_BOOT = 6;
+
+    static final String ENABLE_DATA_STR = "Enable data connection";
+    static final String DISABLE_DATA_STR = "Disable data connection";
 
     private TextView mDeviceId; //DeviceId is the IMEI in GSM and the MEID in CDMA
     private TextView number;
@@ -119,16 +122,14 @@
     private TextView mPingIpAddr;
     private TextView mPingHostname;
     private TextView mHttpClientTest;
-    private TextView cipherState;
     private TextView dnsCheckState;
     private EditText smsc;
     private Button radioPowerButton;
-    private Button qxdmLogButton;
-    private Button cipherToggleButton;
     private Button dnsCheckToggleButton;
     private Button pingTestButton;
     private Button updateSmscButton;
     private Button refreshSmscButton;
+    private Button oemInfoButton;
     private Spinner preferredNetworkType;
 
     private TelephonyManager mTelephonyManager;
@@ -136,11 +137,6 @@
     private PhoneStateIntentReceiver mPhoneStateReceiver;
     private INetStatService netstat;
 
-    private OemCommands mOem = null;
-    private boolean mQxdmLogEnabled;
-    // The requested cipher state
-    private boolean mCipherOn;
-
     private String mPingIpAddrResult;
     private String mPingHostnameResult;
     private String mHttpClientTestResult;
@@ -220,22 +216,6 @@
                         mNeighboringCids.setText("unknown");
                     }
                     break;
-                case EVENT_SET_QXDMLOG_DONE:
-                    ar= (AsyncResult) msg.obj;
-                    if (ar.exception == null) {
-                        mQxdmLogEnabled = !mQxdmLogEnabled;
-
-                        updateQxdmState(mQxdmLogEnabled);
-                        displayQxdmEnableResult();
-                    }
-                    break;
-                case EVENT_SET_CIPHER_DONE:
-                    ar= (AsyncResult) msg.obj;
-                    if (ar.exception == null) {
-                        setCiphPref(mCipherOn);
-                    }
-                    updateCiphState();
-                    break;
                 case EVENT_QUERY_SMSC_DONE:
                     ar= (AsyncResult) msg.obj;
                     if (ar.exception != null) {
@@ -258,116 +238,6 @@
         }
     };
 
-    static private class OemCommands {
-
-        public static final int OEM_QXDM_SDLOG_DEFAULT_FILE_SIZE = 32;
-        public static final int OEM_QXDM_SDLOG_DEFAULT_MASK = 0;
-        public static final int OEM_QXDM_SDLOG_DEFAULT_MAX_INDEX = 8;
-
-        static final int SIZE_OF_INT = 4;
-        static final int OEM_FEATURE_ENABLE = 1;
-        static final int OEM_FEATURE_DISABLE = 0;
-        static final int OEM_SIMPE_FEAUTURE_LEN = 1;
-
-        static final int OEM_QXDM_SDLOG_FUNCTAG = 0x00010000;
-        static final int OEM_QXDM_SDLOG_LEN = 4;
-        static final int OEM_PS_AUTO_ATTACH_FUNCTAG = 0x00020000;
-        static final int OEM_CIPHERING_FUNCTAG = 0x00020001;
-
-        /**
-         * The OEM interface to store QXDM to SD.
-         *
-         * To start/stop logging QXDM logs to SD card, use tag
-         * OEM_RIL_HOOK_QXDM_SD_LOG_SETUP 0x00010000
-         *
-         * "data" is a const oem_ril_hook_qxdm_sdlog_setup_data_st *
-         * ((const oem_ril_hook_qxdm_sdlog_setup_data_st *)data)->head.func_tag
-         * should be OEM_RIL_HOOK_QXDM_SD_LOG_SETUP
-         * ((const oem_ril_hook_qxdm_sdlog_setup_data_st *)data)->head.len
-         * should be "sizeof(unsigned int) * 4"
-         * ((const oem_ril_hook_qxdm_sdlog_setup_data_st *)data)->mode
-         * could be 0 for 'stop logging', or 1 for 'start logging'
-         * ((const oem_ril_hook_qxdm_sdlog_setup_data_st *)data)->log_file_size
-         * will assign the size of each log file, and it could be a value between
-         * 1 and 512 (in megabytes, default value is recommended to set as 32).
-         * This value will be ignored when mode == 0.
-         * ((const oem_ril_hook_qxdm_sdlog_setup_data_st *)data)->log_mask will
-         * assign the rule to filter logs, and it is a bitmask (bit0 is for MsgAll,
-         * bit1 is for LogAll, and bit2 is for EventAll) recommended to be set as 0
-         * by default. This value will be ignored when mode == 0.
-         * ((const oem_ril_hook_qxdm_sdlog_setup_data_st *)data)->log_max_fileindex
-         * set the how many logfiles will storted before roll over. This value will
-         * be ignored when mode == 0.
-         *
-         * "response" is NULL
-         *
-         * typedef struct _oem_ril_hook_raw_head_st {
-         *      unsigned int func_tag;
-         *      unsigned int len;
-         * } oem_ril_hook_raw_head_st;
-         *
-         * typedef struct _oem_ril_hook_qxdm_sdlog_setup_data_st {
-         *      oem_ril_hook_raw_head_st head;
-         *      unsigned int mode;
-         *      unsigned int log_file_size;
-         *      unsigned int log_mask;
-         *      unsigned int log_max_fileindex;
-         * } oem_ril_hook_qxdm_sdlog_setup_data_st;
-         *
-         * @param enable set true to start logging QXDM in SD card
-         * @param fileSize is the log file size in MB
-         * @param mask is the log mask to filter
-         * @param maxIndex is the maximum roll-over file number
-         * @return byteArray to use in RIL RAW command
-         */
-        byte[] getQxdmSdlogData(boolean enable, int fileSize, int mask, int maxIndex) {
-            ByteArrayOutputStream bos = new ByteArrayOutputStream();
-            DataOutputStream dos = new DataOutputStream(bos);
-            try {
-                writeIntLittleEndian(dos, OEM_QXDM_SDLOG_FUNCTAG);
-                writeIntLittleEndian(dos, OEM_QXDM_SDLOG_LEN * SIZE_OF_INT);
-                writeIntLittleEndian(dos, enable ?
-                        OEM_FEATURE_ENABLE : OEM_FEATURE_DISABLE);
-                writeIntLittleEndian(dos, fileSize);
-                writeIntLittleEndian(dos, mask);
-                writeIntLittleEndian(dos, maxIndex);
-            } catch (IOException e) {
-                return null;
-            }
-            return bos.toByteArray();
-        }
-
-        byte[] getPsAutoAttachData(boolean enable) {
-            return getSimpleFeatureData(OEM_PS_AUTO_ATTACH_FUNCTAG, enable);
-        }
-
-        byte[] getCipheringData(boolean enable) {
-            return getSimpleFeatureData(OEM_CIPHERING_FUNCTAG, enable);
-        }
-
-        private byte[] getSimpleFeatureData(int tag, boolean enable) {
-            ByteArrayOutputStream bos = new ByteArrayOutputStream();
-            DataOutputStream dos = new DataOutputStream(bos);
-            try {
-                writeIntLittleEndian(dos, tag);
-                writeIntLittleEndian(dos, OEM_SIMPE_FEAUTURE_LEN * SIZE_OF_INT);
-                writeIntLittleEndian(dos, enable ?
-                        OEM_FEATURE_ENABLE : OEM_FEATURE_DISABLE);
-            } catch (IOException e) {
-                return null;
-            }
-            return bos.toByteArray();
-        }
-
-        private void writeIntLittleEndian(DataOutputStream dos, int val)
-                throws IOException {
-            dos.writeByte(val);
-            dos.writeByte(val >> 8);
-            dos.writeByte(val >> 16);
-            dos.writeByte(val >> 24);
-        }
-    }
-
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
@@ -398,7 +268,6 @@
         sentSinceReceived = (TextView) findViewById(R.id.sentSinceReceived);
         sent = (TextView) findViewById(R.id.sent);
         received = (TextView) findViewById(R.id.received);
-        cipherState = (TextView) findViewById(R.id.ciphState);
         smsc = (EditText) findViewById(R.id.smsc);
         dnsCheckState = (TextView) findViewById(R.id.dnsCheckState);
 
@@ -416,11 +285,6 @@
         radioPowerButton = (Button) findViewById(R.id.radio_power);
         radioPowerButton.setOnClickListener(mPowerButtonHandler);
 
-        qxdmLogButton = (Button) findViewById(R.id.qxdm_log);
-        qxdmLogButton.setOnClickListener(mQxdmButtonHandler);
-
-        cipherToggleButton = (Button) findViewById(R.id.ciph_toggle);
-        cipherToggleButton.setOnClickListener(mCipherButtonHandler);
         pingTestButton = (Button) findViewById(R.id.ping_test);
         pingTestButton.setOnClickListener(mPingButtonHandler);
         updateSmscButton = (Button) findViewById(R.id.update_smsc);
@@ -430,14 +294,20 @@
         dnsCheckToggleButton = (Button) findViewById(R.id.dns_check_toggle);
         dnsCheckToggleButton.setOnClickListener(mDnsCheckButtonHandler);
 
+        oemInfoButton = (Button) findViewById(R.id.oem_info);
+        oemInfoButton.setOnClickListener(mOemInfoButtonHandler);
+        PackageManager pm = getPackageManager();
+        Intent oemInfoIntent = new Intent("com.android.settings.OEM_RADIO_INFO");
+        List<ResolveInfo> oemInfoIntentList = pm.queryIntentActivities(oemInfoIntent, 0);
+        if (oemInfoIntentList.size() == 0) {
+            oemInfoButton.setEnabled(false);
+        }
+
         mPhoneStateReceiver = new PhoneStateIntentReceiver(this, mHandler);
         mPhoneStateReceiver.notifySignalStrength(EVENT_SIGNAL_STRENGTH_CHANGED);
         mPhoneStateReceiver.notifyServiceState(EVENT_SERVICE_STATE_CHANGED);
         mPhoneStateReceiver.notifyPhoneCallState(EVENT_PHONE_STATE_CHANGED);
 
-        updateQxdmState(null);
-        mOem = new OemCommands();
-
         phone.getPreferredNetworkType(
                 mHandler.obtainMessage(EVENT_QUERY_PREFERRED_TYPE_DONE));
         phone.getNeighboringCids(
@@ -462,9 +332,7 @@
         updateDataStats();
         updateDataStats2();
         updatePowerState();
-        updateQxdmState(null);
         updateProperties();
-        updateCiphState();
         updateDnsCheckState();
 
         Log.i(TAG, "[RadioInfo] onResume: register phone & data intents");
@@ -502,14 +370,10 @@
         menu.add(1, MENU_ITEM_GET_PDP_LIST,
                 0, R.string.radioInfo_menu_getPDP).setOnMenuItemClickListener(mGetPdpList);
         menu.add(1, MENU_ITEM_TOGGLE_DATA,
-                0, R.string.radioInfo_menu_disableData).setOnMenuItemClickListener(mToggleData);
-        menu.add(1, MENU_ITEM_TOGGLE_DATA_ON_BOOT,
-                0, R.string.radioInfo_menu_disableDataOnBoot).setOnMenuItemClickListener(
-                mToggleDataOnBoot);
+                0, DISABLE_DATA_STR).setOnMenuItemClickListener(mToggleData);
         return true;
     }
 
-
     @Override
     public boolean onPrepareOptionsMenu(Menu menu) {
         // Get the TOGGLE DATA menu item in the right state.
@@ -520,26 +384,16 @@
         switch (state) {
             case TelephonyManager.DATA_CONNECTED:
             case TelephonyManager.DATA_SUSPENDED:
-                item.setTitle(R.string.radioInfo_menu_disableData);
+                item.setTitle(DISABLE_DATA_STR);
                 break;
             case TelephonyManager.DATA_DISCONNECTED:
-                item.setTitle(R.string.radioInfo_menu_enableData);
+                item.setTitle(ENABLE_DATA_STR);
                 break;
             default:
                 visible = false;
                 break;
         }
         item.setVisible(visible);
-
-        // Get the toggle-data-on-boot menu item in the right state.
-        item = menu.findItem(MENU_ITEM_TOGGLE_DATA_ON_BOOT);
-        SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(phone.getContext());
-        boolean value = sp.getBoolean(GSMPhone.DATA_DISABLED_ON_BOOT_KEY, false);
-        if (value) {
-            item.setTitle(R.string.radioInfo_menu_enableDataOnBoot);
-        } else {
-            item.setTitle(R.string.radioInfo_menu_disableDataOnBoot);
-        }
         return true;
     }
 
@@ -554,42 +408,6 @@
         radioPowerButton.setText(buttonText);
     }
 
-    private void updateQxdmState(Boolean newQxdmStatus) {
-        SharedPreferences sp =
-          PreferenceManager.getDefaultSharedPreferences(phone.getContext());
-        mQxdmLogEnabled = sp.getBoolean("qxdmstatus", false);
-        // This is called from onCreate, onResume, and the handler when the status
-        // is updated.
-        if (newQxdmStatus != null) {
-            SharedPreferences.Editor editor = sp.edit();
-            editor.putBoolean("qxdmstatus", newQxdmStatus);
-            editor.commit();
-            mQxdmLogEnabled = newQxdmStatus;
-        }
-
-        String buttonText = mQxdmLogEnabled ?
-                            getString(R.string.turn_off_qxdm) :
-                            getString(R.string.turn_on_qxdm);
-        qxdmLogButton.setText(buttonText);
-    }
-
-    private void setCiphPref(boolean value) {
-        SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(phone.getContext());
-        SharedPreferences.Editor editor = sp.edit();
-        editor.putBoolean(GSMPhone.CIPHERING_KEY, value);
-        editor.commit();
-    }
-
-    private boolean getCiphPref() {
-        SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(phone.getContext());
-        boolean ret = sp.getBoolean(GSMPhone.CIPHERING_KEY, true);
-        return ret;
-    }
-
-    private void updateCiphState() {
-        cipherState.setText(getCiphPref() ? "Ciphering ON" : "Ciphering OFF");
-    }
-
     private void updateDnsCheckState() {
         dnsCheckState.setText(phone.isDnsCheckDisabled() ?
                 "0.0.0.0 allowed" :"0.0.0.0 not allowed");
@@ -942,8 +760,8 @@
         List<DataConnection> dcs = phone.getCurrentDataConnectionList();
 
         for (DataConnection dc : dcs) {
-            sb.append("    State: ").append(dc.getState().toString()).append("\n");
-            if (dc.getState().isActive()) {
+            sb.append("    State: ").append(dc.getStateAsString()).append("\n");
+            if (dc.isActive()) {
                 long timeElapsed =
                     (System.currentTimeMillis() - dc.getConnectionTime())/1000;
                 sb.append("    connected at ")
@@ -951,8 +769,8 @@
                   .append(" and elapsed ")
                   .append(DateUtils.formatElapsedTime(timeElapsed));
 
-                if (dc instanceof PdpConnection) {
-                    PdpConnection pdp = (PdpConnection)dc;
+                if (dc instanceof GsmDataConnection) {
+                    GsmDataConnection pdp = (GsmDataConnection)dc;
                     sb.append("\n    to ")
                       .append(pdp.getApn().toString());
                 }
@@ -966,14 +784,14 @@
                 if (dns != null) {
                     sb.append("\ndns: ").append(dns[0]).append(", ").append(dns[1]);
                 }
-            } else if (dc.getState().isInactive()) {
+            } else if (dc.isInactive()) {
                 sb.append("    disconnected with last try at ")
                   .append(DateUtils.timeString(dc.getLastFailTime()))
                   .append("\n    fail because ")
                   .append(dc.getLastFailCause().toString());
             } else {
-                if (dc instanceof PdpConnection) {
-                    PdpConnection pdp = (PdpConnection)dc;
+                if (dc instanceof GsmDataConnection) {
+                    GsmDataConnection pdp = (GsmDataConnection)dc;
                     sb.append("    is connecting to ")
                       .append(pdp.getApn().toString());
                 } else {
@@ -987,19 +805,6 @@
         disconnects.setText(sb.toString());
     }
 
-    private void displayQxdmEnableResult() {
-        String status = mQxdmLogEnabled ? "Start QXDM Log" : "Stop QXDM Log";
-
-        new AlertDialog.Builder(this).setMessage(status).show();
-
-        mHandler.postDelayed(
-                new Runnable() {
-                    public void run() {
-                        finish();
-                    }
-                }, 2000);
-    }
-
     private MenuItem.OnMenuItemClickListener mViewADNCallback = new MenuItem.OnMenuItemClickListener() {
         public boolean onMenuItemClick(MenuItem item) {
             Intent intent = new Intent(Intent.ACTION_VIEW);
@@ -1046,24 +851,18 @@
         }
     };
 
-    private void toggleDataDisabledOnBoot() {
-        SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(phone.getContext());
-        SharedPreferences.Editor editor = sp.edit();
-        boolean value = sp.getBoolean(GSMPhone.DATA_DISABLED_ON_BOOT_KEY, false);
-        editor.putBoolean(GSMPhone.DATA_DISABLED_ON_BOOT_KEY, !value);
-        byte[] data = mOem.getPsAutoAttachData(value);
-        if (data == null) {
-            // don't commit
-            return;
-        }
-
-        editor.commit();
-        phone.invokeOemRilRequestRaw(data, null);
-    }
-
-    private MenuItem.OnMenuItemClickListener mToggleDataOnBoot = new MenuItem.OnMenuItemClickListener() {
+    private MenuItem.OnMenuItemClickListener mGetPdpList = new MenuItem.OnMenuItemClickListener() {
         public boolean onMenuItemClick(MenuItem item) {
-            toggleDataDisabledOnBoot();
+            phone.getDataCallList(null);
+            return true;
+        }
+    };
+
+    private MenuItem.OnMenuItemClickListener mSelectBandCallback = new MenuItem.OnMenuItemClickListener() {
+        public boolean onMenuItemClick(MenuItem item) {
+            Intent intent = new Intent();
+            intent.setClass(RadioInfo.this, BandMode.class);
+            startActivity(intent);
             return true;
         }
     };
@@ -1086,22 +885,6 @@
         }
     };
 
-    private MenuItem.OnMenuItemClickListener mGetPdpList = new MenuItem.OnMenuItemClickListener() {
-        public boolean onMenuItemClick(MenuItem item) {
-            phone.getDataCallList(null);
-            return true;
-        }
-    };
-
-    private MenuItem.OnMenuItemClickListener mSelectBandCallback = new MenuItem.OnMenuItemClickListener() {
-        public boolean onMenuItemClick(MenuItem item) {
-            Intent intent = new Intent();
-            intent.setClass(RadioInfo.this, BandMode.class);
-            startActivity(intent);
-            return true;
-        }
-    };
-
     OnClickListener mPowerButtonHandler = new OnClickListener() {
         public void onClick(View v) {
             //log("toggle radio power: currently " + (isRadioOn()?"on":"off"));
@@ -1109,20 +892,6 @@
         }
     };
 
-    OnClickListener mCipherButtonHandler = new OnClickListener() {
-        public void onClick(View v) {
-            mCipherOn = !getCiphPref();
-            byte[] data = mOem.getCipheringData(mCipherOn);
-
-            if (data == null)
-                return;
-
-            cipherState.setText("Setting...");
-            phone.invokeOemRilRequestRaw(data,
-                    mHandler.obtainMessage(EVENT_SET_CIPHER_DONE));
-        }
-    };
-
     OnClickListener mDnsCheckButtonHandler = new OnClickListener() {
         public void onClick(View v) {
             phone.disableDnsCheck(!phone.isDnsCheckDisabled());
@@ -1130,6 +899,19 @@
         }
     };
 
+    OnClickListener mOemInfoButtonHandler = new OnClickListener() {
+        public void onClick(View v) {
+            Intent intent = new Intent("com.android.settings.OEM_RADIO_INFO");
+            try {
+                startActivity(intent);
+            } catch (android.content.ActivityNotFoundException ex) {
+                Log.d(TAG, "OEM-specific Info/Settings Activity Not Found : " + ex);
+                // If the activity does not exist, there are no OEM
+                // settings, and so we can just do nothing...
+            }
+        }
+    };
+
     OnClickListener mPingButtonHandler = new OnClickListener() {
         public void onClick(View v) {
             updatePingState();
@@ -1150,22 +932,6 @@
         }
     };
 
-    OnClickListener mQxdmButtonHandler = new OnClickListener() {
-        public void onClick(View v) {
-            byte[] data = mOem.getQxdmSdlogData(
-                    !mQxdmLogEnabled,
-                    mOem.OEM_QXDM_SDLOG_DEFAULT_FILE_SIZE,
-                    mOem.OEM_QXDM_SDLOG_DEFAULT_MASK,
-                    mOem.OEM_QXDM_SDLOG_DEFAULT_MAX_INDEX);
-
-            if (data == null)
-                return;
-
-            phone.invokeOemRilRequestRaw(data,
-                    mHandler.obtainMessage(EVENT_SET_QXDMLOG_DONE));
-        }
-    };
-
     AdapterView.OnItemSelectedListener
             mPreferredNetworkHandler = new AdapterView.OnItemSelectedListener() {
         public void onItemSelected(AdapterView parent, View v, int pos, long id) {
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index fcacccc..0202f4c 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -17,6 +17,9 @@
 package com.android.settings;
 
 
+import java.util.Observable;
+import java.util.Observer;
+
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
@@ -25,36 +28,27 @@
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
-import android.content.SharedPreferences;
-import android.content.pm.PackageManager.NameNotFoundException;
 import android.database.Cursor;
 import android.location.LocationManager;
 import android.os.Bundle;
+import android.os.ICheckinService;
+import android.os.ServiceManager;
+import android.os.SystemProperties;
 import android.preference.CheckBoxPreference;
-import android.preference.EditTextPreference;
 import android.preference.Preference;
 import android.preference.PreferenceActivity;
 import android.preference.PreferenceCategory;
-import android.preference.PreferenceGroup;
 import android.preference.PreferenceScreen;
 import android.provider.Settings;
 import android.security.Credentials;
 import android.security.KeyStore;
-import android.text.Html;
-import android.text.TextUtils;
-import android.text.method.LinkMovementMethod;
+import android.telephony.TelephonyManager;
 import android.util.Log;
 import android.view.View;
 import android.widget.TextView;
 import android.widget.Toast;
 
 import com.android.internal.widget.LockPatternUtils;
-import android.telephony.TelephonyManager;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Observable;
-import java.util.Observer;
 
 /**
  * Gesture lock pattern settings.
@@ -68,6 +62,10 @@
     private static final String KEY_TACTILE_FEEDBACK_ENABLED = "tactilefeedback";
     private static final int CONFIRM_PATTERN_THEN_DISABLE_AND_CLEAR_REQUEST_CODE = 55;
 
+    // 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 static final String PREFS_NAME = "location_prefs";
     private static final String PREFS_USE_LOCATION = "use_location";
 
@@ -86,15 +84,11 @@
     private static final String ASSISTED_GPS = "assisted_gps";
 
     // Credential storage
-    private static final int CSTOR_MIN_PASSWORD_LENGTH = 8;
-
-    private static final int CSTOR_INIT_DIALOG = 1;
-    private static final int CSTOR_CHANGE_PASSWORD_DIALOG = 2;
-    private static final int CSTOR_UNLOCK_DIALOG = 3;
-    private static final int CSTOR_RESET_DIALOG = 4;
-
     private CredentialStorage mCredentialStorage = new CredentialStorage();
 
+    // Encrypted file system
+    private  CheckBoxPreference mEncryptedFSEnabled;
+
     private CheckBoxPreference mNetwork;
     private CheckBoxPreference mGps;
     private CheckBoxPreference mAssistedGps;
@@ -131,8 +125,6 @@
                 null);
         mContentQueryMap = new ContentQueryMap(settingsCursor, Settings.System.NAME, true, null);
         mContentQueryMap.addObserver(new SettingsObserver());
-
-        mCredentialStorage.handleIntent(getIntent());
     }
 
     private PreferenceScreen createPreferenceHierarchy() {
@@ -206,7 +198,13 @@
         PreferenceCategory credentialsCat = new PreferenceCategory(this);
         credentialsCat.setTitle(R.string.credentials_category);
         root.addPreference(credentialsCat);
-        mCredentialStorage.createPreferences(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;
     }
@@ -339,57 +337,55 @@
         }
     }
 
-    @Override
-    protected Dialog onCreateDialog(int id) {
-        return mCredentialStorage.createDialog(id);
-    }
-
     private class CredentialStorage implements DialogInterface.OnClickListener,
             DialogInterface.OnDismissListener, Preference.OnPreferenceChangeListener,
             Preference.OnPreferenceClickListener {
         private static final int MINIMUM_PASSWORD_LENGTH = 8;
-        private static final int UNLOCK_DIALOG = 1;
-        private static final int PASSWORD_DIALOG = 2;
-        private static final int RESET_DIALOG = 3;
+
+        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 = mKeyStore.test();
-        private int mDialogId;
-        private boolean mSubmit;
+        private int mState;
+        private boolean mSubmit = false;
+        private boolean mExternal = false;
 
+        private boolean mWillEnableEncryptedFS;
+        private int mShowingDialog = 0;
+
+        // Key Store controls
         private CheckBoxPreference mAccessCheckBox;
         private Preference mInstallButton;
         private Preference mPasswordButton;
         private Preference mResetButton;
 
-        private Intent mExternalIntent;
 
-        void handleIntent(Intent intent) {
-            if (intent != null) {
-                if (Credentials.UNLOCK_ACTION.equals(intent.getAction())) {
-                    mExternalIntent = intent;
-                    showDialog((mState == KeyStore.UNINITIALIZED) ?
-                            PASSWORD_DIALOG : UNLOCK_DIALOG);
-                }
-            }
-        }
+        // Encrypted file system controls
+        private  CheckBoxPreference mEncryptedFSEnabled;
 
         void resume() {
             mState = mKeyStore.test();
             updatePreferences(mState);
-        }
 
-        Dialog createDialog(int id) {
-            mDialogId = id;
-            switch (id) {
-                case UNLOCK_DIALOG:
-                    return createUnlockDialog();
-                case PASSWORD_DIALOG:
-                    return createPasswordDialog();
-                case RESET_DIALOG:
-                    return createResetDialog();
+            Intent intent = getIntent();
+            if (!mExternal && intent != null &&
+                    Credentials.UNLOCK_ACTION.equals(intent.getAction())) {
+                mExternal = true;
+                if (mState == KeyStore.UNINITIALIZED) {
+                    showPasswordDialog();
+                } else if (mState == KeyStore.LOCKED) {
+                    showUnlockDialog();
+                } else {
+                    finish();
+                }
             }
-            return null;
         }
 
         private void initialize(String password) {
@@ -420,23 +416,26 @@
         public boolean onPreferenceChange(Preference preference, Object value) {
             if (preference == mAccessCheckBox) {
                 if ((Boolean) value) {
-                    showDialog((mState == KeyStore.UNINITIALIZED) ?
-                            PASSWORD_DIALOG : UNLOCK_DIALOG);
+                    showUnlockDialog();
                 } else {
                     lock();
                 }
                 return true;
+            } else if (preference == mEncryptedFSEnabled) {
+                Boolean bval = (Boolean)value;
+                mWillEnableEncryptedFS = bval.booleanValue();
+                showSwitchEncryptedFSDialog();
             }
-            return false;
+            return true;
         }
 
         public boolean onPreferenceClick(Preference preference) {
             if (preference == mInstallButton) {
                 Credentials.getInstance().installFromSdCard(SecuritySettings.this);
             } else if (preference == mPasswordButton) {
-                showDialog(PASSWORD_DIALOG);
+                showPasswordDialog();
             } else if (preference == mResetButton) {
-                showDialog(RESET_DIALOG);
+                showResetDialog();
             } else {
                 return false;
             }
@@ -444,9 +443,43 @@
         }
 
         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) {
+                    // Perform action
+                    // Reboot and toggle Encrypted File Systems
+                    ICheckinService service =
+                    ICheckinService.Stub.asInterface(ServiceManager.getService("checkin"));
+                    if (service != null) {
+                        try {
+                            // This RPC should never return
+                            if (mWillEnableEncryptedFS) {
+                                service.masterClearAndToggleEFS(true);
+                            } else {
+                                service.masterClearAndToggleEFS(false);
+                            }
+                        } catch (android.os.RemoteException e) {
+                            // Intentionally blank - there's nothing we can do here
+                            Log.w("SecuritySettings",
+                                    "Unable to invoke ICheckinService.masterClearAndToggleEFS()");
+                        }
+                    } else {
+                        Log.w("SecuritySettings", "Unable to locate ICheckinService");
+                    }
+                    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;
+                }
             }
         }
 
@@ -454,14 +487,12 @@
             if (mSubmit && !isFinishing()) {
                 mSubmit = false;
                 if (!checkPassword((Dialog) dialog)) {
-                    showDialog(mDialogId);
+                    ((Dialog) dialog).show();
                     return;
                 }
             }
-            removeDialog(mDialogId);
             updatePreferences(mState);
-            if (mExternalIntent != null) {
-                mExternalIntent = null;
+            if (mExternal) {
                 finish();
             }
         }
@@ -534,36 +565,53 @@
             }
         }
 
-        private void createPreferences(PreferenceCategory category) {
-            mAccessCheckBox = new CheckBoxPreference(SecuritySettings.this);
-            mAccessCheckBox.setTitle(R.string.credentials_access);
-            mAccessCheckBox.setSummary(R.string.credentials_access_summary);
-            mAccessCheckBox.setOnPreferenceChangeListener(this);
-            category.addPreference(mAccessCheckBox);
+        private void createPreferences(PreferenceCategory category, int type) {
+            switch(type) {
+            case TYPE_KEYSTORE:
+                mAccessCheckBox = new CheckBoxPreference(SecuritySettings.this);
+                mAccessCheckBox.setTitle(R.string.credentials_access);
+                mAccessCheckBox.setSummary(R.string.credentials_access_summary);
+                mAccessCheckBox.setOnPreferenceChangeListener(this);
+                category.addPreference(mAccessCheckBox);
 
-            mInstallButton = new Preference(SecuritySettings.this);
-            mInstallButton.setTitle(R.string.credentials_install_certificates);
-            mInstallButton.setSummary(R.string.credentials_install_certificates_summary);
-            mInstallButton.setOnPreferenceClickListener(this);
-            category.addPreference(mInstallButton);
+                mInstallButton = new Preference(SecuritySettings.this);
+                mInstallButton.setTitle(R.string.credentials_install_certificates);
+                mInstallButton.setSummary(R.string.credentials_install_certificates_summary);
+                mInstallButton.setOnPreferenceClickListener(this);
+                category.addPreference(mInstallButton);
 
-            mPasswordButton = new Preference(SecuritySettings.this);
-            mPasswordButton.setTitle(R.string.credentials_set_password);
-            mPasswordButton.setSummary(R.string.credentials_set_password_summary);
-            mPasswordButton.setOnPreferenceClickListener(this);
-            category.addPreference(mPasswordButton);
+                mPasswordButton = new Preference(SecuritySettings.this);
+                mPasswordButton.setTitle(R.string.credentials_set_password);
+                mPasswordButton.setSummary(R.string.credentials_set_password_summary);
+                mPasswordButton.setOnPreferenceClickListener(this);
+                category.addPreference(mPasswordButton);
 
-            mResetButton = new Preference(SecuritySettings.this);
-            mResetButton.setTitle(R.string.credentials_reset);
-            mResetButton.setSummary(R.string.credentials_reset_summary);
-            mResetButton.setOnPreferenceClickListener(this);
-            category.addPreference(mResetButton);
+                mResetButton = new Preference(SecuritySettings.this);
+                mResetButton.setTitle(R.string.credentials_reset);
+                mResetButton.setSummary(R.string.credentials_reset_summary);
+                mResetButton.setOnPreferenceClickListener(this);
+                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.setEnabled(state != KeyStore.UNINITIALIZED);
             mAccessCheckBox.setChecked(state == KeyStore.NO_ERROR);
-            mResetButton.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,12 +629,12 @@
             mState = state;
         }
 
-        private Dialog createUnlockDialog() {
+        private void showUnlockDialog() {
             View view = View.inflate(SecuritySettings.this,
                     R.layout.credentials_unlock_dialog, null);
 
-            // show extra hint only when the action comes from outside
-            if (mExternalIntent != null) {
+            // Show extra hint only when the action comes from outside.
+            if (mExternal) {
                 view.findViewById(R.id.hint).setVisibility(View.VISIBLE);
             }
 
@@ -597,10 +645,11 @@
                     .setNegativeButton(android.R.string.cancel, this)
                     .create();
             dialog.setOnDismissListener(this);
-            return dialog;
+            mShowingDialog = DLG_UNLOCK;
+            dialog.show();
         }
 
-        private Dialog createPasswordDialog() {
+        private void showPasswordDialog() {
             View view = View.inflate(SecuritySettings.this,
                     R.layout.credentials_password_dialog, null);
 
@@ -618,17 +667,38 @@
                     .setNegativeButton(android.R.string.cancel, this)
                     .create();
             dialog.setOnDismissListener(this);
-            return dialog;
+            mShowingDialog = DLG_PASSWORD;
+            dialog.show();
         }
 
-        private Dialog createResetDialog() {
-            return new AlertDialog.Builder(SecuritySettings.this)
+        private void showResetDialog() {
+            mShowingDialog = DLG_RESET;
+            new AlertDialog.Builder(SecuritySettings.this)
                     .setTitle(android.R.string.dialog_alert_title)
                     .setIcon(android.R.drawable.ic_dialog_alert)
                     .setMessage(R.string.credentials_reset_hint)
                     .setNeutralButton(getString(android.R.string.ok), this)
                     .setNegativeButton(getString(android.R.string.cancel), this)
-                    .create();
+                    .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/SettingsSafetyLegalActivity.java b/src/com/android/settings/SettingsSafetyLegalActivity.java
index 619dc94..0c51928 100644
--- a/src/com/android/settings/SettingsSafetyLegalActivity.java
+++ b/src/com/android/settings/SettingsSafetyLegalActivity.java
@@ -58,7 +58,11 @@
 
         // Begin accessing
         mWebView.getSettings().setJavaScriptEnabled(true);
-        mWebView.loadUrl(userSafetylegalUrl);
+        if (savedInstanceState == null) {
+            mWebView.loadUrl(userSafetylegalUrl);
+        } else {
+            mWebView.restoreState(savedInstanceState);
+        }
         mWebView.setWebViewClient(new WebViewClient() {
             @Override
             public void onPageFinished(WebView view, String url) {
@@ -110,4 +114,10 @@
     public void onCancel(DialogInterface dialog) {
         finish();
     }
+
+    @Override
+    public void onSaveInstanceState(Bundle icicle) {
+        mWebView.saveState(icicle);
+        super.onSaveInstanceState(icicle);
+    }
 }
diff --git a/src/com/android/settings/TextToSpeechSettings.java b/src/com/android/settings/TextToSpeechSettings.java
index f60d0f2..edc09e6 100644
--- a/src/com/android/settings/TextToSpeechSettings.java
+++ b/src/com/android/settings/TextToSpeechSettings.java
@@ -55,6 +55,7 @@
     private static final String KEY_TTS_DEFAULT_LANG = "tts_default_lang";
     private static final String KEY_TTS_DEFAULT_COUNTRY = "tts_default_country";
     private static final String KEY_TTS_DEFAULT_VARIANT = "tts_default_variant";
+    private static final String KEY_TTS_DEFAULT_SYNTH = "tts_default_synth";
     // TODO move default Locale values to TextToSpeech.Engine
     private static final String DEFAULT_LANG_VAL = "eng";
     private static final String DEFAULT_COUNTRY_VAL = "USA";
@@ -70,6 +71,7 @@
     private CheckBoxPreference mUseDefaultPref = null;
     private ListPreference     mDefaultRatePref = null;
     private ListPreference     mDefaultLocPref = null;
+    private ListPreference     mDefaultSynthPref = null;
     private String             mDefaultLanguage = null;
     private String             mDefaultCountry = null;
     private String             mDefaultLocVariant = null;
@@ -156,7 +158,10 @@
         mUseDefaultPref.setChecked(useDefault == 1);
         mUseDefaultPref.setOnPreferenceChangeListener(this);
 
-        // Default engine
+        // Default synthesis engine
+        mDefaultSynthPref = (ListPreference) findPreference(KEY_TTS_DEFAULT_SYNTH);
+        loadEngines();
+        mDefaultSynthPref.setOnPreferenceChangeListener(this);
         String engine = Settings.Secure.getString(resolver, TTS_DEFAULT_SYNTH);
         if (engine == null) {
             // TODO move FALLBACK_TTS_DEFAULT_SYNTH to TextToSpeech
@@ -297,6 +302,14 @@
             int newIndex = mDefaultLocPref.findIndexOfValue((String)objValue);
             Log.v("Settings", " selected is " + newIndex);
             mDemoStringIndex = newIndex > -1 ? newIndex : 0;
+        } else if (KEY_TTS_DEFAULT_SYNTH.equals(preference.getKey())) {
+            // TODO: Do a data check here
+            mDefaultEng = objValue.toString();
+            Settings.Secure.putString(getContentResolver(), TTS_DEFAULT_SYNTH, mDefaultEng);
+            if (mTts != null) {
+                mTts.setEngineByPackageName(mDefaultEng);
+            }
+            Log.v("Settings", "The default synth is: " + objValue.toString());
         }
 
         return true;
@@ -424,4 +437,23 @@
         Settings.Secure.putString(resolver, TTS_DEFAULT_VARIANT, DEFAULT_VARIANT_VAL);
     }
 
+
+  private void loadEngines() {
+    ListPreference enginesPref = (ListPreference) findPreference(KEY_TTS_DEFAULT_SYNTH);
+
+    Intent intent = new Intent("android.intent.action.START_TTS_ENGINE");
+
+    ResolveInfo[] enginesArray = new ResolveInfo[0];
+    PackageManager pm = getPackageManager();
+    enginesArray = pm.queryIntentActivities(intent, 0).toArray(enginesArray);
+    CharSequence entries[] = new CharSequence[enginesArray.length];
+    CharSequence values[] = new CharSequence[enginesArray.length];
+    for (int i = 0; i < enginesArray.length; i++) {
+      entries[i] = enginesArray[i].loadLabel(pm);
+      values[i] = enginesArray[i].activityInfo.packageName;
+    }
+    enginesPref.setEntries(entries);
+    enginesPref.setEntryValues(values);
+  }
+
 }
diff --git a/src/com/android/settings/WirelessSettings.java b/src/com/android/settings/WirelessSettings.java
index 22417bb..1d0b2d8 100644
--- a/src/com/android/settings/WirelessSettings.java
+++ b/src/com/android/settings/WirelessSettings.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007 The Android Open Source Project
+ * 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.
@@ -20,7 +20,6 @@
 import android.content.Intent;
 import android.net.wifi.WifiManager;
 import android.os.Bundle;
-import android.os.IBinder;
 import android.os.ServiceManager;
 import android.os.SystemProperties;
 import android.preference.CheckBoxPreference;
@@ -45,10 +44,10 @@
     public static final String EXIT_ECM_RESULT = "exit_ecm_result";
     public static final int REQUEST_CODE_EXIT_ECM = 1;
 
-    private WifiEnabler mWifiEnabler;
     private AirplaneModeEnabler mAirplaneModeEnabler;
-    private BluetoothEnabler mBtEnabler;
     private CheckBoxPreference mAirplaneModePreference;
+    private WifiEnabler mWifiEnabler;
+    private BluetoothEnabler mBtEnabler;
 
     /**
      * Invoked on each preference click in this hierarchy, overrides
@@ -57,20 +56,16 @@
      */
     @Override
     public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
-        if ( (preference == mAirplaneModePreference) &&
-                (Boolean.parseBoolean(
-                    SystemProperties.get(TelephonyProperties.PROPERTY_INECM_MODE))) ) {
+        if (preference == mAirplaneModePreference && Boolean.parseBoolean(
+                SystemProperties.get(TelephonyProperties.PROPERTY_INECM_MODE))) {
             // In ECM mode launch ECM app dialog
             startActivityForResult(
                 new Intent(TelephonyIntents.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS, null),
                 REQUEST_CODE_EXIT_ECM);
-
             return true;
         }
-        else {
-            // Let the intents be launched by the Preference manager
-            return false;
-        }
+        // Let the intents be launched by the Preference manager
+        return false;
     }
     
     @Override
@@ -79,74 +74,62 @@
 
         addPreferencesFromResource(R.xml.wireless_settings);
 
-        initToggles();
+        CheckBoxPreference airplane = (CheckBoxPreference) findPreference(KEY_TOGGLE_AIRPLANE);
+        CheckBoxPreference wifi = (CheckBoxPreference) findPreference(KEY_TOGGLE_WIFI);
+        CheckBoxPreference bt = (CheckBoxPreference) findPreference(KEY_TOGGLE_BLUETOOTH);
+
+        mAirplaneModeEnabler = new AirplaneModeEnabler(this, airplane);
         mAirplaneModePreference = (CheckBoxPreference) findPreference(KEY_TOGGLE_AIRPLANE);
+        mWifiEnabler = new WifiEnabler(this, wifi);
+        mBtEnabler = new BluetoothEnabler(this, bt);
+
+        String toggleable = Settings.System.getString(getContentResolver(),
+                Settings.System.AIRPLANE_MODE_TOGGLEABLE_RADIOS);
+
+        // Manually set up dependencies for Wifi when not toggleable.
+        if (toggleable == null || !toggleable.contains(Settings.System.RADIO_WIFI)) {
+            wifi.setDependency(KEY_TOGGLE_AIRPLANE);
+            findPreference(KEY_WIFI_SETTINGS).setDependency(KEY_TOGGLE_AIRPLANE);
+            findPreference(KEY_VPN_SETTINGS).setDependency(KEY_TOGGLE_AIRPLANE);
+        }
+
+        // Manually set dependencies for Bluetooth when not toggleable.
+        if (toggleable == null || !toggleable.contains(Settings.System.RADIO_BLUETOOTH)) {
+            bt.setDependency(KEY_TOGGLE_AIRPLANE);
+            findPreference(KEY_BT_SETTINGS).setDependency(KEY_TOGGLE_AIRPLANE);
+        }
+
+        // Disable BT Settings if BT service is not available.
+        if (ServiceManager.getService(BluetoothAdapter.BLUETOOTH_SERVICE) == null) {
+            findPreference(KEY_BT_SETTINGS).setEnabled(false);
+        }
     }
     
     @Override
     protected void onResume() {
         super.onResume();
         
+        mAirplaneModeEnabler.resume();
         mWifiEnabler.resume();
         mBtEnabler.resume();
-        mAirplaneModeEnabler.resume();
     }
     
     @Override
     protected void onPause() {
         super.onPause();
         
-        mWifiEnabler.pause();
         mAirplaneModeEnabler.pause();
+        mWifiEnabler.pause();
         mBtEnabler.pause();
     }
     
-    private void initToggles() {
-        
-        Preference airplanePreference = findPreference(KEY_TOGGLE_AIRPLANE);
-        Preference wifiPreference = findPreference(KEY_TOGGLE_WIFI);
-        Preference btPreference = findPreference(KEY_TOGGLE_BLUETOOTH);
-        Preference wifiSettings = findPreference(KEY_WIFI_SETTINGS);
-        Preference vpnSettings = findPreference(KEY_VPN_SETTINGS);
-
-        IBinder b = ServiceManager.getService(BluetoothAdapter.BLUETOOTH_SERVICE);
-        if (b == null) {
-            // Disable BT Settings if BT service is not available.
-            Preference btSettings = findPreference(KEY_BT_SETTINGS);
-            btSettings.setEnabled(false);
-        }
-
-        mWifiEnabler = new WifiEnabler(
-                this, (WifiManager) getSystemService(WIFI_SERVICE),
-                (CheckBoxPreference) wifiPreference);
-        mAirplaneModeEnabler = new AirplaneModeEnabler(
-                this, (CheckBoxPreference) airplanePreference);
-        mBtEnabler = new BluetoothEnabler(this, (CheckBoxPreference) btPreference);
-
-        // manually set up dependencies for Wifi if its radio is not toggleable in airplane mode
-        String toggleableRadios = Settings.System.getString(getContentResolver(),
-                Settings.System.AIRPLANE_MODE_TOGGLEABLE_RADIOS);
-        if (toggleableRadios == null || !toggleableRadios.contains(Settings.System.RADIO_WIFI)) {
-            wifiPreference.setDependency(airplanePreference.getKey());
-            wifiSettings.setDependency(airplanePreference.getKey());
-            vpnSettings.setDependency(airplanePreference.getKey());
-        }
-    }
-
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        switch(requestCode) {
-        case REQUEST_CODE_EXIT_ECM:
-            Boolean isChoiceYes =
-                data.getBooleanExtra(EXIT_ECM_RESULT, false);
+        if (requestCode == REQUEST_CODE_EXIT_ECM) {
+            Boolean isChoiceYes = data.getBooleanExtra(EXIT_ECM_RESULT, false);
             // Set Airplane mode based on the return value and checkbox state
             mAirplaneModeEnabler.setAirplaneModeInECM(isChoiceYes,
                     mAirplaneModePreference.isChecked());
-            break;
-
-        default:
-            break;
         }
     }
-
 }
diff --git a/src/com/android/settings/bluetooth/BluetoothEnabler.java b/src/com/android/settings/bluetooth/BluetoothEnabler.java
index b872916..46793ce 100644
--- a/src/com/android/settings/bluetooth/BluetoothEnabler.java
+++ b/src/com/android/settings/bluetooth/BluetoothEnabler.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.bluetooth;
 
+import com.android.settings.AirplaneModeEnabler;
 import com.android.settings.R;
 
 import android.bluetooth.BluetoothAdapter;
@@ -25,6 +26,7 @@
 import android.content.IntentFilter;
 import android.preference.Preference;
 import android.preference.CheckBoxPreference;
+import android.provider.Settings;
 import android.text.TextUtils;
 import android.util.Config;
 
@@ -116,14 +118,15 @@
                                            mOriginalSummary :
                                            null);
 
-            /*
-             * Don't ever disable the preference. Only enable here. Disablement
-             * is taken care of by the dependency code. If this is disabled
-             * here, it may not be re-enabled from the framework when dependency
-             * is met. http://b/issue?id=2053751
-             */
-            if (isEnabledByDependency()) {
+            final boolean hasDependency = !TextUtils.isEmpty(mCheckBoxPreference.getDependency());
+            final boolean bluetoothAllowed = isBluetoothAllowed(mContext);
+
+            // Avoid disabling when dependencies have been manually set,
+            // workaround for framework bug http://b/2053751
+            if (bluetoothAllowed) {
                 mCheckBoxPreference.setEnabled(true);
+            } else if (!hasDependency) {
+                mCheckBoxPreference.setEnabled(false);
             }
 
         } else if (state == BluetoothAdapter.STATE_TURNING_ON ||
@@ -139,22 +142,21 @@
         }
     }
 
-    private boolean isEnabledByDependency() {
-        Preference dep = getDependencyPreference();
-        if (dep == null) {
+    private static boolean isBluetoothAllowed(Context context) {
+        // allowed if we are not in airplane mode
+        if (!AirplaneModeEnabler.isAirplaneModeOn(context)) {
             return true;
         }
-
-        return !dep.shouldDisableDependents();
-    }
-
-    private Preference getDependencyPreference() {
-        String depKey = mCheckBoxPreference.getDependency();
-        if (TextUtils.isEmpty(depKey)) {
-            return null;
+        // allowed if bluetooth is not in AIRPLANE_MODE_RADIOS
+        String radios = Settings.System.getString(context.getContentResolver(),
+                Settings.System.AIRPLANE_MODE_RADIOS);
+        if (radios == null || !radios.contains(Settings.System.RADIO_BLUETOOTH)) {
+            return true;
         }
-
-        return mCheckBoxPreference.getPreferenceManager().findPreference(depKey);
+        // allowed if bluetooth is in AIRPLANE_MODE_TOGGLEABLE_RADIOS
+        radios = Settings.System.getString(context.getContentResolver(),
+                Settings.System.AIRPLANE_MODE_TOGGLEABLE_RADIOS);
+        return (radios != null && radios.contains(Settings.System.RADIO_BLUETOOTH));
     }
 
 }
diff --git a/src/com/android/settings/bluetooth/BluetoothSettings.java b/src/com/android/settings/bluetooth/BluetoothSettings.java
index 4364795..4f3205b 100644
--- a/src/com/android/settings/bluetooth/BluetoothSettings.java
+++ b/src/com/android/settings/bluetooth/BluetoothSettings.java
@@ -202,6 +202,12 @@
         }
     }
 
+    @Override
+    protected void onUserLeaveHint() {
+        super.onUserLeaveHint();
+        mLocalManager.stopScanning();
+    }
+
     private void addDevices() {
         List<CachedBluetoothDevice> cachedDevices =
                 mLocalManager.getCachedDeviceManager().getCachedDevicesCopy();
diff --git a/src/com/android/settings/bluetooth/CachedBluetoothDevice.java b/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
index 57bffa9..ec8df3c 100644
--- a/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
+++ b/src/com/android/settings/bluetooth/CachedBluetoothDevice.java
@@ -53,7 +53,7 @@
     private static final String TAG = "CachedBluetoothDevice";
     private static final boolean D = LocalBluetoothManager.D;
     private static final boolean V = LocalBluetoothManager.V;
-    private static final boolean DEBUG = false;
+    private static final boolean DEBUG = true; // STOPSHIP - disable before final rom
 
     private static final int CONTEXT_ITEM_CONNECT = Menu.FIRST + 1;
     private static final int CONTEXT_ITEM_DISCONNECT = Menu.FIRST + 2;
diff --git a/src/com/android/settings/bluetooth/LocalBluetoothManager.java b/src/com/android/settings/bluetooth/LocalBluetoothManager.java
index ec5c6bc..43d4343 100644
--- a/src/com/android/settings/bluetooth/LocalBluetoothManager.java
+++ b/src/com/android/settings/bluetooth/LocalBluetoothManager.java
@@ -198,6 +198,12 @@
         }
     }
 
+    public void stopScanning() {
+        if (mAdapter.isDiscovering()) {
+            mAdapter.cancelDiscovery();
+        }
+    }
+
     public int getBluetoothState() {
 
         if (mState == BluetoothAdapter.ERROR) {
diff --git a/src/com/android/settings/deviceinfo/Memory.java b/src/com/android/settings/deviceinfo/Memory.java
index 53e2a69..a7f5617 100644
--- a/src/com/android/settings/deviceinfo/Memory.java
+++ b/src/com/android/settings/deviceinfo/Memory.java
@@ -47,14 +47,14 @@
 
     private static final String MEMORY_SD_AVAIL = "memory_sd_avail";
 
-    private static final String MEMORY_SD_UNMOUNT = "memory_sd_unmount";
+    private static final String MEMORY_SD_MOUNT_TOGGLE = "memory_sd_mount_toggle";
 
     private static final String MEMORY_SD_FORMAT = "memory_sd_format";
     private Resources mRes;
 
     private Preference mSdSize;
     private Preference mSdAvail;
-    private Preference mSdUnmount;
+    private Preference mSdMountToggle;
     private Preference mSdFormat;
     
     // Access using getMountService()
@@ -69,7 +69,7 @@
         mRes = getResources();
         mSdSize = findPreference(MEMORY_SD_SIZE);
         mSdAvail = findPreference(MEMORY_SD_AVAIL);
-        mSdUnmount = findPreference(MEMORY_SD_UNMOUNT);
+        mSdMountToggle = findPreference(MEMORY_SD_MOUNT_TOGGLE);
         mSdFormat = findPreference(MEMORY_SD_FORMAT);
     }
     
@@ -112,8 +112,13 @@
     
     @Override
     public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
-        if (preference == mSdUnmount) {
-            unmount();
+        if (preference == mSdMountToggle) {
+            String status = Environment.getExternalStorageState();
+            if (status.equals(Environment.MEDIA_MOUNTED)) {
+                unmount();
+            } else {
+                mount();
+            }
             return true;
         } else if (preference == mSdFormat) {
             Intent intent = new Intent(Intent.ACTION_VIEW);
@@ -146,6 +151,20 @@
         }
     }
 
+    private void mount() {
+        IMountService mountService = getMountService();
+        try {
+            if (mountService != null) {
+                mountService.mountMedia(Environment.getExternalStorageDirectory().toString());
+            } else {
+                Log.e(TAG, "Mount service is null, can't mount");
+            }
+        } catch (RemoteException ex) {
+            // Failed for some reason, try to update UI to actual state
+            updateMemoryStatus();
+        }
+    }
+
     private void updateMemoryStatus() {
         String status = Environment.getExternalStorageState();
         String readOnly = "";
@@ -166,7 +185,11 @@
                 
                 mSdSize.setSummary(formatSize(totalBlocks * blockSize));
                 mSdAvail.setSummary(formatSize(availableBlocks * blockSize) + readOnly);
-                mSdUnmount.setEnabled(true);
+
+                mSdMountToggle.setEnabled(true);
+                mSdMountToggle.setTitle(mRes.getString(R.string.sd_eject));
+                mSdMountToggle.setSummary(mRes.getString(R.string.sd_eject_summary));
+
             } catch (IllegalArgumentException e) {
                 // this can occur if the SD card is removed, but we haven't received the 
                 // ACTION_MEDIA_REMOVED Intent yet.
@@ -176,15 +199,20 @@
         } else {
             mSdSize.setSummary(mRes.getString(R.string.sd_unavailable));
             mSdAvail.setSummary(mRes.getString(R.string.sd_unavailable));
-            mSdUnmount.setEnabled(false);
+
 
             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));
+            } else {
+                mSdMountToggle.setEnabled(false);
+                mSdMountToggle.setTitle(mRes.getString(R.string.sd_mount));
+                mSdMountToggle.setSummary(mRes.getString(R.string.sd_insert_summary));
             }
-
-            
         }
 
         File path = Environment.getDataDirectory();
diff --git a/src/com/android/settings/fuelgauge/PowerUsageDetail.java b/src/com/android/settings/fuelgauge/PowerUsageDetail.java
index 737627a..0c44c40 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageDetail.java
@@ -330,7 +330,7 @@
         ActivityManager am = (ActivityManager)getSystemService(
                 Context.ACTIVITY_SERVICE);
         for (int i = 0; i < mPackages.length; i++) {
-            am.restartPackage(mPackages[i]);
+            am.forceStopPackage(mPackages[i]);
         }
     }
 
diff --git a/src/com/android/settings/wifi/AccessPointDialog.java b/src/com/android/settings/wifi/AccessPointDialog.java
index 4804d78..bf9a471 100644
--- a/src/com/android/settings/wifi/AccessPointDialog.java
+++ b/src/com/android/settings/wifi/AccessPointDialog.java
@@ -28,8 +28,10 @@
 import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiManager;
 import android.os.Bundle;
+import android.text.Editable;
 import android.text.InputType;
 import android.text.TextUtils;
+import android.text.TextWatcher;
 import android.text.format.Formatter;
 import android.text.method.PasswordTransformationMethod;
 import android.text.method.TransformationMethod;
@@ -38,6 +40,7 @@
 import android.view.ViewGroup;
 import android.widget.AdapterView;
 import android.widget.ArrayAdapter;
+import android.widget.Button;
 import android.widget.CheckBox;
 import android.widget.EditText;
 import android.widget.Spinner;
@@ -143,8 +146,32 @@
         onFill();
 
         super.onCreate(savedInstanceState);
+
+        if (mMode == MODE_CONFIGURE) {
+            Button saveButton = getButton(mSaveButtonPos);
+            saveButton.setEnabled(false);
+            saveButton.setFocusable(false);
+        }
     }
-    
+
+    private final TextWatcher mSsidEditorWatcher = new TextWatcher() {
+        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+        }
+        public void onTextChanged(CharSequence s, int start, int before, int count) {
+            if (mSaveButtonPos != Integer.MAX_VALUE) {
+                boolean enable = true;
+                if (s.length() == 0) {
+                    enable = false;
+                }
+                Button saveButton = getButton(mSaveButtonPos);
+                saveButton.setEnabled(enable);
+                saveButton.setFocusable(enable);
+            }
+        }
+        public void afterTextChanged(Editable s) {
+        }
+    };
+
     @Override
     public void onRestoreInstanceState(Bundle savedInstanceState) {
         // Set to a class loader that can find AccessPointState
@@ -223,7 +250,7 @@
     /** Called after flags are set, the dialog's layout/etc should be set up here */
     private void onLayout() {
         final Context context = getContext();
-        final String ssid = mState.getHumanReadableSsid();
+        final String ssid = mState.ssid;
         
         int positiveButtonResId = 0;
         int negativeButtonResId = R.string.cancel;
@@ -237,7 +264,7 @@
         setInverseBackgroundForced(true);
 
         boolean defaultPasswordVisibility = true;
-        
+
         if (mMode == MODE_CONFIGURE) {
             setLayout(R.layout.wifi_ap_configure);
 
@@ -274,10 +301,10 @@
             }
         } else if (mMode == MODE_RETRY_PASSWORD) {
             setLayout(R.layout.wifi_ap_retry_password);
-            
+
             positiveButtonResId = R.string.connect;
             mConnectButtonPos = POSITIVE_BUTTON;
-            
+
             setGenericPasswordVisible(true);
             defaultPasswordVisibility = false;
         }
@@ -289,8 +316,9 @@
                 setGenericPasswordVisible(false);
             }
         }
-        
+
         setButtons(positiveButtonResId, negativeButtonResId, neutralButtonResId);
+
     }
 
     /** Called when we need to set our member variables to point to the views. */
@@ -299,6 +327,9 @@
         mPasswordEdit = (EditText) view.findViewById(R.id.password_edit);
         mSsidText = (TextView) view.findViewById(R.id.ssid_text);
         mSsidEdit = (EditText) view.findViewById(R.id.ssid_edit);
+        if (mSsidEdit != null) {
+            mSsidEdit.addTextChangedListener(mSsidEditorWatcher);
+        }
         mSecurityText = (TextView) view.findViewById(R.id.security_text);
         mSecuritySpinner = (Spinner) view.findViewById(R.id.security_spinner);
         mWepTypeSpinner = (Spinner) view.findViewById(R.id.wep_type_spinner);
@@ -439,7 +470,7 @@
             }
             
         } else if (mMode == MODE_CONFIGURE) {
-            String ssid = mState.getHumanReadableSsid();
+            String ssid = mState.ssid;
             if (!TextUtils.isEmpty(ssid)) {
                 mSsidEdit.setText(ssid);
             }
@@ -601,15 +632,24 @@
             updateEnterpriseFields();
         }
 
+        /**
+         * AP state on the current scan list needs update to enable "Forget" capability.
+         * This is not required for newly added APs.
+         */
+        AccessPointState ap = mWifiLayer.getWifiLayerApInstance(mState);
+        if(ap != null) {
+            ap.setConfigured(true);
+        }
+
         if (!mWifiLayer.saveNetwork(mState)) {
             return;
         }
-        
+
         // Connect right away if they've touched it
         if (!mWifiLayer.connectToNetwork(mState)) {
             return;
         }
-        
+
     }
     
     private int getSelectionIndex(String[] array, String selection) {
diff --git a/src/com/android/settings/wifi/AccessPointPreference.java b/src/com/android/settings/wifi/AccessPointPreference.java
index 6dd5492..0c5d6df 100644
--- a/src/com/android/settings/wifi/AccessPointPreference.java
+++ b/src/com/android/settings/wifi/AccessPointPreference.java
@@ -48,7 +48,7 @@
     }
     
     public void refresh() {
-        setTitle(mState.getHumanReadableSsid());
+        setTitle(mState.ssid);
         setSummary(mState.getSummarizedStatus());
 
         notifyChanged();
diff --git a/src/com/android/settings/wifi/AccessPointState.java b/src/com/android/settings/wifi/AccessPointState.java
index 5aefa55..1c3ef95 100644
--- a/src/com/android/settings/wifi/AccessPointState.java
+++ b/src/com/android/settings/wifi/AccessPointState.java
@@ -166,12 +166,6 @@
         if (TextUtils.isEmpty(string)) {
             return "";
         }
-        
-        final int lastPos = string.length() - 1;
-        if (lastPos < 0 || (string.charAt(0) == '"' && string.charAt(lastPos) == '"')) {
-            return string;
-        }
-        
         return "\"" + string + "\"";
     }
     
@@ -209,23 +203,10 @@
             requestRefresh();
         }
     }
-    
-    public String getHumanReadableSsid() {
-        if (TextUtils.isEmpty(ssid)) {
-            return "";
-        }
-        
-        final int lastPos = ssid.length() - 1;
-        if (ssid.charAt(0) == '"' && ssid.charAt(lastPos) == '"') {
-            return ssid.substring(1, lastPos);
-        }
-        
-        return ssid;
-    }
-    
+   
     public void setSsid(String ssid) {
         if (ssid != null) {
-            this.ssid = convertToQuotedString(ssid);
+            this.ssid = ssid;
             requestRefresh();
         }
     }
@@ -478,41 +459,40 @@
         config.BSSID = getWpaSupplicantBssid();
         config.priority = priority;
         config.hiddenSSID = hiddenSsid;
-        config.SSID = convertToQuotedString(ssid);
+        config.SSID = ssid;
         config.eap.setValue(mEap);
 
         if (!TextUtils.isEmpty(mPhase2)) {
-            config.phase2.setValue(convertToQuotedString("auth=" + mPhase2));
+            config.phase2.setValue("auth=" + mPhase2);
         } else {
             config.phase2.setValue(null);
         }
         if (!TextUtils.isEmpty(mEnterpriseFields[IDENTITY])) {
-            config.identity.setValue(
-                    convertToQuotedString(mEnterpriseFields[IDENTITY]));
+            config.identity.setValue(mEnterpriseFields[IDENTITY]);
         } else {
             config.identity.setValue(null);
         }
         if (!TextUtils.isEmpty(mEnterpriseFields[ANONYMOUS_IDENTITY])) {
-            config.anonymous_identity.setValue(convertToQuotedString(
-                    mEnterpriseFields[ANONYMOUS_IDENTITY]));
+            config.anonymous_identity.setValue(
+                    mEnterpriseFields[ANONYMOUS_IDENTITY]);
         } else {
             config.anonymous_identity.setValue(null);
         }
         if (!TextUtils.isEmpty(mEnterpriseFields[CLIENT_CERT])) {
-            config.client_cert.setValue(convertToQuotedString(
-                    mEnterpriseFields[CLIENT_CERT]));
+            config.client_cert.setValue(
+                    mEnterpriseFields[CLIENT_CERT]);
         } else {
             config.client_cert.setValue(null);
         }
         if (!TextUtils.isEmpty(mEnterpriseFields[CA_CERT])) {
-            config.ca_cert.setValue(convertToQuotedString(
-                    mEnterpriseFields[CA_CERT]));
+            config.ca_cert.setValue(
+                    mEnterpriseFields[CA_CERT]);
         } else {
             config.ca_cert.setValue(null);
         }
         if (!TextUtils.isEmpty(mEnterpriseFields[PRIVATE_KEY])) {
-            config.private_key.setValue(convertToQuotedString(
-                    mEnterpriseFields[PRIVATE_KEY]));
+            config.private_key.setValue(
+                    mEnterpriseFields[PRIVATE_KEY]);
         } else {
             config.private_key.setValue(null);
         }
@@ -565,7 +545,7 @@
             config.allowedKeyManagement.set(KeyMgmt.WPA_EAP);
             config.allowedKeyManagement.set(KeyMgmt.IEEE8021X);
             if (!TextUtils.isEmpty(mPassword)) {
-                config.password.setValue(convertToQuotedString(mPassword));
+                config.password.setValue(mPassword);
             }
         } else if (security.equals(OPEN)) {
             config.allowedKeyManagement.set(KeyMgmt.NONE);
diff --git a/src/com/android/settings/wifi/WifiAPITest.java b/src/com/android/settings/wifi/WifiAPITest.java
new file mode 100644
index 0000000..4a9a075
--- /dev/null
+++ b/src/com/android/settings/wifi/WifiAPITest.java
@@ -0,0 +1,146 @@
+/*
+ * 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.wifi;
+
+import com.android.settings.R;
+
+import android.app.AlertDialog;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.net.wifi.WifiManager;
+
+import android.os.Bundle;
+import android.preference.Preference;
+import android.preference.PreferenceActivity;
+import android.preference.PreferenceScreen;
+import android.text.Editable;
+import android.widget.EditText;
+
+
+/**
+ * Provide an interface for testing out the Wifi API
+ */
+public class WifiAPITest extends PreferenceActivity implements
+Preference.OnPreferenceClickListener {
+
+    private static final String TAG = "WifiAPITest";
+    private int netid;
+
+    //============================
+    // Preference/activity member variables
+    //============================
+
+    private static final String KEY_DISCONNECT = "disconnect";
+    private static final String KEY_DISABLE_NETWORK = "disable_network";
+    private static final String KEY_ENABLE_NETWORK = "enable_network";
+
+    private Preference mWifiDisconnect;
+    private Preference mWifiDisableNetwork;
+    private Preference mWifiEnableNetwork;
+
+    private WifiManager mWifiManager;
+
+
+    //============================
+    // Activity lifecycle
+    //============================
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        onCreatePreferences();
+        mWifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
+    }
+
+
+    private void onCreatePreferences() {
+        addPreferencesFromResource(R.layout.wifi_api_test);
+
+        final PreferenceScreen preferenceScreen = getPreferenceScreen();
+
+        mWifiDisconnect = (Preference) preferenceScreen.findPreference(KEY_DISCONNECT);
+        mWifiDisconnect.setOnPreferenceClickListener(this);
+
+        mWifiDisableNetwork = (Preference) preferenceScreen.findPreference(KEY_DISABLE_NETWORK);
+        mWifiDisableNetwork.setOnPreferenceClickListener(this);
+
+        mWifiEnableNetwork = (Preference) preferenceScreen.findPreference(KEY_ENABLE_NETWORK);
+        mWifiEnableNetwork.setOnPreferenceClickListener(this);
+
+    }
+
+    //============================
+    // Preference callbacks
+    //============================
+
+    @Override
+    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
+        super.onPreferenceTreeClick(preferenceScreen, preference);
+        return false;
+    }
+
+    /**
+     *  Implements OnPreferenceClickListener interface
+     */
+    public boolean onPreferenceClick(Preference pref) {
+        if (pref == mWifiDisconnect) {
+            mWifiManager.disconnect();
+        } else if (pref == mWifiDisableNetwork) {
+            AlertDialog.Builder alert = new AlertDialog.Builder(this);
+            alert.setTitle("Input");
+            alert.setMessage("Enter Network ID");
+            // Set an EditText view to get user input
+            final EditText input = new EditText(this);
+            alert.setView(input);
+            alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
+                    public void onClick(DialogInterface dialog, int whichButton) {
+                    Editable value = input.getText();
+                    netid = Integer.parseInt(value.toString());
+                    mWifiManager.disableNetwork(netid);
+                    }
+                    });
+            alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
+                    public void onClick(DialogInterface dialog, int whichButton) {
+                    // Canceled.
+                    }
+                    });
+            alert.show();
+        } else if (pref == mWifiEnableNetwork) {
+            AlertDialog.Builder alert = new AlertDialog.Builder(this);
+            alert.setTitle("Input");
+            alert.setMessage("Enter Network ID");
+            // Set an EditText view to get user input
+            final EditText input = new EditText(this);
+            alert.setView(input);
+            alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
+                    public void onClick(DialogInterface dialog, int whichButton) {
+                    Editable value = input.getText();
+                    netid =  Integer.parseInt(value.toString());
+                    mWifiManager.enableNetwork(netid, false);
+                    }
+                    });
+            alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
+                    public void onClick(DialogInterface dialog, int whichButton) {
+                    // Canceled.
+                    }
+                    });
+            alert.show();
+        }
+        return true;
+    }
+}
diff --git a/src/com/android/settings/wifi/WifiConfigInfo.java b/src/com/android/settings/wifi/WifiConfigInfo.java
new file mode 100644
index 0000000..2ed4f02
--- /dev/null
+++ b/src/com/android/settings/wifi/WifiConfigInfo.java
@@ -0,0 +1,63 @@
+/*
+ * 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.wifi;
+
+import android.app.Activity;
+import android.net.wifi.WifiManager;
+import android.os.Bundle;
+import android.widget.TextView;
+import android.net.wifi.WifiConfiguration;
+import java.util.List;
+
+import com.android.settings.R;
+
+
+/**
+ * Configuration details saved by the user on the WifiSettings screen
+ */
+public class WifiConfigInfo extends Activity {
+
+    private static final String TAG = "WifiConfigInfo";
+
+    private TextView mConfigList;
+    private WifiManager mWifiManager;
+
+    //============================
+    // Activity lifecycle
+    //============================
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        mWifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
+        setContentView(R.layout.wifi_config_info);
+        mConfigList = (TextView) findViewById(R.id.config_list);
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        final List<WifiConfiguration> wifiConfigs = mWifiManager.getConfiguredNetworks();
+        StringBuffer configList  = new StringBuffer();
+        for (int i = wifiConfigs.size() - 1; i >= 0; i--) {
+            configList.append(wifiConfigs.get(i));
+        }
+        mConfigList.setText(configList);
+    }
+
+}
diff --git a/src/com/android/settings/wifi/WifiEnabler.java b/src/com/android/settings/wifi/WifiEnabler.java
index 10a672b..b6e758d 100644
--- a/src/com/android/settings/wifi/WifiEnabler.java
+++ b/src/com/android/settings/wifi/WifiEnabler.java
@@ -64,6 +64,11 @@
             }
         }
     };
+
+    public WifiEnabler(Context context, CheckBoxPreference wifiCheckBoxPreference) {
+        this(context, (WifiManager) context.getSystemService(Context.WIFI_SERVICE),
+                wifiCheckBoxPreference);
+    }
     
     public WifiEnabler(Context context, WifiManager wifiManager,
             CheckBoxPreference wifiCheckBoxPreference) {
@@ -122,9 +127,18 @@
             mWifiCheckBoxPref.setChecked(wifiState == WIFI_STATE_ENABLED);
             mWifiCheckBoxPref
                     .setSummary(wifiState == WIFI_STATE_DISABLED ? mOriginalSummary : null);
-            
-            mWifiCheckBoxPref.setEnabled(isWifiAllowed(mContext));
-            
+
+            final boolean hasDependency = !TextUtils.isEmpty(mWifiCheckBoxPref.getDependency());
+            final boolean wifiAllowed = isWifiAllowed(mContext);
+
+            // Avoid disabling when dependencies have been manually set,
+            // workaround for framework bug http://b/2053751
+            if (wifiAllowed) {
+                mWifiCheckBoxPref.setEnabled(true);
+            } else if (!hasDependency) {
+                mWifiCheckBoxPref.setEnabled(false);
+            }
+
         } else if (wifiState == WIFI_STATE_DISABLING || wifiState == WIFI_STATE_ENABLING) {
             mWifiCheckBoxPref.setSummary(wifiState == WIFI_STATE_ENABLING ? R.string.wifi_starting
                     : R.string.wifi_stopping);
diff --git a/src/com/android/settings/wifi/WifiInfo.java b/src/com/android/settings/wifi/WifiInfo.java
new file mode 100644
index 0000000..291a495
--- /dev/null
+++ b/src/com/android/settings/wifi/WifiInfo.java
@@ -0,0 +1,36 @@
+/*
+ * 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.wifi;
+
+import com.android.settings.R;
+
+import android.os.Bundle;
+import android.preference.PreferenceActivity;
+
+
+/**
+ * Wifi information menu item on the diagnostic screen
+ */
+public class WifiInfo extends PreferenceActivity {
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        addPreferencesFromResource(R.xml.testing_wifi_settings);
+    }
+
+}
diff --git a/src/com/android/settings/wifi/WifiLayer.java b/src/com/android/settings/wifi/WifiLayer.java
index ce518e1..0281cb0 100644
--- a/src/com/android/settings/wifi/WifiLayer.java
+++ b/src/com/android/settings/wifi/WifiLayer.java
@@ -749,7 +749,6 @@
                     // We already know about this one
                     continue;
                 }
-    
                 ap = new AccessPointState(mContext);
                 ap.updateFromWifiConfiguration(config);
                 if (LOGV) Log.v(TAG, "Created " + ap + " in loadConfiguredAccessPoints");
@@ -1152,7 +1151,7 @@
                         continue;
                     }
                     
-                    final String ssid = AccessPointState.convertToQuotedString(scanResult.SSID);
+                    final String ssid = scanResult.SSID;
                     String security = AccessPointState.getScanResultSecurity(scanResult);
                     
                     // See if this AP is part of a group of APs (e.g., any large
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index cac77e3..04f6aa4 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -192,6 +192,9 @@
         if (mWifiEnabler != null) {
             mWifiEnabler.pause();
         }
+        if (mDialog != null) {
+            mDialog.dismiss();
+        }
     }
 
     @Override
@@ -276,8 +279,7 @@
         if (state == null) {
             return;
         }
-
-        menu.setHeaderTitle(state.getHumanReadableSsid());
+        menu.setHeaderTitle(state.ssid);
 
         if (state.isConnectable()) {
             menu.add(0, CONTEXT_MENU_ID_CONNECT, 0, R.string.wifi_context_menu_connect);
diff --git a/src/com/android/settings/wifi/WifiStatusTest.java b/src/com/android/settings/wifi/WifiStatusTest.java
new file mode 100644
index 0000000..e440a33
--- /dev/null
+++ b/src/com/android/settings/wifi/WifiStatusTest.java
@@ -0,0 +1,408 @@
+/*
+ * 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.wifi;
+
+import com.android.settings.R;
+import com.android.settings.wifi.WifiStatus;
+import android.net.wifi.ScanResult;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.DefaultHttpClient;
+import java.util.List;
+import android.app.Activity;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.net.NetworkInfo;
+import android.net.wifi.SupplicantState;
+import android.net.wifi.WifiInfo;
+import android.net.wifi.WifiManager;
+import android.os.Bundle;
+import android.os.Handler;
+import android.text.TextUtils;
+import android.util.Log;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.Button;
+import android.widget.TextView;
+import java.io.IOException;
+import java.net.UnknownHostException;
+
+
+/**
+ * Show the current status details of Wifi related fields
+ */
+public class WifiStatusTest extends Activity {
+
+    private static final String TAG = "WifiStatusTest";
+
+    private Button updateButton;
+    private TextView mWifiState;
+    private TextView mNetworkState;
+    private TextView mSupplicantState;
+    private TextView mRSSI;
+    private TextView mBSSID;
+    private TextView mSSID;
+    private TextView mHiddenSSID;
+    private TextView mIPAddr;
+    private TextView mMACAddr;
+    private TextView mNetworkId;
+    private TextView mLinkSpeed;
+    private TextView mScanList;
+
+
+    private TextView mPingIpAddr;
+    private TextView mPingHostname;
+    private TextView mHttpClientTest;
+    private Button pingTestButton;
+
+    private String mPingIpAddrResult;
+    private String mPingHostnameResult;
+    private String mHttpClientTestResult;
+
+
+    private WifiManager mWifiManager;
+    private IntentFilter mWifiStateFilter;
+
+
+    //============================
+    // Activity lifecycle
+    //============================
+
+    private final BroadcastReceiver mWifiStateReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            if (intent.getAction().equals(WifiManager.WIFI_STATE_CHANGED_ACTION)) {
+                handleWifiStateChanged(intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE,
+                            WifiManager.WIFI_STATE_UNKNOWN));
+            } else if (intent.getAction().equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
+                handleNetworkStateChanged(
+                        (NetworkInfo) intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO));
+            } else if (intent.getAction().equals(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)) {
+                handleScanResultsAvailable();
+            } else if (intent.getAction().equals(WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION)) {
+                /* TODO: handle supplicant connection change later */
+            } else if (intent.getAction().equals(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION)) {
+                handleSupplicantStateChanged(
+                        (SupplicantState) intent.getParcelableExtra(WifiManager.EXTRA_NEW_STATE),
+                        intent.hasExtra(WifiManager.EXTRA_SUPPLICANT_ERROR),
+                        intent.getIntExtra(WifiManager.EXTRA_SUPPLICANT_ERROR, 0));
+            } else if (intent.getAction().equals(WifiManager.RSSI_CHANGED_ACTION)) {
+                handleSignalChanged(intent.getIntExtra(WifiManager.EXTRA_NEW_RSSI, 0));
+            } else if (intent.getAction().equals(WifiManager.NETWORK_IDS_CHANGED_ACTION)) {
+                /* TODO: handle network id change info later */
+            } else {
+                Log.e(TAG, "Received an unknown Wifi Intent");
+            }
+        }
+    };
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        mWifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
+
+        mWifiStateFilter = new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION);
+        mWifiStateFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
+        mWifiStateFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
+        mWifiStateFilter.addAction(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION);
+        mWifiStateFilter.addAction(WifiManager.RSSI_CHANGED_ACTION);
+        mWifiStateFilter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
+
+        registerReceiver(mWifiStateReceiver, mWifiStateFilter);
+
+        setContentView(R.layout.wifi_status_test);
+
+        updateButton = (Button) findViewById(R.id.update);
+        updateButton.setOnClickListener(updateButtonHandler);
+
+        mWifiState = (TextView) findViewById(R.id.wifi_state);
+        mNetworkState = (TextView) findViewById(R.id.network_state);
+        mSupplicantState = (TextView) findViewById(R.id.supplicant_state);
+        mRSSI = (TextView) findViewById(R.id.rssi);
+        mBSSID = (TextView) findViewById(R.id.bssid);
+        mSSID = (TextView) findViewById(R.id.ssid);
+        mHiddenSSID = (TextView) findViewById(R.id.hidden_ssid);
+        mIPAddr = (TextView) findViewById(R.id.ipaddr);
+        mMACAddr = (TextView) findViewById(R.id.macaddr);
+        mNetworkId = (TextView) findViewById(R.id.networkid);
+        mLinkSpeed = (TextView) findViewById(R.id.link_speed);
+        mScanList = (TextView) findViewById(R.id.scan_list);
+
+
+        mPingIpAddr = (TextView) findViewById(R.id.pingIpAddr);
+        mPingHostname = (TextView) findViewById(R.id.pingHostname);
+        mHttpClientTest = (TextView) findViewById(R.id.httpClientTest);
+
+        pingTestButton = (Button) findViewById(R.id.ping_test);
+        pingTestButton.setOnClickListener(mPingButtonHandler);
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        registerReceiver(mWifiStateReceiver, mWifiStateFilter);
+    }
+
+    @Override
+    protected void onPause() {
+        super.onPause();
+        unregisterReceiver(mWifiStateReceiver);
+    }
+
+    OnClickListener mPingButtonHandler = new OnClickListener() {
+        public void onClick(View v) {
+            updatePingState();
+        }
+    };
+
+    OnClickListener updateButtonHandler = new OnClickListener() {
+        public void onClick(View v) {
+            final WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
+
+            setWifiStateText(mWifiManager.getWifiState());
+            mBSSID.setText(wifiInfo.getBSSID());
+            mHiddenSSID.setText(String.valueOf(wifiInfo.getHiddenSSID()));
+            int ipAddr = wifiInfo.getIpAddress();
+            StringBuffer ipBuf = new StringBuffer();
+            ipBuf.append(ipAddr  & 0xff).append('.').
+                append((ipAddr >>>= 8) & 0xff).append('.').
+                append((ipAddr >>>= 8) & 0xff).append('.').
+                append((ipAddr >>>= 8) & 0xff);
+
+            mIPAddr.setText(ipBuf);
+            mLinkSpeed.setText(String.valueOf(wifiInfo.getLinkSpeed())+" Mbps");
+            mMACAddr.setText(wifiInfo.getMacAddress());
+            mNetworkId.setText(String.valueOf(wifiInfo.getNetworkId()));
+            mRSSI.setText(String.valueOf(wifiInfo.getRssi()));
+            mSSID.setText(wifiInfo.getSSID());
+
+            SupplicantState supplicantState = wifiInfo.getSupplicantState();
+            setSupplicantStateText(supplicantState);
+        }
+    };
+
+    private void setSupplicantStateText(SupplicantState supplicantState) {
+        if(SupplicantState.FOUR_WAY_HANDSHAKE.equals(supplicantState)) {
+            mSupplicantState.setText("FOUR WAY HANDSHAKE");
+        } else if(SupplicantState.ASSOCIATED.equals(supplicantState)) {
+            mSupplicantState.setText("ASSOCIATED");
+        } else if(SupplicantState.ASSOCIATING.equals(supplicantState)) {
+            mSupplicantState.setText("ASSOCIATING");
+        } else if(SupplicantState.COMPLETED.equals(supplicantState)) {
+            mSupplicantState.setText("COMPLETED");
+        } else if(SupplicantState.DISCONNECTED.equals(supplicantState)) {
+            mSupplicantState.setText("DISCONNECTED");
+        } else if(SupplicantState.DORMANT.equals(supplicantState)) {
+            mSupplicantState.setText("DORMANT");
+        } else if(SupplicantState.GROUP_HANDSHAKE.equals(supplicantState)) {
+            mSupplicantState.setText("GROUP HANDSHAKE");
+        } else if(SupplicantState.INACTIVE.equals(supplicantState)) {
+            mSupplicantState.setText("INACTIVE");
+        } else if(SupplicantState.INVALID.equals(supplicantState)) {
+            mSupplicantState.setText("INVALID");
+        } else if(SupplicantState.SCANNING.equals(supplicantState)) {
+            mSupplicantState.setText("SCANNING");
+        } else if(SupplicantState.UNINITIALIZED.equals(supplicantState)) {
+            mSupplicantState.setText("UNINITIALIZED");
+        } else {
+            mSupplicantState.setText("BAD");
+            Log.e(TAG, "supplicant state is bad");
+        }
+    }
+
+    private void setWifiStateText(int wifiState) {
+        String wifiStateString;
+        switch(wifiState) {
+            case WifiManager.WIFI_STATE_DISABLING:
+                wifiStateString = getString(R.string.wifi_state_disabling);
+                break;
+            case WifiManager.WIFI_STATE_DISABLED:
+                wifiStateString = getString(R.string.wifi_state_disabled);
+                break;
+            case WifiManager.WIFI_STATE_ENABLING:
+                wifiStateString = getString(R.string.wifi_state_enabling);
+                break;
+            case WifiManager.WIFI_STATE_ENABLED:
+                wifiStateString = getString(R.string.wifi_state_enabled);
+                break;
+            case WifiManager.WIFI_STATE_UNKNOWN:
+                wifiStateString = getString(R.string.wifi_state_unknown);
+                break;
+            default:
+                wifiStateString = "BAD";
+                Log.e(TAG, "wifi state is bad");
+                break;
+        }
+
+        mWifiState.setText(wifiStateString);
+    }
+
+    private void handleSignalChanged(int rssi) {
+        mRSSI.setText(String.valueOf(rssi));
+    }
+
+    private void handleWifiStateChanged(int wifiState) {
+        setWifiStateText(wifiState);
+    }
+
+    private void handleScanResultsAvailable() {
+        List<ScanResult> list = mWifiManager.getScanResults();
+
+        StringBuffer scanList = new StringBuffer();
+        if (list != null) {
+            for (int i = list.size() - 1; i >= 0; i--) {
+                final ScanResult scanResult = list.get(i);
+
+                if (scanResult == null) {
+                    continue;
+                }
+
+                if (TextUtils.isEmpty(scanResult.SSID)) {
+                    continue;
+                }
+
+                scanList.append(scanResult.SSID+" ");
+            }
+        }
+        mScanList.setText(scanList);
+    }
+
+    private void handleSupplicantStateChanged(SupplicantState state, boolean hasError, int error) {
+        if (hasError) {
+            mSupplicantState.setText("ERROR AUTHENTICATING");
+        } else {
+            setSupplicantStateText(state);
+        }
+    }
+
+    private void handleNetworkStateChanged(NetworkInfo networkInfo) {
+        if (mWifiManager.isWifiEnabled()) {
+            String summary = WifiStatus.getStatus(this,
+                    mWifiManager.getConnectionInfo().getSSID(), networkInfo.getDetailedState());
+            mNetworkState.setText(summary);
+        }
+    }
+
+    private final void updatePingState() {
+        final Handler handler = new Handler();
+        // Set all to unknown since the threads will take a few secs to update.
+        mPingIpAddrResult = getResources().getString(R.string.radioInfo_unknown);
+        mPingHostnameResult = getResources().getString(R.string.radioInfo_unknown);
+        mHttpClientTestResult = getResources().getString(R.string.radioInfo_unknown);
+
+        mPingIpAddr.setText(mPingIpAddrResult);
+        mPingHostname.setText(mPingHostnameResult);
+        mHttpClientTest.setText(mHttpClientTestResult);
+
+        final Runnable updatePingResults = new Runnable() {
+            public void run() {
+                mPingIpAddr.setText(mPingIpAddrResult);
+                mPingHostname.setText(mPingHostnameResult);
+                mHttpClientTest.setText(mHttpClientTestResult);
+            }
+        };
+        Thread ipAddrThread = new Thread() {
+            @Override
+            public void run() {
+                pingIpAddr();
+                handler.post(updatePingResults);
+            }
+        };
+        ipAddrThread.start();
+
+        Thread hostnameThread = new Thread() {
+            @Override
+            public void run() {
+                pingHostname();
+                handler.post(updatePingResults);
+            }
+        };
+        hostnameThread.start();
+
+        Thread httpClientThread = new Thread() {
+            @Override
+            public void run() {
+                httpClientTest();
+                handler.post(updatePingResults);
+            }
+        };
+        httpClientThread.start();
+    }
+
+    /**
+     * The ping functions have been borrowed from Radio diagnostic app to
+     * enable quick access on the wifi status screen
+     */
+    private final void pingIpAddr() {
+        try {
+            // TODO: Hardcoded for now, make it UI configurable
+            String ipAddress = "74.125.47.104";
+            Process p = Runtime.getRuntime().exec("ping -c 1 -w 100 " + ipAddress);
+            int status = p.waitFor();
+            if (status == 0) {
+                mPingIpAddrResult = "Pass";
+            } else {
+                mPingIpAddrResult = "Fail: IP addr not reachable";
+            }
+        } catch (IOException e) {
+            mPingIpAddrResult = "Fail: IOException";
+        } catch (InterruptedException e) {
+            mPingIpAddrResult = "Fail: InterruptedException";
+        }
+    }
+
+    private final void pingHostname() {
+        try {
+            // TODO: Hardcoded for now, make it UI configurable
+            Process p = Runtime.getRuntime().exec("ping -c 1 -w 100 www.google.com");
+            int status = p.waitFor();
+            if (status == 0) {
+                mPingHostnameResult = "Pass";
+            } else {
+                mPingHostnameResult = "Fail: Host unreachable";
+            }
+        } catch (UnknownHostException e) {
+            mPingHostnameResult = "Fail: Unknown Host";
+        } catch (IOException e) {
+            mPingHostnameResult= "Fail: IOException";
+        } catch (InterruptedException e) {
+            mPingHostnameResult = "Fail: InterruptedException";
+        }
+    }
+
+    private void httpClientTest() {
+        HttpClient client = new DefaultHttpClient();
+        try {
+            // TODO: Hardcoded for now, make it UI configurable
+            HttpGet request = new HttpGet("http://www.google.com");
+            HttpResponse response = client.execute(request);
+            if (response.getStatusLine().getStatusCode() == 200) {
+                mHttpClientTestResult = "Pass";
+            } else {
+                mHttpClientTestResult = "Fail: Code: " + String.valueOf(response);
+            }
+            request.abort();
+        } catch (IOException e) {
+            mHttpClientTestResult = "Fail: IOException";
+        }
+    }
+
+}
diff --git a/tests/res/layout/bluetooth_request_permission_test.xml b/tests/res/layout/bluetooth_request_permission_test.xml
index 8bb0daa..4d54544 100644
--- a/tests/res/layout/bluetooth_request_permission_test.xml
+++ b/tests/res/layout/bluetooth_request_permission_test.xml
@@ -16,18 +16,18 @@
 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical"
-    android:layout_width="fill_parent"
-    android:layout_height="fill_parent">
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
 
     <ListView android:id="@+id/msg_container"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="0dip"
         android:layout_weight="1"
         android:transcriptMode="normal"/>
 
     <LinearLayout
         android:orientation="horizontal"
-        android:layout_width="fill_parent"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content"
         style="@android:style/ButtonBar">
 
