Merge "Revert "Fix a race condition, take 2.""
This commit is contained in:
commit
d4843c25e2
2 changed files with 5 additions and 18 deletions
|
@ -685,10 +685,6 @@ public final class RichInputConnection {
|
||||||
&& !settingsValues.isWordConnector(codePointBeforeCursor)) {
|
&& !settingsValues.isWordConnector(codePointBeforeCursor)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return isCursorFollowedByWordCharacter(settingsValues);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isCursorFollowedByWordCharacter(final SettingsValues settingsValues) {
|
|
||||||
final CharSequence after = getTextAfterCursor(1, 0);
|
final CharSequence after = getTextAfterCursor(1, 0);
|
||||||
if (!TextUtils.isEmpty(after) && !settingsValues.isWordSeparator(after.charAt(0))
|
if (!TextUtils.isEmpty(after) && !settingsValues.isWordSeparator(after.charAt(0))
|
||||||
&& !settingsValues.isWordConnector(after.charAt(0))) {
|
&& !settingsValues.isWordConnector(after.charAt(0))) {
|
||||||
|
|
|
@ -813,8 +813,7 @@ public final class InputLogic {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (settingsValues.isSuggestionStripVisible()
|
if (settingsValues.isSuggestionStripVisible()
|
||||||
&& settingsValues.mSpacingAndPunctuations.mCurrentLanguageHasSpaces
|
&& settingsValues.mSpacingAndPunctuations.mCurrentLanguageHasSpaces) {
|
||||||
&& !mConnection.isCursorFollowedByWordCharacter(settingsValues)) {
|
|
||||||
restartSuggestionsOnWordTouchedByCursor(settingsValues,
|
restartSuggestionsOnWordTouchedByCursor(settingsValues,
|
||||||
deleteCountAtStart - mDeleteCount /* offset */,
|
deleteCountAtStart - mDeleteCount /* offset */,
|
||||||
true /* includeResumedWordInSuggestions */, keyboardSwitcher);
|
true /* includeResumedWordInSuggestions */, keyboardSwitcher);
|
||||||
|
@ -1115,19 +1114,11 @@ public final class InputLogic {
|
||||||
keyboardSwitcher.getKeyboard());
|
keyboardSwitcher.getKeyboard());
|
||||||
mWordComposer.setCursorPositionWithinWord(
|
mWordComposer.setCursorPositionWithinWord(
|
||||||
typedWord.codePointCount(0, numberOfCharsInWordBeforeCursor));
|
typedWord.codePointCount(0, numberOfCharsInWordBeforeCursor));
|
||||||
// TODO: Change these lines to setComposingRegion(cursorPosition,
|
// TODO: Change these two lines to setComposingRegion(cursorPosition,
|
||||||
// cursorPosition + range.getNumberOfCharsInWordAfterCursor());
|
// cursorPosition + range.getNumberOfCharsInWordAfterCursor());
|
||||||
if (0 != offset) {
|
mConnection.deleteSurroundingText(numberOfCharsInWordBeforeCursor,
|
||||||
// Backspace was pressed. We are at the end of a word, and we don't know the cursor
|
typedWord.length() - numberOfCharsInWordBeforeCursor);
|
||||||
// position for sure, so use relative methods.
|
mConnection.setComposingText(typedWord, 1);
|
||||||
mConnection.deleteSurroundingText(numberOfCharsInWordBeforeCursor, 0);
|
|
||||||
mConnection.setComposingText(typedWord, 1);
|
|
||||||
} else {
|
|
||||||
// This is recorrection. The cursor position is reasonably reliable, and the cursor
|
|
||||||
// may be in the middle of a word so use setComposingRegion.
|
|
||||||
mConnection.setComposingRegion(expectedCursorPosition - numberOfCharsInWordBeforeCursor,
|
|
||||||
expectedCursorPosition + range.getNumberOfCharsInWordAfterCursor());
|
|
||||||
}
|
|
||||||
if (suggestions.isEmpty()) {
|
if (suggestions.isEmpty()) {
|
||||||
// We come here if there weren't any suggestion spans on this word. We will try to
|
// We come here if there weren't any suggestion spans on this word. We will try to
|
||||||
// compute suggestions for it instead.
|
// compute suggestions for it instead.
|
||||||
|
|
Loading…
Reference in a new issue