aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2013-12-19 20:30:41 +0900
committerJean Chalard <jchalard@google.com>2013-12-19 20:30:41 +0900
commitbbe40835a983e2e627a0e4664cbd4a1654597841 (patch)
treeac89decc42751c37af2f9f64d7e0d967fe94bdcb /java/src
parent10755af97b7cc8cb2c79871f1d5de9276ffeae79 (diff)
downloadlatinime-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.java34
-rw-r--r--java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java45
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.