am 151761a2: [IL120] Cleanup

* commit '151761a2764c09c0e5bc48c68e0c804aeaf22d11':
  [IL120] Cleanup
main
Jean Chalard 2014-03-04 02:25:05 -08:00 committed by Android Git Automerger
commit b7f42530c2
2 changed files with 23 additions and 40 deletions

View File

@ -188,8 +188,9 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
final KeyboardSwitcher switcher = latinIme.mKeyboardSwitcher; final KeyboardSwitcher switcher = latinIme.mKeyboardSwitcher;
switch (msg.what) { switch (msg.what) {
case MSG_UPDATE_SUGGESTION_STRIP: case MSG_UPDATE_SUGGESTION_STRIP:
cancelUpdateSuggestionStrip();
latinIme.mInputLogic.performUpdateSuggestionStripSync( latinIme.mInputLogic.performUpdateSuggestionStripSync(
latinIme.mSettings.getCurrent(), this /* handler */); latinIme.mSettings.getCurrent());
break; break;
case MSG_UPDATE_SHIFT_STATE: case MSG_UPDATE_SHIFT_STATE:
switcher.updateShiftState(); switcher.updateShiftState();
@ -949,8 +950,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// 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() && if (isInputViewShown() &&
mInputLogic.onUpdateSelection(mSettings.getCurrent(), oldSelStart, oldSelEnd, mInputLogic.onUpdateSelection(oldSelStart, oldSelEnd, newSelStart, newSelEnd)) {
newSelStart, newSelEnd, composingSpanStart, composingSpanEnd)) {
mKeyboardSwitcher.updateShiftState(); mKeyboardSwitcher.updateShiftState();
} }
@ -1290,7 +1290,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
@Override @Override
public void onEndBatchInput(final InputPointers batchPointers) { public void onEndBatchInput(final InputPointers batchPointers) {
mInputLogic.onEndBatchInput(mSettings.getCurrent(), batchPointers); mInputLogic.onEndBatchInput(batchPointers);
} }
@Override @Override

View File

