Fix a bug where a user dict entry is too long

Since there is a maxLength attribute to the text field, if the
requested entry is too long for the text field it will be truncated,
then setSelection will crash with an IOOB exception.

Bug: 9410958
Change-Id: I7e916b4d77d338f49db7d3dab4e536d27ec76bc1
This commit is contained in:
Jean Chalard
2013-06-14 13:10:07 +09:00
parent ff8fbf0956
commit 8385f1c622

View File

@@ -64,7 +64,9 @@ public class UserDictionaryAddWordContents {
final String word = args.getString(EXTRA_WORD); final String word = args.getString(EXTRA_WORD);
if (null != word) { if (null != word) {
mWordEditText.setText(word); mWordEditText.setText(word);
mWordEditText.setSelection(word.length()); // Use getText in case the edit text modified the text we set. This happens when
// it's too long to be edited.
mWordEditText.setSelection(mWordEditText.getText().length());
} }
final String shortcut = args.getString(EXTRA_SHORTCUT); final String shortcut = args.getString(EXTRA_SHORTCUT);
if (null != shortcut && null != mShortcutEditText) { if (null != shortcut && null != mShortcutEditText) {