auto import from //depot/cupcake/@136594
diff --git a/res/layout/preference_dialog_ringervolume.xml b/res/layout/preference_dialog_ringervolume.xml
index 63cc97a..5905f45 100644
--- a/res/layout/preference_dialog_ringervolume.xml
+++ b/res/layout/preference_dialog_ringervolume.xml
@@ -14,58 +14,63 @@
      limitations under the License.
 -->
 
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
         android:layout_width="fill_parent"
-        android:layout_height="fill_parent"
-        android:orientation="vertical"
-        android:gravity="center_horizontal"
-        android:paddingBottom="20dip">
+        android:layout_height="fill_parent">
         
-    <ImageView android:id="@android:id/icon"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:paddingTop="20dip" />
+    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+            android:layout_width="fill_parent"
+            android:layout_height="fill_parent"
+            android:orientation="vertical"
+            android:gravity="center_horizontal"
+            android:paddingBottom="20dip">
             
-    <TextView
-            android:layout_width="fill_parent"
-            android:layout_height="wrap_content"
-            android:text="@string/incoming_call_volume_title"
-            android:paddingTop="20dip"
-            android:paddingLeft="20dip" 
-            android:paddingRight="20dip" />
-    
-    <!-- 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_height="wrap_content"
-            android:paddingTop="6dip" 
-            android:paddingLeft="20dip" 
-            android:paddingRight="20dip" />
+        <ImageView android:id="@android:id/icon"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:paddingTop="20dip" />
+                
+        <TextView
+                android:layout_width="fill_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/incoming_call_volume_title"
+                android:paddingTop="20dip"
+                android:paddingLeft="20dip" 
+                android:paddingRight="20dip" />
         
-    <CheckBox android:id="@+id/same_notification_volume"
-            android:layout_width="fill_parent"
-            android:layout_height="wrap_content"
-            android:text="@string/checkbox_notification_same_as_incoming_call"
-            android:textAppearance="?android:attr/textAppearanceSmall"
-            android:layout_marginTop="6dip"
-            android:layout_marginLeft="20dip" 
-            android:layout_marginRight="20dip" />
-
-    <TextView android:id="@+id/notification_volume_title"
-            android:layout_width="fill_parent"
-            android:layout_height="wrap_content"
-            android:text="@string/notification_volume_title"
-            android:paddingTop="6dip"
-            android:paddingLeft="20dip" 
-            android:paddingRight="20dip" />
+        <!-- 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_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_height="wrap_content"
+                android:text="@string/checkbox_notification_same_as_incoming_call"
+                android:textAppearance="?android:attr/textAppearanceSmall"
+                android:layout_marginTop="6dip"
+                android:layout_marginLeft="20dip" 
+                android:layout_marginRight="20dip" />
     
-    <!-- Used for the notification volume -->
-    <SeekBar android:id="@+id/notification_volume_seekbar"
-            android:layout_width="fill_parent"
-            android:layout_height="wrap_content"
-            android:paddingTop="6dip" 
-            android:paddingLeft="20dip" 
-            android:paddingRight="20dip" />
-    
-</LinearLayout>
- 
+        <TextView android:id="@+id/notification_volume_title"
+                android:layout_width="fill_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/notification_volume_title"
+                android:paddingTop="6dip"
+                android:paddingLeft="20dip" 
+                android:paddingRight="20dip" />
+        
+        <!-- Used for the notification volume -->
+        <SeekBar android:id="@+id/notification_volume_seekbar"
+                android:layout_width="fill_parent"
+                android:layout_height="wrap_content"
+                android:paddingTop="6dip" 
+                android:paddingLeft="20dip" 
+                android:paddingRight="20dip" />
+        
+    </LinearLayout>
+     
+</ScrollView>    
\ No newline at end of file
diff --git a/res/values/strings.xml b/res/values/strings.xml
index ecf6e02..8707dd8 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1324,6 +1324,8 @@
     <string name="user_dict_settings_add_menu_title">Add</string>
     <!-- User dictionary settings. The title of the dialog to add a new word to the user dictionary. -->
     <string name="user_dict_settings_add_dialog_title">Add to dictionary</string>
+    <!-- User dictionary settings. The title of the dialog to edit an existing word in the user dictionary. -->
+    <string name="user_dict_settings_edit_dialog_title">Edit word</string>
     <!-- User dictionary settings. The title of the context menu item to edit the current word -->
     <string name="user_dict_settings_context_menu_edit_title">Edit</string>
     <!-- User dictionary settings. The title of the context menu item to delete the current word -->
