Loading core/java/android/widget/Editor.java +0 −66 Original line number Diff line number Diff line Loading @@ -205,8 +205,6 @@ public class Editor { private TextView mTextView; private final UserDictionaryListener mUserDictionaryListener = new UserDictionaryListener(); Editor(TextView textView) { mTextView = textView; } Loading Loading @@ -2707,9 +2705,6 @@ public class Editor { intent.putExtra("locale", mTextView.getTextServicesLocale().toString()); // Put a listener to replace the original text with a word which the user // modified in a user dictionary dialog. mUserDictionaryListener.waitForUserDictionaryAdded( mTextView, originalText, spanStart, spanEnd); intent.putExtra("listener", new Messenger(mUserDictionaryListener)); intent.setFlags(intent.getFlags() | Intent.FLAG_ACTIVITY_NEW_TASK); mTextView.getContext().startActivity(intent); // There is no way to know if the word was indeed added. Re-check. Loading Loading @@ -3915,67 +3910,6 @@ public class Editor { int mChangedStart, mChangedEnd, mChangedDelta; } /** * @hide */ public static class UserDictionaryListener extends Handler { public TextView mTextView; public String mOriginalWord; public int mWordStart; public int mWordEnd; public void waitForUserDictionaryAdded( TextView tv, String originalWord, int spanStart, int spanEnd) { mTextView = tv; mOriginalWord = originalWord; mWordStart = spanStart; mWordEnd = spanEnd; } @Override public void handleMessage(Message msg) { switch(msg.what) { case 0: /* CODE_WORD_ADDED */ case 2: /* CODE_ALREADY_PRESENT */ if (!(msg.obj instanceof Bundle)) { Log.w(TAG, "Illegal message. Abort handling onUserDictionaryAdded."); return; } final Bundle bundle = (Bundle)msg.obj; final String originalWord = bundle.getString("originalWord"); final String addedWord = bundle.getString("word"); onUserDictionaryAdded(originalWord, addedWord); return; default: return; } } private void onUserDictionaryAdded(String originalWord, String addedWord) { if (TextUtils.isEmpty(mOriginalWord) || TextUtils.isEmpty(addedWord)) { return; } if (mWordStart < 0 || mWordEnd >= mTextView.length()) { return; } if (!mOriginalWord.equals(originalWord)) { return; } if (originalWord.equals(addedWord)) { return; } final Editable editable = (Editable) mTextView.getText(); final String currentWord = editable.toString().substring(mWordStart, mWordEnd); if (!currentWord.equals(originalWord)) { return; } mTextView.replaceText_internal(mWordStart, mWordEnd, addedWord); // Move cursor at the end of the replaced word final int newCursorPosition = mWordStart + addedWord.length(); mTextView.setCursorPosition_internal(newCursorPosition, newCursorPosition); } } public static class UndoInputFilter implements InputFilter { final Editor mEditor; Loading Loading
core/java/android/widget/Editor.java +0 −66 Original line number Diff line number Diff line Loading @@ -205,8 +205,6 @@ public class Editor { private TextView mTextView; private final UserDictionaryListener mUserDictionaryListener = new UserDictionaryListener(); Editor(TextView textView) { mTextView = textView; } Loading Loading @@ -2707,9 +2705,6 @@ public class Editor { intent.putExtra("locale", mTextView.getTextServicesLocale().toString()); // Put a listener to replace the original text with a word which the user // modified in a user dictionary dialog. mUserDictionaryListener.waitForUserDictionaryAdded( mTextView, originalText, spanStart, spanEnd); intent.putExtra("listener", new Messenger(mUserDictionaryListener)); intent.setFlags(intent.getFlags() | Intent.FLAG_ACTIVITY_NEW_TASK); mTextView.getContext().startActivity(intent); // There is no way to know if the word was indeed added. Re-check. Loading Loading @@ -3915,67 +3910,6 @@ public class Editor { int mChangedStart, mChangedEnd, mChangedDelta; } /** * @hide */ public static class UserDictionaryListener extends Handler { public TextView mTextView; public String mOriginalWord; public int mWordStart; public int mWordEnd; public void waitForUserDictionaryAdded( TextView tv, String originalWord, int spanStart, int spanEnd) { mTextView = tv; mOriginalWord = originalWord; mWordStart = spanStart; mWordEnd = spanEnd; } @Override public void handleMessage(Message msg) { switch(msg.what) { case 0: /* CODE_WORD_ADDED */ case 2: /* CODE_ALREADY_PRESENT */ if (!(msg.obj instanceof Bundle)) { Log.w(TAG, "Illegal message. Abort handling onUserDictionaryAdded."); return; } final Bundle bundle = (Bundle)msg.obj; final String originalWord = bundle.getString("originalWord"); final String addedWord = bundle.getString("word"); onUserDictionaryAdded(originalWord, addedWord); return; default: return; } } private void onUserDictionaryAdded(String originalWord, String addedWord) { if (TextUtils.isEmpty(mOriginalWord) || TextUtils.isEmpty(addedWord)) { return; } if (mWordStart < 0 || mWordEnd >= mTextView.length()) { return; } if (!mOriginalWord.equals(originalWord)) { return; } if (originalWord.equals(addedWord)) { return; } final Editable editable = (Editable) mTextView.getText(); final String currentWord = editable.toString().substring(mWordStart, mWordEnd); if (!currentWord.equals(originalWord)) { return; } mTextView.replaceText_internal(mWordStart, mWordEnd, addedWord); // Move cursor at the end of the replaced word final int newCursorPosition = mWordStart + addedWord.length(); mTextView.setCursorPosition_internal(newCursorPosition, newCursorPosition); } } public static class UndoInputFilter implements InputFilter { final Editor mEditor; Loading