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;
import com.android.inputmethod.latin.utils.StringUtils;
import android.text.TextUtils;
/**
@ -85,8 +83,4 @@ public final class LastComposedWord {
private boolean didCommitTypedWord() {
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;
final boolean didAutoCorrect;
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);
} else {
didAutoCorrect = false;
@ -2979,8 +2980,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
final String originallyTypedWord = mLastComposedWord.mTypedWord;
final String committedWord = mLastComposedWord.mCommittedWord;
final int cancelLength = committedWord.length();
final int separatorLength = LastComposedWord.getSeparatorLength(
mLastComposedWord.mSeparatorString);
// We want java chars, not codepoints for the following.
final int separatorLength = mLastComposedWord.mSeparatorString.length();
// TODO: should we check our saved separator against the actual contents of the text view?
final int deleteLength = cancelLength + separatorLength;
if (DEBUG) {