am f960eb18: Don\'t put spaces after characters that don\'t take one

* commit 'f960eb186d63aa4f9fecd22f036fc8724d39d949':
  Don't put spaces after characters that don't take one
main
Jean Chalard 2012-10-22 21:41:41 -07:00 committed by Android Git Automerger
commit d39e64350c
2 changed files with 7 additions and 1 deletions

View File

@ -1431,8 +1431,12 @@ public final class LatinIME extends InputMethodService implements KeyboardAction
mSpaceState = SPACE_STATE_PHANTOM; mSpaceState = SPACE_STATE_PHANTOM;
} else { } else {
final int codePointBeforeCursor = mConnection.getCodePointBeforeCursor(); final int codePointBeforeCursor = mConnection.getCodePointBeforeCursor();
// TODO: reverse this logic. We should have the means to determine whether a character
// should usually be followed by a space, and it should be more readable.
if (Constants.NOT_A_CODE != codePointBeforeCursor if (Constants.NOT_A_CODE != codePointBeforeCursor
&& !Character.isWhitespace(codePointBeforeCursor)) { && !Character.isWhitespace(codePointBeforeCursor)
&& !mCurrentSettings.isPhantomSpacePromotingSymbol(codePointBeforeCursor)
&& !mCurrentSettings.isWeakSpaceStripper(codePointBeforeCursor)) {
mSpaceState = SPACE_STATE_PHANTOM; mSpaceState = SPACE_STATE_PHANTOM;
} }
} }

View File

@ -254,11 +254,13 @@ public final class SettingsValues {
return mSymbolsExcludedFromWordSeparators.contains(String.valueOf((char)code)); return mSymbolsExcludedFromWordSeparators.contains(String.valueOf((char)code));
} }
// TODO: use "Phantom" instead of "Weak" in this method name
public boolean isWeakSpaceStripper(final int code) { public boolean isWeakSpaceStripper(final int code) {
// TODO: this does not work if the code does not fit in a char // TODO: this does not work if the code does not fit in a char
return mWeakSpaceStrippers.contains(String.valueOf((char)code)); return mWeakSpaceStrippers.contains(String.valueOf((char)code));
} }
// TODO: use "Phantom" instead of "Weak" in this method name
public boolean isWeakSpaceSwapper(final int code) { public boolean isWeakSpaceSwapper(final int code) {
// TODO: this does not work if the code does not fit in a char // TODO: this does not work if the code does not fit in a char
return mWeakSpaceSwappers.contains(String.valueOf((char)code)); return mWeakSpaceSwappers.contains(String.valueOf((char)code));