am 1711c2aa: am f290d407: [HW9] Pull the processed event further.

* commit '1711c2aaf495a56d570f25d1b853bc3f40f16d08':
  [HW9] Pull the processed event further.
main
Jean Chalard 2014-07-31 13:35:33 +00:00 committed by Android Git Automerger
commit 3d663a0a9d
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. // A special key, like delete, shift, emoji, or the settings key.
switch (event.mKeyCode) { switch (event.mKeyCode) {
case Constants.CODE_DELETE: 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. // Backspace is a functional key, but it affects the contents of the editor.
inputTransaction.setDidAffectContents(); inputTransaction.setDidAffectContents();
break; break;
@ -681,13 +682,14 @@ public final class InputLogic {
private boolean handleNonSpecialCharacter(final InputTransaction inputTransaction, private boolean handleNonSpecialCharacter(final InputTransaction inputTransaction,
// TODO: remove this argument // TODO: remove this argument
final LatinIME.UIHandler handler) { 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; mSpaceState = SpaceState.NONE;
final boolean didAutoCorrect; final boolean didAutoCorrect;
if (inputTransaction.mSettingsValues.isWordSeparator(codePoint) if (inputTransaction.mSettingsValues.isWordSeparator(codePoint)
|| Character.getType(codePoint) == Character.OTHER_SYMBOL) { || Character.getType(codePoint) == Character.OTHER_SYMBOL) {
didAutoCorrect = handleSeparator(inputTransaction, didAutoCorrect = handleSeparator(inputTransaction,
inputTransaction.mEvent.isSuggestionStripPress(), handler); processedEvent.isSuggestionStripPress(), handler);
} else { } else {
didAutoCorrect = false; didAutoCorrect = false;
if (SpaceState.PHANTOM == inputTransaction.mSpaceState) { if (SpaceState.PHANTOM == inputTransaction.mSpaceState) {
@ -700,7 +702,7 @@ public final class InputLogic {
commitTyped(inputTransaction.mSettingsValues, LastComposedWord.NOT_A_SEPARATOR); commitTyped(inputTransaction.mSettingsValues, LastComposedWord.NOT_A_SEPARATOR);
} }
} }
handleNonSeparator(inputTransaction.mSettingsValues, inputTransaction); handleNonSeparator(inputTransaction.mSettingsValues, inputTransaction, processedEvent);
} }
return didAutoCorrect; return didAutoCorrect;
} }
@ -711,8 +713,9 @@ public final class InputLogic {
* @param inputTransaction The transaction in progress. * @param inputTransaction The transaction in progress.
*/ */
private void handleNonSeparator(final SettingsValues settingsValues, private void handleNonSeparator(final SettingsValues settingsValues,
final InputTransaction inputTransaction) { final InputTransaction inputTransaction,
final Event processedEvent = mWordComposer.processEvent(inputTransaction.mEvent); // TODO: remove this arg, put it into the input transaction
final Event processedEvent) {
final int codePoint = processedEvent.mCodePoint; final int codePoint = processedEvent.mCodePoint;
// TODO: refactor this method to stop flipping isComposingWord around all the time, and // TODO: refactor this method to stop flipping isComposingWord around all the time, and
// make it shorter (possibly cut into several pieces). Also factor handleNonSpecialCharacter // 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, private void handleBackspace(final InputTransaction inputTransaction,
// TODO: remove this argument, put it into settingsValues // TODO: remove this argument, put it into settingsValues
final int currentKeyboardScriptId) { final int currentKeyboardScriptId,
final Event processedEvent = mWordComposer.processEvent(inputTransaction.mEvent); // TODO: remove this argument, put it into the transaction
final Event processedEvent) {
mSpaceState = SpaceState.NONE; mSpaceState = SpaceState.NONE;
mDeleteCount++; mDeleteCount++;