am f459ccf4: Merge "Revert "[CB16] Remove unused stuff""
* commit 'f459ccf4f663d74ce43c57e9b9af9251ee0c48a1': Revert "[CB16] Remove unused stuff"main
commit
5a4cb0e3f8
|
@ -38,25 +38,38 @@ public final class LastComposedWord {
|
||||||
// or it may be exactly what the user typed if it's in the dictionary or the IME does not have
|
// or it may be exactly what the user typed if it's in the dictionary or the IME does not have
|
||||||
// enough confidence in any suggestion to auto-correct (auto-correct to typed word).
|
// enough confidence in any suggestion to auto-correct (auto-correct to typed word).
|
||||||
public static final int COMMIT_TYPE_DECIDED_WORD = 2;
|
public static final int COMMIT_TYPE_DECIDED_WORD = 2;
|
||||||
|
// COMMIT_TYPE_CANCEL_AUTO_CORRECT is used upon committing back the old word upon cancelling
|
||||||
|
// an auto-correction.
|
||||||
|
public static final int COMMIT_TYPE_CANCEL_AUTO_CORRECT = 3;
|
||||||
|
|
||||||
public static final String NOT_A_SEPARATOR = "";
|
public static final String NOT_A_SEPARATOR = "";
|
||||||
|
|
||||||
|
public final ArrayList<Event> mEvents;
|
||||||
public final String mTypedWord;
|
public final String mTypedWord;
|
||||||
public final CharSequence mCommittedWord;
|
public final CharSequence mCommittedWord;
|
||||||
public final String mSeparatorString;
|
public final String mSeparatorString;
|
||||||
public final String mPrevWord;
|
public final String mPrevWord;
|
||||||
public final int mCapitalizedMode;
|
public final int mCapitalizedMode;
|
||||||
|
public final InputPointers mInputPointers =
|
||||||
|
new InputPointers(Constants.DICTIONARY_MAX_WORD_LENGTH);
|
||||||
|
|
||||||
private boolean mActive;
|
private boolean mActive;
|
||||||
|
|
||||||
public static final LastComposedWord NOT_A_COMPOSED_WORD =
|
public static final LastComposedWord NOT_A_COMPOSED_WORD =
|
||||||
new LastComposedWord("", "", NOT_A_SEPARATOR, null, WordComposer.CAPS_MODE_OFF);
|
new LastComposedWord(new ArrayList<Event>(), null, "", "",
|
||||||
|
NOT_A_SEPARATOR, null, WordComposer.CAPS_MODE_OFF);
|
||||||
|
|
||||||
// Warning: this is using the passed objects as is and fully expects them to be
|
// Warning: this is using the passed objects as is and fully expects them to be
|
||||||
// immutable. Do not fiddle with their contents after you passed them to this constructor.
|
// immutable. Do not fiddle with their contents after you passed them to this constructor.
|
||||||
public LastComposedWord(final String typedWord, final CharSequence committedWord,
|
public LastComposedWord(final ArrayList<Event> events,
|
||||||
final String separatorString, final String prevWord, final int capitalizedMode) {
|
final InputPointers inputPointers, final String typedWord,
|
||||||
|
final CharSequence committedWord, final String separatorString,
|
||||||
|
final String prevWord, final int capitalizedMode) {
|
||||||
|
if (inputPointers != null) {
|
||||||
|
mInputPointers.copy(inputPointers);
|
||||||
|
}
|
||||||
mTypedWord = typedWord;
|
mTypedWord = typedWord;
|
||||||
|
mEvents = new ArrayList<Event>(events);
|
||||||
mCommittedWord = committedWord;
|
mCommittedWord = committedWord;
|
||||||
mSeparatorString = separatorString;
|
mSeparatorString = separatorString;
|
||||||
mActive = true;
|
mActive = true;
|
||||||
|
|
|
@ -426,8 +426,9 @@ public final class WordComposer {
|
||||||
// Note: currently, we come here whenever we commit a word. If it's a MANUAL_PICK
|
// Note: currently, we come here whenever we commit a word. If it's a MANUAL_PICK
|
||||||
// or a DECIDED_WORD we may cancel the commit later; otherwise, we should deactivate
|
// or a DECIDED_WORD we may cancel the commit later; otherwise, we should deactivate
|
||||||
// the last composed word to ensure this does not happen.
|
// the last composed word to ensure this does not happen.
|
||||||
final LastComposedWord lastComposedWord = new LastComposedWord(
|
final LastComposedWord lastComposedWord = new LastComposedWord(mEvents,
|
||||||
mTypedWord.toString(), committedWord, separatorString, prevWord, mCapitalizedMode);
|
mInputPointers, mTypedWord.toString(), committedWord, separatorString,
|
||||||
|
prevWord, mCapitalizedMode);
|
||||||
mInputPointers.reset();
|
mInputPointers.reset();
|
||||||
if (type != LastComposedWord.COMMIT_TYPE_DECIDED_WORD
|
if (type != LastComposedWord.COMMIT_TYPE_DECIDED_WORD
|
||||||
&& type != LastComposedWord.COMMIT_TYPE_MANUAL_PICK) {
|
&& type != LastComposedWord.COMMIT_TYPE_MANUAL_PICK) {
|
||||||
|
@ -458,6 +459,24 @@ public final class WordComposer {
|
||||||
public void discardPreviousWordForSuggestion() {
|
public void discardPreviousWordForSuggestion() {
|
||||||
mPreviousWordForSuggestion = null;
|
mPreviousWordForSuggestion = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void resumeSuggestionOnLastComposedWord(final LastComposedWord lastComposedWord,
|
||||||
|
final String previousWord) {
|
||||||
|
mEvents.clear();
|
||||||
|
Collections.copy(mEvents, lastComposedWord.mEvents);
|
||||||
|
mInputPointers.set(lastComposedWord.mInputPointers);
|
||||||
|
mTypedWord.setLength(0);
|
||||||
|
mCombinerChain.reset();
|
||||||
|
mTypedWord.append(lastComposedWord.mTypedWord);
|
||||||
|
refreshSize();
|
||||||
|
mCapitalizedMode = lastComposedWord.mCapitalizedMode;
|
||||||
|
mAutoCorrection = null; // This will be filled by the next call to updateSuggestion.
|
||||||
|
mCursorPositionWithinWord = mCodePointSize;
|
||||||
|
mRejectedBatchModeSuggestion = null;
|
||||||
|
mIsResumed = true;
|
||||||
|
mPreviousWordForSuggestion = previousWord;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isBatchMode() {
|
public boolean isBatchMode() {
|
||||||
return mIsBatchMode;
|
return mIsBatchMode;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue