Restart suggestions when restarting input
Bug: 6851364 Change-Id: I3052924053f37f56c9c3953051aa1b22224a2b2emain
parent
1ee443d848
commit
3aba6263f0
|
@ -816,9 +816,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
// When rotating, initialSelStart and initialSelEnd sometimes are lying. Make a best
|
||||
// effort to work around this bug.
|
||||
mInputLogic.mConnection.tryFixLyingCursorPosition();
|
||||
if (isDifferentTextField) {
|
||||
mHandler.postResumeSuggestions();
|
||||
}
|
||||
canReachInputConnection = true;
|
||||
}
|
||||
|
||||
|
|
|
@ -1284,6 +1284,10 @@ public final class InputLogic {
|
|||
|| !settingsValues.mSpacingAndPunctuations.mCurrentLanguageHasSpaces
|
||||
// If no suggestions are requested, don't try restarting suggestions.
|
||||
|| !settingsValues.isSuggestionsRequested()
|
||||
// If we are currently in a batch input, we must not resume suggestions, or the result
|
||||
// of the batch input will replace the new composition. This may happen in the corner case
|
||||
// that the app moves the cursor on its own accord during a batch input.
|
||||
|| mInputLogicHandler.isInBatchInput()
|
||||
// If the cursor is not touching a word, or if there is a selection, return right away.
|
||||
|| mConnection.hasSelection()
|
||||
// If we don't know the cursor location, return.
|
||||
|
|
|
@ -110,6 +110,10 @@ class InputLogicHandler implements Handler.Callback {
|
|||
}
|
||||
}
|
||||
|
||||
public boolean isInBatchInput() {
|
||||
return mInBatchInput;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch suggestions corresponding to an update of a batch input.
|
||||
* @param batchPointers the updated pointers, including the part that was passed last time.
|
||||
|
|
Loading…
Reference in New Issue