am f290d407
: [HW9] Pull the processed event further.
* commit 'f290d4073a7c9b60cd275b7a786a516ce80952bf': [HW9] Pull the processed event further.
This commit is contained in:
commit
1711c2aaf4
1 changed files with 12 additions and 8 deletions
|
@ -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++;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue