aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2011-11-22 18:29:51 +0900
committerJean Chalard <jchalard@google.com>2011-11-22 18:29:51 +0900
commit6d1cbbc2ffb9d7046189174ec68b5b72bbc154b3 (patch)
treec3c324aabe953d7b41fa760a1a3c022ec295daff /java/src
parentf3afe5ed0a6999905dff8ba1660c8629d63860be (diff)
downloadlatinime-6d1cbbc2ffb9d7046189174ec68b5b72bbc154b3.tar.gz
latinime-6d1cbbc2ffb9d7046189174ec68b5b72bbc154b3.tar.xz
latinime-6d1cbbc2ffb9d7046189174ec68b5b72bbc154b3.zip
Fix a bug with single quotes
I14dd3815 special-cased single quotes at the start of a word, but did not do so correctly - it would kill a composing word if entered just after some punctuations. The right test was not isCursorTouchingWord() but mHasUncommittedTypedChars, which actually makes for a simpler implementation. Bug: 5648032 Change-Id: Icd21d213e0cad6da68cacfeb921502cd8dcfac95
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java7
1 files changed, 3 insertions, 4 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index dc5ec2d86..f4a1c6a1d 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1539,16 +1539,15 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
if ((isAlphabet(code) || mSettingsValues.isSymbolExcludedFromWordSeparators(code))
&& isSuggestionsRequested() && !isCursorTouchingWord()) {
if (!mHasUncommittedTypedChars) {
- mHasUncommittedTypedChars = true;
+ // Reset entirely the composing state anyway, then start composing a new word unless
+ // the character is a single quote.
+ mHasUncommittedTypedChars = (Keyboard.CODE_SINGLE_QUOTE != code);
mComposingStringBuilder.setLength(0);
mWordComposer.reset();
clearSuggestions();
mComposingStateManager.onFinishComposingText();
}
}
- if (code == Keyboard.CODE_SINGLE_QUOTE && !isCursorTouchingWord()) {
- mHasUncommittedTypedChars = false;
- }
final KeyboardSwitcher switcher = mKeyboardSwitcher;
if (switcher.isShiftedOrShiftLocked()) {
if (keyCodes == null || keyCodes[0] < Character.MIN_CODE_POINT