diff --git a/res/values/strings.xml b/res/values/strings.xml
index 3270c195eb6..2f432a3d0e0 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2633,6 +2633,8 @@
Choose keyboard layout
No keyboard layouts are available.
+
+ Default
diff --git a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
index e764a7325ea..b48df03b008 100644
--- a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
+++ b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
@@ -420,6 +420,8 @@ public class InputMethodAndLanguageSettings extends SettingsPreferenceFragment
pref.setTitle(device.getName());
if (keyboardLayout != null) {
pref.setSummary(keyboardLayout.getLabel());
+ } else {
+ pref.setSummary(R.string.keyboard_layout_default_label);
}
pref.setIntent(intent);
mHardKeyboardPreferenceList.add(pref);
diff --git a/src/com/android/settings/inputmethod/KeyboardLayoutPicker.java b/src/com/android/settings/inputmethod/KeyboardLayoutPicker.java
index 4cfae56a971..40b97fc45c3 100644
--- a/src/com/android/settings/inputmethod/KeyboardLayoutPicker.java
+++ b/src/com/android/settings/inputmethod/KeyboardLayoutPicker.java
@@ -110,8 +110,12 @@ public class KeyboardLayoutPicker extends ListFragment
public KeyboardLayout[] loadInBackground() {
InputManager im = (InputManager)getContext().getSystemService(Context.INPUT_SERVICE);
KeyboardLayout[] list = im.getKeyboardLayouts();
- Arrays.sort(list);
- return list;
+ KeyboardLayout[] listWithDefault = new KeyboardLayout[list.length + 1];
+ listWithDefault[0] = new KeyboardLayout(null,
+ getContext().getString(R.string.keyboard_layout_default_label));
+ System.arraycopy(list, 0, listWithDefault, 1, list.length);
+ Arrays.sort(listWithDefault);
+ return listWithDefault;
}
@Override