diff options
author | 2013-12-19 20:30:41 +0900 | |
---|---|---|
committer | 2013-12-19 20:30:41 +0900 | |
commit | bbe40835a983e2e627a0e4664cbd4a1654597841 (patch) | |
tree | ac89decc42751c37af2f9f64d7e0d967fe94bdcb /java/src | |
parent | 10755af97b7cc8cb2c79871f1d5de9276ffeae79 (diff) | |
download | latinime-bbe40835a983e2e627a0e4664cbd4a1654597841.tar.gz latinime-bbe40835a983e2e627a0e4664cbd4a1654597841.tar.xz latinime-bbe40835a983e2e627a0e4664cbd4a1654597841.zip |
[IL12] move restartSuggestions* to InputLogic
Bug: 8636060
Change-Id: I99474248e8fa35eb3053b5520abc8716805fdfb4
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/latin/LatinIME.java | 34 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java | 45 |
2 files changed, 44 insertions, 35 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 78b23b023..ab9b2e598 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -2223,40 +2223,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen } /** - * Check if the cursor is actually at the end of a word. If so, restart suggestions on this - * word, else do nothing. - */ - // TODO[IL]: Move this to InputLogic and make it private. - public void restartSuggestionsOnWordBeforeCursorIfAtEndOfWord() { - final CharSequence word = - mInputLogic.mConnection.getWordBeforeCursorIfAtEndOfWord(mSettings.getCurrent()); - if (null != word) { - final String wordString = word.toString(); - restartSuggestionsOnWordBeforeCursor(wordString); - // TODO: Handle the case where the user manually moves the cursor and then backs up over - // a separator. In that case, the current log unit should not be uncommitted. - if (ProductionFlag.USES_DEVELOPMENT_ONLY_DIAGNOSTICS) { - ResearchLogger.getInstance().uncommitCurrentLogUnit(wordString, - true /* dumpCurrentLogUnit */); - } - } - } - - // TODO[IL]: Move this to InputLogic - private void restartSuggestionsOnWordBeforeCursor(final String word) { - mInputLogic.mWordComposer.setComposingWord(word, - // Previous word is the 2nd word before cursor because we are restarting on the - // 1st word before cursor. - mInputLogic.getNthPreviousWordForSuggestion(mSettings.getCurrent(), - 2 /* nthPreviousWord */), - mKeyboardSwitcher.getKeyboard()); - final int length = word.length(); - mInputLogic.mConnection.deleteSurroundingText(length, 0); - mInputLogic.mConnection.setComposingText(word, 1); - mHandler.postUpdateSuggestionStrip(); - } - - /** * Retry resetting caches in the rich input connection. * * When the editor can't be accessed we can't reset the caches, so we schedule a retry. diff --git a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java index 72e9dd22c..f44ee8b9a 100644 --- a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java +++ b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java @@ -632,7 +632,8 @@ public final class InputLogic { // TODO: move mDisplayOrientation to CurrentSettings. if (settingsValues.isSuggestionsRequested(mLatinIME.mDisplayOrientation) && settingsValues.mCurrentLanguageHasSpaces) { - mLatinIME.restartSuggestionsOnWordBeforeCursorIfAtEndOfWord(); + restartSuggestionsOnWordBeforeCursorIfAtEndOfWord(settingsValues, keyboardSwitcher, + handler); } // We just removed a character. We need to update the auto-caps state. keyboardSwitcher.updateShiftState(); @@ -811,6 +812,48 @@ public final class InputLogic { } /** + * Check if the cursor is actually at the end of a word. If so, restart suggestions on this + * word, otherwise do nothing. + * @param settingsValues the current values of the settings. + */ + private void restartSuggestionsOnWordBeforeCursorIfAtEndOfWord( + final SettingsValues settingsValues, + // TODO: remove these two arguments + final KeyboardSwitcher keyboardSwitcher, final LatinIME.UIHandler handler) { + final CharSequence word = mConnection.getWordBeforeCursorIfAtEndOfWord(settingsValues); + if (null != word) { + final String wordString = word.toString(); + restartSuggestionsOnWordBeforeCursor(settingsValues, wordString, keyboardSwitcher, + handler); + // TODO: Handle the case where the user manually moves the cursor and then backs up over + // a separator. In that case, the current log unit should not be uncommitted. + if (ProductionFlag.USES_DEVELOPMENT_ONLY_DIAGNOSTICS) { + ResearchLogger.getInstance().uncommitCurrentLogUnit(wordString, + true /* dumpCurrentLogUnit */); + } + } + } + + /** + * Restart suggestions on the word passed as an argument, assuming it is before the cursor. + * @param settingsValues the current settings values. + */ + private void restartSuggestionsOnWordBeforeCursor(final SettingsValues settingsValues, + final String word, + // TODO: remove these two arguments + final KeyboardSwitcher keyboardSwitcher, final LatinIME.UIHandler handler) { + mWordComposer.setComposingWord(word, + // Previous word is the 2nd word before cursor because we are restarting on the + // 1st word before cursor. + getNthPreviousWordForSuggestion(settingsValues, 2 /* nthPreviousWord */), + keyboardSwitcher.getKeyboard()); + final int length = word.length(); + mConnection.deleteSurroundingText(length, 0); + mConnection.setComposingText(word, 1); + handler.postUpdateSuggestionStrip(); + } + + /** * Reverts a previous commit with auto-correction. * * This is triggered upon pressing backspace just after a commit with auto-correction. |