diff options
author | 2012-07-05 16:53:56 +0900 | |
---|---|---|
committer | 2012-07-05 16:53:56 +0900 | |
commit | 3d2f5f848764252ecd2f15c2d0d857c1fe7f7eaf (patch) | |
tree | 9d3db512a4541c8728545aa474647216d44765cb /java/src/com/android/inputmethod/latin/LatinIME.java | |
parent | 1930f194c2f3b3a6182906c4378388025dff5686 (diff) | |
parent | 0726f466f7789ca112697adf6505870bb821ea17 (diff) | |
download | latinime-3d2f5f848764252ecd2f15c2d0d857c1fe7f7eaf.tar.gz latinime-3d2f5f848764252ecd2f15c2d0d857c1fe7f7eaf.tar.xz latinime-3d2f5f848764252ecd2f15c2d0d857c1fe7f7eaf.zip |
Merge remote-tracking branch 'goog/master' into mergescript
Conflicts:
java/src/com/android/inputmethod/keyboard/Keyboard.java
java/src/com/android/inputmethod/latin/LatinIME.java
java/src/com/android/inputmethod/latin/Suggest.java
Change-Id: I73c1cec1f4bca5139372392e93d55081d814fa6c
Diffstat (limited to 'java/src/com/android/inputmethod/latin/LatinIME.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/LatinIME.java | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 6e3540485..5cbf40400 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -208,13 +208,13 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen final KeyboardSwitcher switcher = latinIme.mKeyboardSwitcher; switch (msg.what) { case MSG_UPDATE_SUGGESTIONS: - latinIme.updateSuggestions(); + latinIme.updateSuggestionsOrPredictions(false /* isPredictions */); break; case MSG_UPDATE_SHIFT_STATE: switcher.updateShiftState(); break; case MSG_SET_BIGRAM_PREDICTIONS: - latinIme.updateBigramPredictions(); + latinIme.updateSuggestionsOrPredictions(true /* isPredictions */); break; } } @@ -1006,7 +1006,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // the composing word, reset the last composed word, tell the inputconnection about it. private void resetEntireInputState() { resetComposingState(true /* alsoResetLastComposedWord */); - updateSuggestions(); + updateSuggestionsOrPredictions(false /* isPredictions */); mConnection.finishComposingText(); } @@ -1029,7 +1029,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen LastComposedWord.COMMIT_TYPE_USER_TYPED_WORD, typedWord.toString(), separatorCode, prevWord); } - updateSuggestions(); + updateSuggestionsOrPredictions(false /* isPredictions */); } public int getCurrentAutoCapsState() { @@ -1697,7 +1697,18 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen } } - public void updateSuggestions() { + public void updateSuggestionsOrPredictions(final boolean isPredictions) { + if (isPredictions) { + updateBigramPredictions(); + } else { + updateSuggestions(); + } + } + + private void updateSuggestions() { + mHandler.cancelUpdateSuggestions(); + mHandler.cancelUpdateBigramPredictions(); + // Check if we have a suggestion engine attached. if ((mSuggest == null || !mCurrentSettings.isSuggestionsRequested(mDisplayOrientation))) { if (mWordComposer.isComposingWord()) { @@ -1711,7 +1722,11 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen mHandler.cancelUpdateBigramPredictions(); if (!mWordComposer.isComposingWord()) { - setPunctuationSuggestions(); + // We are never called with an empty word composer, but if because of a bug + // we are, what we should do here is just call updateBigramsPredictions. This will + // update the predictions if the "predict next word" option is on, or display + // punctuation signs if it's off. + updateBigramPredictions(); return; } @@ -1775,7 +1790,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen // Complete any pending suggestions query first if (mHandler.hasPendingUpdateSuggestions()) { mHandler.cancelUpdateSuggestions(); - updateSuggestions(); + updateSuggestionsOrPredictions(false /* isPredictions */); } final CharSequence autoCorrection = mWordComposer.getAutoCorrectionOrNull(); if (autoCorrection != null) { @@ -1885,7 +1900,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen if (!showingAddToDictionaryHint) { // If we're not showing the "Touch again to save", then show corrections again. // In case the cursor position doesn't change, make sure we show the suggestions again. - updateBigramPredictions(); + updateSuggestionsOrPredictions(true /* isPredictions */); // Updating the predictions right away may be slow and feel unresponsive on slower // terminals. On the other hand if we just postUpdateBigramPredictions() it will // take a noticeable delay to update them which may feel uneasy. |