diff --git a/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerController.java b/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerController.java index 879f1341f19..9545276b91c 100644 --- a/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerController.java +++ b/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerController.java @@ -83,6 +83,7 @@ public class NewKeyboardLayoutPickerController extends BasePreferenceController mFinalSelectedLayout = mLayout; mKeyboardLayouts = mIm.getKeyboardLayoutListForInputDevice( mInputDeviceIdentifier, mUserId, mInputMethodInfo, mInputMethodSubtype); + NewKeyboardSettingsUtils.sortKeyboardLayoutsByLabel(mKeyboardLayouts); parent.getActivity().setTitle(mTitle); } diff --git a/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java b/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java index f3dc0a3eef7..a927165cb88 100644 --- a/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java +++ b/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java @@ -27,6 +27,8 @@ import android.view.inputmethod.InputMethodManager; import android.view.inputmethod.InputMethodSubtype; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Comparator; import java.util.List; /** @@ -123,4 +125,11 @@ public class NewKeyboardSettingsUtils { InputDeviceIdentifier identifier, InputMethodInfo info, InputMethodSubtype subtype) { return inputManager.getKeyboardLayoutForInputDevice(identifier, userId, info, subtype); } + + static void sortKeyboardLayoutsByLabel(KeyboardLayout[] keyboardLayouts) { + Arrays.sort( + keyboardLayouts, + Comparator.comparing(KeyboardLayout::getLabel) + ); + } }