@ -289,19 +289,14 @@ public final class InputLogic {
* Consider an update to the cursor position. Evaluate whether this update has happened as * Consider an update to the cursor position. Evaluate whether this update has happened as
* part of normal typing or whether it was an explicit cursor move by the user. In any case, * part of normal typing or whether it was an explicit cursor move by the user. In any case,
* do the necessary adjustments. * do the necessary adjustments.
* @param settingsValues the current settings
* @param oldSelStart old selection start * @param oldSelStart old selection start
* @param oldSelEnd old selection end * @param oldSelEnd old selection end
* @param newSelStart new selection start * @param newSelStart new selection start
* @param newSelEnd new selection end * @param newSelEnd new selection end
* @param composingSpanStart composing span start
* @param composingSpanEnd composing span end
* @return whether the cursor has moved as a result of user interaction. * @return whether the cursor has moved as a result of user interaction.
*/ */
public boolean onUpdateSelection(final SettingsValues settingsValues, public boolean onUpdateSelection(final int oldSelStart, final int oldSelEnd,
final int oldSelStart, final int oldSelEnd, final int newSelStart, final int newSelEnd) {
final int newSelStart, final int newSelEnd,
final int composingSpanStart, final int composingSpanEnd) {
if (mConnection.isBelatedExpectedUpdate(oldSelStart, newSelStart, oldSelEnd, newSelEnd)) { if (mConnection.isBelatedExpectedUpdate(oldSelStart, newSelStart, oldSelEnd, newSelEnd)) {
return false; return false;
} }
@ -334,8 +329,7 @@ public final class InputLogic {
// we'd have the suggestion strip noticeably janky. To avoid that, we don't clear // we'd have the suggestion strip noticeably janky. To avoid that, we don't clear
// it here, which means we'll keep outdated suggestions for a split second but the // it here, which means we'll keep outdated suggestions for a split second but the
// visual result is better. // visual result is better.
resetEntireInputState(settingsValues, newSelStart, newSelEnd, resetEntireInputState(newSelStart, newSelEnd, false /* clearSuggestionStrip */);
false /* clearSuggestionStrip */);
} else { } else {
// resetEntireInputState calls resetCachesUponCursorMove, but forcing the // resetEntireInputState calls resetCachesUponCursorMove, but forcing the
// composition to end. But in all cases where we don't reset the entire input // composition to end. But in all cases where we don't reset the entire input
@ -503,7 +497,7 @@ public final class InputLogic {
if (mWordComposer.isCursorFrontOrMiddleOfComposingWord()) { if (mWordComposer.isCursorFrontOrMiddleOfComposingWord()) {
// If we are in the middle of a recorrection, we need to commit the recorrection // If we are in the middle of a recorrection, we need to commit the recorrection
// first so that we can insert the batch input at the current cursor position. // first so that we can insert the batch input at the current cursor position.
resetEntireInputState(settingsValues, mConnection.getExpectedSelectionStart(), resetEntireInputState(mConnection.getExpectedSelectionStart(),
mConnection.getExpectedSelectionEnd(), true /* clearSuggestionStrip */); mConnection.getExpectedSelectionEnd(), true /* clearSuggestionStrip */);
} else if (wordComposerSize <= 1) { } else if (wordComposerSize <= 1) {
// We auto-correct the previous (typed, not gestured) string iff it's one character // We auto-correct the previous (typed, not gestured) string iff it's one character
@ -584,8 +578,7 @@ public final class InputLogic {
mInputLogicHandler.onUpdateBatchInput(batchPointers, mAutoCommitSequenceNumber); mInputLogicHandler.onUpdateBatchInput(batchPointers, mAutoCommitSequenceNumber);
} }
public void onEndBatchInput(final SettingsValues settingValues, public void onEndBatchInput(final InputPointers batchPointers) {
final InputPointers batchPointers) {
mInputLogicHandler.onEndBatchInput(batchPointers, mAutoCommitSequenceNumber); mInputLogicHandler.onEndBatchInput(batchPointers, mAutoCommitSequenceNumber);
++mAutoCommitSequenceNumber; ++mAutoCommitSequenceNumber;
} }
@ -657,7 +650,7 @@ public final class InputLogic {
if (mWordComposer.isCursorFrontOrMiddleOfComposingWord()) { if (mWordComposer.isCursorFrontOrMiddleOfComposingWord()) {
// If we are in the middle of a recorrection, we need to commit the recorrection // If we are in the middle of a recorrection, we need to commit the recorrection
// first so that we can insert the character at the current cursor position. // first so that we can insert the character at the current cursor position.
resetEntireInputState(settingsValues, mConnection.getExpectedSelectionStart(), resetEntireInputState(mConnection.getExpectedSelectionStart(),
mConnection.getExpectedSelectionEnd(), true /* clearSuggestionStrip */); mConnection.getExpectedSelectionEnd(), true /* clearSuggestionStrip */);
} else { } else {
commitTyped(settingsValues, LastComposedWord.NOT_A_SEPARATOR); commitTyped(settingsValues, LastComposedWord.NOT_A_SEPARATOR);
@ -699,7 +692,7 @@ public final class InputLogic {
if (mWordComposer.isCursorFrontOrMiddleOfComposingWord()) { if (mWordComposer.isCursorFrontOrMiddleOfComposingWord()) {
// If we are in the middle of a recorrection, we need to commit the recorrection // If we are in the middle of a recorrection, we need to commit the recorrection
// first so that we can insert the character at the current cursor position. // first so that we can insert the character at the current cursor position.
resetEntireInputState(settingsValues, mConnection.getExpectedSelectionStart(), resetEntireInputState(mConnection.getExpectedSelectionStart(),
mConnection.getExpectedSelectionEnd(), true /* clearSuggestionStrip */); mConnection.getExpectedSelectionEnd(), true /* clearSuggestionStrip */);
isComposingWord = false; isComposingWord = false;
} }
@ -781,7 +774,7 @@ public final class InputLogic {
if (mWordComposer.isCursorFrontOrMiddleOfComposingWord()) { if (mWordComposer.isCursorFrontOrMiddleOfComposingWord()) {
// If we are in the middle of a recorrection, we need to commit the recorrection // If we are in the middle of a recorrection, we need to commit the recorrection
// first so that we can insert the separator at the current cursor position. // first so that we can insert the separator at the current cursor position.
resetEntireInputState(settingsValues, mConnection.getExpectedSelectionStart(), resetEntireInputState(mConnection.getExpectedSelectionStart(),
mConnection.getExpectedSelectionEnd(), true /* clearSuggestionStrip */); mConnection.getExpectedSelectionEnd(), true /* clearSuggestionStrip */);
} }
// isComposingWord() may have changed since we stored wasComposing // isComposingWord() may have changed since we stored wasComposing
@ -876,7 +869,6 @@ public final class InputLogic {
// TODO: remove these arguments // TODO: remove these arguments
final LatinIME.UIHandler handler, final KeyboardSwitcher keyboardSwitcher) { final LatinIME.UIHandler handler, final KeyboardSwitcher keyboardSwitcher) {
mSpaceState = SpaceState.NONE; mSpaceState = SpaceState.NONE;
final int deleteCountAtStart = mDeleteCount;
mDeleteCount++; mDeleteCount++;
// 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
@ -887,7 +879,7 @@ public final class InputLogic {
if (mWordComposer.isCursorFrontOrMiddleOfComposingWord()) { if (mWordComposer.isCursorFrontOrMiddleOfComposingWord()) {
// If we are in the middle of a recorrection, we need to commit the recorrection // If we are in the middle of a recorrection, we need to commit the recorrection
// first so that we can remove the character at the current cursor position. // first so that we can remove the character at the current cursor position.
resetEntireInputState(settingsValues, mConnection.getExpectedSelectionStart(), resetEntireInputState(mConnection.getExpectedSelectionStart(),
mConnection.getExpectedSelectionEnd(), true /* clearSuggestionStrip */); mConnection.getExpectedSelectionEnd(), true /* clearSuggestionStrip */);
// When we exit this if-clause, mWordComposer.isComposingWord() will return false. // When we exit this if-clause, mWordComposer.isComposingWord() will return false.
} }
@ -1204,11 +1196,7 @@ public final class InputLogic {
timeStampInSeconds); timeStampInSeconds);
} }
public void performUpdateSuggestionStripSync(final SettingsValues settingsValues, public void performUpdateSuggestionStripSync(final SettingsValues settingsValues) {
// TODO: Remove this argument
final LatinIME.UIHandler handler) {
handler.cancelUpdateSuggestionStrip();
// Check if we have a suggestion engine attached. // Check if we have a suggestion engine attached.
if (mSuggest == null || !settingsValues.isSuggestionsRequested()) { if (mSuggest == null || !settingsValues.isSuggestionsRequested()) {
if (mWordComposer.isComposingWord()) { if (mWordComposer.isComposingWord()) {
@ -1626,15 +1614,13 @@ public final class InputLogic {
* This will clear the composing word, reset the last composed word, clear the suggestion * This will clear the composing word, reset the last composed word, clear the suggestion
* strip and tell the input connection about it so that it can refresh its caches. * strip and tell the input connection about it so that it can refresh its caches.
* *
* @param settingsValues the current values of the settings.
* @param newSelStart the new selection start, in java characters. * @param newSelStart the new selection start, in java characters.
* @param newSelEnd the new selection end, in java characters. * @param newSelEnd the new selection end, in java characters.
* @param clearSuggestionStrip whether this method should clear the suggestion strip. * @param clearSuggestionStrip whether this method should clear the suggestion strip.
*/ */
// TODO: how is this different from startInput ?! // TODO: how is this different from startInput ?!
// TODO: remove all references to this in LatinIME and make this private private void resetEntireInputState(final int newSelStart, final int newSelEnd,
public void resetEntireInputState(final SettingsValues settingsValues, final boolean clearSuggestionStrip) {
final int newSelStart, final int newSelEnd, final boolean clearSuggestionStrip) {
final boolean shouldFinishComposition = mWordComposer.isComposingWord(); final boolean shouldFinishComposition = mWordComposer.isComposingWord();
resetComposingState(true /* alsoResetLastComposedWord */); resetComposingState(true /* alsoResetLastComposedWord */);
if (clearSuggestionStrip) { if (clearSuggestionStrip) {
@ -1652,8 +1638,7 @@ public final class InputLogic {
* *
* @param alsoResetLastComposedWord whether to also reset the last composed word. * @param alsoResetLastComposedWord whether to also reset the last composed word.
*/ */
// TODO: remove all references to this in LatinIME and make this private. private void resetComposingState(final boolean alsoResetLastComposedWord) {
public void resetComposingState(final boolean alsoResetLastComposedWord) {
mWordComposer.reset(); mWordComposer.reset();
if (alsoResetLastComposedWord) { if (alsoResetLastComposedWord) {
mLastComposedWord = LastComposedWord.NOT_A_COMPOSED_WORD; mLastComposedWord = LastComposedWord.NOT_A_COMPOSED_WORD;
@ -1698,9 +1683,8 @@ public final class InputLogic {
* @param text the text on which to maybe apply the span. * @param text the text on which to maybe apply the span.
* @return the same text, with the auto-correction underline span if that's appropriate. * @return the same text, with the auto-correction underline span if that's appropriate.
*/ */
// TODO: remove all references to this in LatinIME and make this private. Also, shouldn't // TODO: Shouldn't this go in some *Utils class instead?
// this go in some *Utils class instead? private CharSequence getTextWithUnderline(final String text) {
public CharSequence getTextWithUnderline(final String text) {
return mIsAutoCorrectionIndicatorOn return mIsAutoCorrectionIndicatorOn
? SuggestionSpanUtils.getTextWithAutoCorrectionIndicatorUnderline(mLatinIME, text) ? SuggestionSpanUtils.getTextWithAutoCorrectionIndicatorUnderline(mLatinIME, text)
: text; : text;
@ -1765,8 +1749,7 @@ public final class InputLogic {
* *
* @param settingsValues the current values of the settings. * @param settingsValues the current values of the settings.
*/ */
// TODO: Make this private. private void promotePhantomSpace(final SettingsValues settingsValues) {
public void promotePhantomSpace(final SettingsValues settingsValues) {
if (settingsValues.shouldInsertSpacesAutomatically() if (settingsValues.shouldInsertSpacesAutomatically()
&& settingsValues.mSpacingAndPunctuations.mCurrentLanguageHasSpaces && settingsValues.mSpacingAndPunctuations.mCurrentLanguageHasSpaces
&& !mConnection.textBeforeCursorLooksLikeURL()) { && !mConnection.textBeforeCursorLooksLikeURL()) {
@ -1872,7 +1855,8 @@ public final class InputLogic {
final LatinIME.UIHandler handler) { final LatinIME.UIHandler handler) {
// Complete any pending suggestions query first // Complete any pending suggestions query first
if (handler.hasPendingUpdateSuggestions()) { if (handler.hasPendingUpdateSuggestions()) {
performUpdateSuggestionStripSync(settingsValues, handler); handler.cancelUpdateSuggestionStrip();
performUpdateSuggestionStripSync(settingsValues);
} }
final String typedAutoCorrection = mWordComposer.getAutoCorrectionOrNull(); final String typedAutoCorrection = mWordComposer.getAutoCorrectionOrNull();
final String typedWord = mWordComposer.getTypedWord(); final String typedWord = mWordComposer.getTypedWord();
@ -1916,8 +1900,7 @@ public final class InputLogic {
* @param commitType the type of the commit, as one of LastComposedWord.COMMIT_TYPE_* * @param commitType the type of the commit, as one of LastComposedWord.COMMIT_TYPE_*
* @param separatorString the separator that's causing the commit, or NOT_A_SEPARATOR if none. * @param separatorString the separator that's causing the commit, or NOT_A_SEPARATOR if none.
*/ */
// TODO: Make this private private void commitChosenWord(final SettingsValues settingsValues, final String chosenWord,
public void commitChosenWord(final SettingsValues settingsValues, final String chosenWord,
final int commitType, final String separatorString) { final int commitType, final String separatorString) {
final SuggestedWords suggestedWords = mSuggestedWords; final SuggestedWords suggestedWords = mSuggestedWords;
final CharSequence chosenWordWithSuggestions = final CharSequence chosenWordWithSuggestions =