diff options
author | 2015-03-05 15:32:14 -0800 | |
---|---|---|
committer | 2015-03-05 17:42:35 -0800 | |
commit | 222f647137917ef602c1e1510c499a42d2e1eb47 (patch) | |
tree | 3eacaca5c6ac988cf60c047ec8581bf9d7acc4ad /java/src | |
parent | 38b9bffa3f60785f30d7976879ddf936f747d7dd (diff) | |
download | latinime-222f647137917ef602c1e1510c499a42d2e1eb47.tar.gz latinime-222f647137917ef602c1e1510c499a42d2e1eb47.tar.xz latinime-222f647137917ef602c1e1510c499a42d2e1eb47.zip |
Restart suggestions when backspacing into a reverted word.
This is required for the final corrected word to be learned,
as learning only occurs when suggestions are active.
Note: This is already happening when backspacing into a non-reverted
word
Bug: 19619907
Bug: 18465402
Change-Id: I99a1d4f0ca0d62a2cdfa24cc0833ce89391715d9
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java index 92bd60658..934da7ac7 100644 --- a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java +++ b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java @@ -1027,6 +1027,20 @@ public final class InputLogic { revertCommit(inputTransaction, inputTransaction.mSettingsValues); StatsUtils.onRevertAutoCorrect(); StatsUtils.onWordCommitUserTyped(lastComposedWord, mWordComposer.isBatchMode()); + // Restart suggestions when backspacing into a reverted word. This is required for + // the final corrected word to be learned, as learning only occurs when suggestions + // are active. + // + // Note: restartSuggestionsOnWordTouchedByCursor is already called for normal + // (non-revert) backspace handling. + if (inputTransaction.mSettingsValues.isSuggestionsEnabledPerUserSettings() + && inputTransaction.mSettingsValues.mSpacingAndPunctuations + .mCurrentLanguageHasSpaces + && !mConnection.isCursorFollowedByWordCharacter( + inputTransaction.mSettingsValues.mSpacingAndPunctuations)) { + restartSuggestionsOnWordTouchedByCursor(inputTransaction.mSettingsValues, + false /* forStartInput */, currentKeyboardScriptId); + } return; } if (mEnteredText != null && mConnection.sameAsTextBeforeCursor(mEnteredText)) { |