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 b9945c5..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"
@@ -160,8 +193,8 @@
             </intent-filter>
         </activity>
 
-        <activity android:name="DateTimeSettingsSetupWizard" android:label="@string/date_and_time">
-            android:screenOrientation="portrait"
+        <activity android:name="DateTimeSettingsSetupWizard" android:label="@string/date_and_time"
+            android:screenOrientation="portrait">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
             </intent-filter>
@@ -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 1cf17a2..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. -->
@@ -650,7 +638,7 @@
     <!-- Bluetooth settings.  Dock Setting Dialog - Checkbox selection 1: Use dock as speaker phone -->
     <string name="bluetooth_dock_settings_headset">As speaker phone</string>
     <!-- Bluetooth settings.  Dock Setting Dialog - Checkbox selection 2: Use dock for media audio -->
-    <string name="bluetooth_dock_settings_a2dp">Music, ringer, alarms \u0028silences phone\u0029</string>
+    <string name="bluetooth_dock_settings_a2dp">For music and media</string>
     <!-- Bluetooth settings.  Dock Setting Dialog - Remember setting and don't ask user again -->
     <string name="bluetooth_dock_settings_remember">Remember settings</string>
 
@@ -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.   -->
@@ -1389,7 +1471,7 @@
     <!-- Applications settings screen, setting check box title. If checked, the system allows installation of applications that are downloaded from random places, such as web sites.  -->
     <string name="install_applications">Unknown sources</string>
     <!-- Applications settings screen, setting check box summary.  This is the summary for "Unknown sources" checkbox  -->
-    <string name="install_unknown_applications">Allow install of non-Market applications</string>
+    <string name="install_unknown_applications">Allow installation of non-Market applications</string>
     <!-- Applications settings screen, message text of alert that appears if user selects the "Unknown sources" check box -->
     <string name="install_all_warning">Your phone and personal data are more vulnerable to attack by applications
  from unknown sources. You agree that you are solely responsible for any
@@ -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">
 
