diff options
author | 2012-07-28 00:49:43 +0900 | |
---|---|---|
committer | 2012-07-31 01:48:10 +0900 | |
commit | f68fe7a9c9262a3591eeba61f34a91855a34c930 (patch) | |
tree | 0a4f69acae66ca6f9916d154086862fd5be3dc8a /java/src | |
parent | ca57f5ba40b587a7a7f8a023aca65e1b2127b2a6 (diff) | |
download | latinime-f68fe7a9c9262a3591eeba61f34a91855a34c930.tar.gz latinime-f68fe7a9c9262a3591eeba61f34a91855a34c930.tar.xz latinime-f68fe7a9c9262a3591eeba61f34a91855a34c930.zip |
Don't forward phantom space state on stripper input
Bug: 6890540
Change-Id: I923b24e3bc17e7b923be4940ad739b58dca24a1f
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/latin/LatinIME.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 95d75ebb7..30edd2052 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -1651,13 +1651,18 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen if (swapWeakSpace) { swapSwapperAndSpace(); mSpaceState = SPACE_STATE_SWAP_PUNCTUATION; - } else if (SPACE_STATE_PHANTOM == spaceState) { + } else if (SPACE_STATE_PHANTOM == spaceState + && !mCurrentSettings.isWeakSpaceStripper(primaryCode)) { // If we are in phantom space state, and the user presses a separator, we want to // stay in phantom space state so that the next keypress has a chance to add the // space. For example, if I type "Good dat", pick "day" from the suggestion strip // then insert a comma and go on to typing the next word, I want the space to be // inserted automatically before the next word, the same way it is when I don't // input the comma. + // The case is a little different if the separator is a space stripper. Such a + // separator does not normally need a space on the right (that's the difference + // between swappers and strippers), so we should not stay in phantom space state if + // the separator is a stripper. Hence the additional test above. mSpaceState = SPACE_STATE_PHANTOM; } |