Add label for default keyboard layout.

Bug: 6110399
Change-Id: I2431b99884cbd01de32f8cd6c14a3afbd18b5020
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 3270c19..2f432a3 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2633,6 +2633,8 @@
     <string name="keyboard_layout_picker_title">Choose keyboard layout</string>
     <!-- String to show when no keyboard layouts are available. [CHAR LIMIT=60] -->
     <string name="keyboard_layout_picker_empty_text">No keyboard layouts are available.</string>
+    <!-- Label of the default keyboard layout.  [CHAR LIMIT=35] -->
+    <string name="keyboard_layout_default_label">Default</string>
 
     <!-- User dictionary settings --><skip />
     <!-- User dictionary settings, The titlebar text of the User dictionary settings screen. -->
diff --git a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
index e764a73..b48df03 100644
--- a/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
+++ b/src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
@@ -420,6 +420,8 @@
                     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 4cfae56..40b97fc 100644
--- a/src/com/android/settings/inputmethod/KeyboardLayoutPicker.java
+++ b/src/com/android/settings/inputmethod/KeyboardLayoutPicker.java
@@ -110,8 +110,12 @@
         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