am 5e51f2be: am 3f652e24: Merge "Clear composing text when the auto-corrected word is reverted" into honeycomb

* commit '5e51f2be32cf9f57355ac77e9952d6d03ef92175':
  Clear composing text when the auto-corrected word is reverted
main
Tadashi G. Takaoka 2011-01-18 08:49:48 -08:00 committed by Android Git Automerger
commit 9b76ac088f
1 changed files with 10 additions and 6 deletions

View File

@ -1805,7 +1805,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
final int length = mComposing.length();
if (!mHasValidSuggestions && length > 0) {
final InputConnection ic = getCurrentInputConnection();
mHasValidSuggestions = true;
mJustReverted = true;
final CharSequence punctuation = ic.getTextBeforeCursor(1, 0);
if (deleteChar) ic.deleteSurroundingText(1, 0);
@ -1815,14 +1814,19 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
toDelete--;
}
ic.deleteSurroundingText(toDelete, 0);
if (deleteChar) {
// Re-insert punctuation only when the deleted character was word separator and the
// composing text wasn't equal to the auto-corrected text.
if (deleteChar
&& !TextUtils.isEmpty(punctuation) && isWordSeparator(punctuation.charAt(0))
&& !TextUtils.equals(mComposing, toTheLeft)) {
ic.commitText(mComposing, 1);
TextEntryState.acceptedTyped(mComposing);
if (!TextUtils.isEmpty(punctuation) && isWordSeparator(punctuation.charAt(0))) {
ic.commitText(punctuation, 1);
TextEntryState.typedCharacter(punctuation.charAt(0), true);
}
ic.commitText(punctuation, 1);
TextEntryState.typedCharacter(punctuation.charAt(0), true);
// Clear composing text
mComposing.setLength(0);
} else {
mHasValidSuggestions = true;
ic.setComposingText(mComposing, 1);
TextEntryState.backspace();
}