@@ -1369,7 +1371,13 @@
     <string name="input_methods_settings_title">Text input</string>
     <string name="input_methods_settings_summary">Manage text input options</string>
     <!-- Input Methods Settings localized format string for generating the appropriate "Foo settings" menu label for the Input Method named "Foo" -->
-    <string name="input_methods_settings_label_format">%s settings</string>
+    <string name="input_methods_settings_label_format"><xliff:g id="ime_name">%1$s</xliff:g> settings</string>
+    <!-- Summary for on-screen keyboard settings -->
+    <string name="onscreen_keyboard_settings_summary">On-screen keyboard settings</string>
+    <!-- Title for built-in keyboard settings -->
+    <string name="builtin_keyboard_settings_title">Device keyboard</string>
+    <!-- Summary for built-in keyboard settings -->
+    <string name="builtin_keyboard_settings_summary">Built-in keyboard settings</string>
 
     <!-- Development Settings.  the title for the item to take the user to Development settings.  Development settings are settings meant for application developers.  -->
     <string name="development_settings_title">Development</string>
diff --git a/res/xml/keyboard_settings.xml b/res/xml/keyboard_settings.xml
new file mode 100644
index 0000000..85d90ab
--- /dev/null
+++ b/res/xml/keyboard_settings.xml
@@ -0,0 +1,39 @@
+<?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"
+        xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
+
+    <CheckBoxPreference
+            android:key="auto_replace"
+            android:title="@string/auto_replace"
+            android:summaryOn="@string/auto_replace_summary"
+            android:summaryOff="@string/auto_replace_summary"
+            android:persistent="false"/>
+    <CheckBoxPreference
+            android:key="auto_caps"
+            android:title="@string/auto_caps"
+            android:summaryOn="@string/auto_caps_summary"
+            android:summaryOff="@string/auto_caps_summary"
+            android:persistent="false"/>
+    <CheckBoxPreference
+            android:key="auto_punctuate"
+            android:title="@string/auto_punctuate"
+            android:summaryOn="@string/auto_punctuate_summary"
+            android:summaryOff="@string/auto_punctuate_summary"
+            android:persistent="false"/>
+            
+</PreferenceScreen>
diff --git a/res/xml/language_settings.xml b/res/xml/language_settings.xml
index 050896f..86893bd 100644
--- a/res/xml/language_settings.xml
+++ b/res/xml/language_settings.xml
@@ -29,6 +29,15 @@
     <PreferenceCategory android:key="text_category"
             android:title="@string/text_category" />
 
+    <PreferenceScreen
+            android:key="hardkeyboard_category"
+            android:title="@string/builtin_keyboard_settings_title"
+            android:summary="@string/builtin_keyboard_settings_summary">
+        <intent android:action="android.intent.action.MAIN"
+                android:targetPackage="com.android.settings"
+                android:targetClass="com.android.settings.PhysicalKeyboardSettings"/>
+    </PreferenceScreen>
+    
     <PreferenceScreen 
             android:title="@string/user_dict_settings_title" 
             android:summary="@string/user_dict_settings_summary">
@@ -37,26 +46,4 @@
                 android:targetClass="com.android.settings.UserDictionarySettings" />
     </PreferenceScreen>
 
-    <PreferenceCategory
-            android:key="hardkeyboard_category"
-            android:title="@string/hardkeyboard_category">
-        <CheckBoxPreference
-                android:key="auto_replace"
-                android:title="@string/auto_replace"
-                android:summaryOn="@string/auto_replace_summary"
-                android:summaryOff="@string/auto_replace_summary"
-                android:persistent="false"/>
-        <CheckBoxPreference
-                android:key="auto_caps"
-                android:title="@string/auto_caps"
-                android:summaryOn="@string/auto_caps_summary"
-                android:summaryOff="@string/auto_caps_summary"
-                android:persistent="false"/>
-        <CheckBoxPreference
-                android:key="auto_punctuate"
-                android:title="@string/auto_punctuate"
-                android:summaryOn="@string/auto_punctuate_summary"
-                android:summaryOff="@string/auto_punctuate_summary"
-                android:persistent="false"/>
-    </PreferenceCategory>
 </PreferenceScreen>