am b322e8c5: am f5e55433: am a8d80ec0: [HW9] Pull the processed event further.

* commit 'b322e8c5d4aa7e47bb5851ee4accbbd4085e97db':
  [HW9] Pull the processed event further.
main
Jean Chalard 2014-07-29 13:39:44 +00:00 committed by Android Git Automerger
commit b681927c2b
1 changed files with 12 additions and 8 deletions

View File

@ -428,7 +428,8 @@ public final class InputLogic {
// A special key, like delete, shift, emoji, or the settings key.
switch (event.mKeyCode) {
case Constants.CODE_DELETE:
handleBackspace(inputTransaction, currentKeyboardScriptId);
final Event processedEvent = mWordComposer.processEvent(inputTransaction.mEvent);
handleBackspace(inputTransaction, currentKeyboardScriptId, processedEvent);
// Backspace is a functional key, but it affects the contents of the editor.
inputTransaction.setDidAffectContents();
break;
@ -681,13 +682,14 @@ public final class InputLogic {
private boolean handleNonSpecialCharacter(final InputTransaction inputTransaction,
// TODO: remove this argument
final LatinIME.UIHandler handler) {
final int codePoint = inputTransaction.mEvent.mCodePoint;
final Event processedEvent = mWordComposer.processEvent(inputTransaction.mEvent);
final int codePoint = processedEvent.mCodePoint;
mSpaceState = SpaceState.NONE;
final boolean didAutoCorrect;
if (inputTransaction.mSettingsValues.isWordSeparator(codePoint)
|| Character.getType(codePoint) == Character.OTHER_SYMBOL) {
didAutoCorrect = handleSeparator(inputTransaction,
inputTransaction.mEvent.isSuggestionStripPress(), handler);
processedEvent.isSuggestionStripPress(), handler);
} else {
didAutoCorrect = false;
if (SpaceState.PHANTOM == inputTransaction.mSpaceState) {
@ -700,7 +702,7 @@ public final class InputLogic {
commitTyped(inputTransaction.mSettingsValues, LastComposedWord.NOT_A_SEPARATOR);
}
}
handleNonSeparator(inputTransaction.mSettingsValues, inputTransaction);
handleNonSeparator(inputTransaction.mSettingsValues, inputTransaction, processedEvent);
}
return didAutoCorrect;
}
@ -711,8 +713,9 @@ public final class InputLogic {
* @param inputTransaction The transaction in progress.
*/
private void handleNonSeparator(final SettingsValues settingsValues,
final InputTransaction inputTransaction) {
final Event processedEvent = mWordComposer.processEvent(inputTransaction.mEvent);
final InputTransaction inputTransaction,
// TODO: remove this arg, put it into the input transaction
final Event processedEvent) {
final int codePoint = processedEvent.mCodePoint;
// TODO: refactor this method to stop flipping isComposingWord around all the time, and
// make it shorter (possibly cut into several pieces). Also factor handleNonSpecialCharacter
@ -902,8 +905,9 @@ public final class InputLogic {
*/
private void handleBackspace(final InputTransaction inputTransaction,
// TODO: remove this argument, put it into settingsValues
final int currentKeyboardScriptId) {
final Event processedEvent = mWordComposer.processEvent(inputTransaction.mEvent);
final int currentKeyboardScriptId,
// TODO: remove this argument, put it into the transaction
final Event processedEvent) {
mSpaceState = SpaceState.NONE;
mDeleteCount++;