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
This commit is contained in:
commit
9b76ac088f
1 changed files with 10 additions and 6 deletions
|
@ -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();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue