Fixing follow-up to I548d899b

I548d899b introduced a new method to fix a sync miss between
the cursor position and the cached cursor position, but did not
take into account that it should also update the cached text
before and after the cursor in this case and that there was
already a method for doing this.

Change-Id: I31bd741893207c822827304e77791b1159774e1a
main
Jean Chalard 2013-06-26 11:32:07 +09:00
parent fd0945b0da
commit 7fcf304c97
2 changed files with 7 additions and 9 deletions

View File

@ -968,6 +968,13 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// text, but that is probably too expensive to do, so we decided to leave things
// as is.
resetEntireInputState(newSelStart);
} else {
// resetEntireInputState calls resetCachesUponCursorMove, but with the second
// argument as true. But in all cases where we don't reset the entire input state,
// we still want to tell the rich input connection about the new cursor position so
// that it can update its caches.
mConnection.resetCachesUponCursorMove(newSelStart,
false /* shouldFinishComposition */);
}
// We moved the cursor. If we are touching a word, we need to resume suggestion,
@ -975,7 +982,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
if (isSuggestionsStripVisible()) {
mHandler.postResumeSuggestions();
}
mConnection.userMovedCursor(newSelEnd);
// Reset the last recapitalization.
mRecapitalizeStatus.deactivate();
mKeyboardSwitcher.updateShiftState();

View File

@ -729,14 +729,6 @@ public final class RichInputConnection {
return (newSelStart - oldSelStart) * (mCurrentCursorPosition - newSelStart) >= 0;
}
/**
* The user moved the cursor by hand. Take a note of it.
* @param newCursorPosition The new cursor position.
*/
public void userMovedCursor(final int newCursorPosition) {
mCurrentCursorPosition = newCursorPosition;
}
/**
* Looks at the text just before the cursor to find out if it looks like a URL.
*