am 8447409c: Merge "Remove mIsExpectingUpdateSelection."
* commit '8447409c770fb6af5ca6f9cdc8396c0b9bd96127': Remove mIsExpectingUpdateSelection.main
commit
2be7c8c86f
|
@ -196,9 +196,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
private int mLastSelectionStart = NOT_A_CURSOR_POSITION;
|
private int mLastSelectionStart = NOT_A_CURSOR_POSITION;
|
||||||
private int mLastSelectionEnd = NOT_A_CURSOR_POSITION;
|
private int mLastSelectionEnd = NOT_A_CURSOR_POSITION;
|
||||||
|
|
||||||
// Whether we are expecting an onUpdateSelection event to fire. If it does when we don't
|
|
||||||
// "expect" it, it means the user actually moved the cursor.
|
|
||||||
private boolean mExpectingUpdateSelection;
|
|
||||||
private int mDeleteCount;
|
private int mDeleteCount;
|
||||||
private long mLastKeyTime;
|
private long mLastKeyTime;
|
||||||
private final TreeSet<Long> mCurrentlyPressedHardwareKeys = CollectionUtils.newTreeSet();
|
private final TreeSet<Long> mCurrentlyPressedHardwareKeys = CollectionUtils.newTreeSet();
|
||||||
|
@ -1083,7 +1080,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
if (ProductionFlag.USES_DEVELOPMENT_ONLY_DIAGNOSTICS) {
|
if (ProductionFlag.USES_DEVELOPMENT_ONLY_DIAGNOSTICS) {
|
||||||
ResearchLogger.latinIME_onUpdateSelection(mLastSelectionStart, mLastSelectionEnd,
|
ResearchLogger.latinIME_onUpdateSelection(mLastSelectionStart, mLastSelectionEnd,
|
||||||
oldSelStart, oldSelEnd, newSelStart, newSelEnd, composingSpanStart,
|
oldSelStart, oldSelEnd, newSelStart, newSelEnd, composingSpanStart,
|
||||||
composingSpanEnd, mExpectingUpdateSelection, mConnection);
|
composingSpanEnd, mConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
final boolean selectionChanged = mLastSelectionStart != newSelStart
|
final boolean selectionChanged = mLastSelectionStart != newSelStart
|
||||||
|
@ -1102,14 +1099,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
// TODO: revisit this when LatinIME supports hardware keyboards.
|
// TODO: revisit this when LatinIME supports hardware keyboards.
|
||||||
// NOTE: the test harness subclasses LatinIME and overrides isInputViewShown().
|
// NOTE: the test harness subclasses LatinIME and overrides isInputViewShown().
|
||||||
// TODO: find a better way to simulate actual execution.
|
// TODO: find a better way to simulate actual execution.
|
||||||
if (isInputViewShown() && !mExpectingUpdateSelection
|
if (isInputViewShown()
|
||||||
&& !mConnection.isBelatedExpectedUpdate(oldSelStart, newSelStart)) {
|
&& !mConnection.isBelatedExpectedUpdate(oldSelStart, newSelStart)) {
|
||||||
// TAKE CARE: there is a race condition when we enter this test even when the user
|
|
||||||
// did not explicitly move the cursor. This happens when typing fast, where two keys
|
|
||||||
// turn this flag on in succession and both onUpdateSelection() calls arrive after
|
|
||||||
// the second one - the first call successfully avoids this test, but the second one
|
|
||||||
// enters. For the moment we rely on noComposingSpan to further reduce the impact.
|
|
||||||
|
|
||||||
// TODO: the following is probably better done in resetEntireInputState().
|
// TODO: the following is probably better done in resetEntireInputState().
|
||||||
// it should only happen when the cursor moved, and the very purpose of the
|
// it should only happen when the cursor moved, and the very purpose of the
|
||||||
// test below is to narrow down whether this happened or not. Likewise with
|
// test below is to narrow down whether this happened or not. Likewise with
|
||||||
|
@ -1154,7 +1145,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
mRecapitalizeStatus.deactivate();
|
mRecapitalizeStatus.deactivate();
|
||||||
mKeyboardSwitcher.updateShiftState();
|
mKeyboardSwitcher.updateShiftState();
|
||||||
}
|
}
|
||||||
mExpectingUpdateSelection = false;
|
|
||||||
|
|
||||||
// Make a note of the cursor position
|
// Make a note of the cursor position
|
||||||
mLastSelectionStart = newSelStart;
|
mLastSelectionStart = newSelStart;
|
||||||
|
@ -1733,7 +1723,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
}
|
}
|
||||||
handleCharacter(primaryCode, keyX, keyY, spaceState);
|
handleCharacter(primaryCode, keyX, keyY, spaceState);
|
||||||
}
|
}
|
||||||
mExpectingUpdateSelection = true;
|
|
||||||
return didAutoCorrect;
|
return didAutoCorrect;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1799,7 +1788,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
} else {
|
} else {
|
||||||
commitTyped(LastComposedWord.NOT_A_SEPARATOR);
|
commitTyped(LastComposedWord.NOT_A_SEPARATOR);
|
||||||
}
|
}
|
||||||
mExpectingUpdateSelection = true;
|
|
||||||
}
|
}
|
||||||
final int codePointBeforeCursor = mConnection.getCodePointBeforeCursor();
|
final int codePointBeforeCursor = mConnection.getCodePointBeforeCursor();
|
||||||
if (Character.isLetterOrDigit(codePointBeforeCursor)
|
if (Character.isLetterOrDigit(codePointBeforeCursor)
|
||||||
|
@ -1989,7 +1977,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
mWordComposer.setBatchInputWord(batchInputText);
|
mWordComposer.setBatchInputWord(batchInputText);
|
||||||
mConnection.setComposingText(batchInputText, 1);
|
mConnection.setComposingText(batchInputText, 1);
|
||||||
}
|
}
|
||||||
mExpectingUpdateSelection = true;
|
|
||||||
mConnection.endBatchEdit();
|
mConnection.endBatchEdit();
|
||||||
if (ProductionFlag.USES_DEVELOPMENT_ONLY_DIAGNOSTICS) {
|
if (ProductionFlag.USES_DEVELOPMENT_ONLY_DIAGNOSTICS) {
|
||||||
ResearchLogger.latinIME_onEndBatchInput(batchInputText, 0, suggestedWords);
|
ResearchLogger.latinIME_onEndBatchInput(batchInputText, 0, suggestedWords);
|
||||||
|
@ -2043,9 +2030,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleBackspace(final int spaceState) {
|
private void handleBackspace(final int spaceState) {
|
||||||
// We revert these in this method if the deletion doesn't happen.
|
// We revert this in this method if the deletion doesn't happen.
|
||||||
mDeleteCount++;
|
mDeleteCount++;
|
||||||
mExpectingUpdateSelection = true;
|
|
||||||
|
|
||||||
// In many cases, we may have to put the keyboard in auto-shift state again. However
|
// In many cases, we may have to put the keyboard in auto-shift state again. However
|
||||||
// we want to wait a few milliseconds before doing it to avoid the keyboard flashing
|
// we want to wait a few milliseconds before doing it to avoid the keyboard flashing
|
||||||
|
@ -2138,10 +2124,9 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
}
|
}
|
||||||
final int codePointBeforeCursor = mConnection.getCodePointBeforeCursor();
|
final int codePointBeforeCursor = mConnection.getCodePointBeforeCursor();
|
||||||
if (codePointBeforeCursor == Constants.NOT_A_CODE) {
|
if (codePointBeforeCursor == Constants.NOT_A_CODE) {
|
||||||
// Nothing to delete before the cursor. We have to revert the deletion states
|
// Nothing to delete before the cursor. We have to revert the deletion count
|
||||||
// that were updated at the beginning of this method.
|
// that was updated at the beginning of this method.
|
||||||
mDeleteCount--;
|
mDeleteCount--;
|
||||||
mExpectingUpdateSelection = false;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final int lengthToDelete =
|
final int lengthToDelete =
|
||||||
|
@ -2650,7 +2635,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
ResearchLogger.latinIme_commitCurrentAutoCorrection(typedWord, autoCorrection,
|
ResearchLogger.latinIme_commitCurrentAutoCorrection(typedWord, autoCorrection,
|
||||||
separator, mWordComposer.isBatchMode(), suggestedWords);
|
separator, mWordComposer.isBatchMode(), suggestedWords);
|
||||||
}
|
}
|
||||||
mExpectingUpdateSelection = true;
|
|
||||||
commitChosenWord(autoCorrection, LastComposedWord.COMMIT_TYPE_DECIDED_WORD,
|
commitChosenWord(autoCorrection, LastComposedWord.COMMIT_TYPE_DECIDED_WORD,
|
||||||
separator);
|
separator);
|
||||||
if (!typedWord.equals(autoCorrection)) {
|
if (!typedWord.equals(autoCorrection)) {
|
||||||
|
@ -2721,7 +2705,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
// typed word.
|
// typed word.
|
||||||
final String replacedWord = mWordComposer.getTypedWord();
|
final String replacedWord = mWordComposer.getTypedWord();
|
||||||
LatinImeLogger.logOnManualSuggestion(replacedWord, suggestion, index, suggestedWords);
|
LatinImeLogger.logOnManualSuggestion(replacedWord, suggestion, index, suggestedWords);
|
||||||
mExpectingUpdateSelection = true;
|
|
||||||
commitChosenWord(suggestion, LastComposedWord.COMMIT_TYPE_MANUAL_PICK,
|
commitChosenWord(suggestion, LastComposedWord.COMMIT_TYPE_MANUAL_PICK,
|
||||||
LastComposedWord.NOT_A_SEPARATOR);
|
LastComposedWord.NOT_A_SEPARATOR);
|
||||||
if (ProductionFlag.USES_DEVELOPMENT_ONLY_DIAGNOSTICS) {
|
if (ProductionFlag.USES_DEVELOPMENT_ONLY_DIAGNOSTICS) {
|
||||||
|
|
|
@ -1161,8 +1161,7 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
|
||||||
public static void latinIME_onUpdateSelection(final int lastSelectionStart,
|
public static void latinIME_onUpdateSelection(final int lastSelectionStart,
|
||||||
final int lastSelectionEnd, final int oldSelStart, final int oldSelEnd,
|
final int lastSelectionEnd, final int oldSelStart, final int oldSelEnd,
|
||||||
final int newSelStart, final int newSelEnd, final int composingSpanStart,
|
final int newSelStart, final int newSelEnd, final int composingSpanStart,
|
||||||
final int composingSpanEnd, final boolean expectingUpdateSelection,
|
final int composingSpanEnd, final RichInputConnection connection) {
|
||||||
final RichInputConnection connection) {
|
|
||||||
String word = "";
|
String word = "";
|
||||||
if (connection != null) {
|
if (connection != null) {
|
||||||
TextRange range = connection.getWordRangeAtCursor(WHITESPACE_SEPARATORS, 1);
|
TextRange range = connection.getWordRangeAtCursor(WHITESPACE_SEPARATORS, 1);
|
||||||
|
@ -1174,7 +1173,7 @@ public class ResearchLogger implements SharedPreferences.OnSharedPreferenceChang
|
||||||
final String scrubbedWord = researchLogger.scrubWord(word);
|
final String scrubbedWord = researchLogger.scrubWord(word);
|
||||||
researchLogger.enqueueEvent(LOGSTATEMENT_LATINIME_ONUPDATESELECTION, lastSelectionStart,
|
researchLogger.enqueueEvent(LOGSTATEMENT_LATINIME_ONUPDATESELECTION, lastSelectionStart,
|
||||||
lastSelectionEnd, oldSelStart, oldSelEnd, newSelStart, newSelEnd,
|
lastSelectionEnd, oldSelStart, oldSelEnd, newSelStart, newSelEnd,
|
||||||
composingSpanStart, composingSpanEnd, expectingUpdateSelection,
|
composingSpanStart, composingSpanEnd, false /* expectingUpdateSelection */,
|
||||||
false /* expectingUpdateSelectionFromLogger */, scrubbedWord);
|
false /* expectingUpdateSelectionFromLogger */, scrubbedWord);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue