Make emoji separators

Bug: 11163495
Change-Id: I3247b8d1bbd3406b29a30a25aebd932c63431943
main
Jean Chalard 2013-10-11 18:48:08 +09:00
parent 6dac27eeb4
commit 401fb908f0
2 changed files with 4 additions and 9 deletions

View File

@ -16,8 +16,6 @@
package com.android.inputmethod.latin; package com.android.inputmethod.latin;
import com.android.inputmethod.latin.utils.StringUtils;
import android.text.TextUtils; import android.text.TextUtils;
/** /**
@ -85,8 +83,4 @@ public final class LastComposedWord {
private boolean didCommitTypedWord() { private boolean didCommitTypedWord() {
return TextUtils.equals(mTypedWord, mCommittedWord); return TextUtils.equals(mTypedWord, mCommittedWord);
} }
public static int getSeparatorLength(final String separatorString) {
return StringUtils.codePointCount(separatorString);
}
} }

View File

@ -1712,7 +1712,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
mSpaceState = SPACE_STATE_NONE; mSpaceState = SPACE_STATE_NONE;
final boolean didAutoCorrect; final boolean didAutoCorrect;
final SettingsValues settingsValues = mSettings.getCurrent(); final SettingsValues settingsValues = mSettings.getCurrent();
if (settingsValues.isWordSeparator(primaryCode)) { if (settingsValues.isWordSeparator(primaryCode)
|| Character.getType(primaryCode) == Character.OTHER_SYMBOL) {
didAutoCorrect = handleSeparator(primaryCode, x, y, spaceState); didAutoCorrect = handleSeparator(primaryCode, x, y, spaceState);
} else { } else {
didAutoCorrect = false; didAutoCorrect = false;
@ -2979,8 +2980,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
final String originallyTypedWord = mLastComposedWord.mTypedWord; final String originallyTypedWord = mLastComposedWord.mTypedWord;
final String committedWord = mLastComposedWord.mCommittedWord; final String committedWord = mLastComposedWord.mCommittedWord;
final int cancelLength = committedWord.length(); final int cancelLength = committedWord.length();
final int separatorLength = LastComposedWord.getSeparatorLength( // We want java chars, not codepoints for the following.
mLastComposedWord.mSeparatorString); final int separatorLength = mLastComposedWord.mSeparatorString.length();
// TODO: should we check our saved separator against the actual contents of the text view? // TODO: should we check our saved separator against the actual contents of the text view?
final int deleteLength = cancelLength + separatorLength; final int deleteLength = cancelLength + separatorLength;
if (DEBUG) { if (DEBUG) {