Don't autocorrect after suggestion resuming
Bug: 6105732 Change-Id: I92e7a9c6d6eb648f747c3b396d7993479fd8478a
This commit is contained in:
parent
3bb419ec18
commit
4b5b46bb66
2 changed files with 15 additions and 0 deletions
|
@ -385,6 +385,7 @@ public class Suggest implements Dictionary.WordCallback {
|
||||||
}
|
}
|
||||||
// Don't auto-correct words with multiple capital letter
|
// Don't auto-correct words with multiple capital letter
|
||||||
autoCorrectionAvailable &= !wordComposer.isMostlyCaps();
|
autoCorrectionAvailable &= !wordComposer.isMostlyCaps();
|
||||||
|
autoCorrectionAvailable &= !wordComposer.isResumed();
|
||||||
if (allowsToBeAutoCorrected && suggestionsList.size() > 1 && mAutoCorrectionThreshold > 0
|
if (allowsToBeAutoCorrected && suggestionsList.size() > 1 && mAutoCorrectionThreshold > 0
|
||||||
&& Suggest.shouldBlockAutoCorrectionBySafetyNet(typedWord,
|
&& Suggest.shouldBlockAutoCorrectionBySafetyNet(typedWord,
|
||||||
suggestionsList.get(1).mWord)) {
|
suggestionsList.get(1).mWord)) {
|
||||||
|
|
|
@ -38,6 +38,7 @@ public class WordComposer {
|
||||||
private int[] mYCoordinates;
|
private int[] mYCoordinates;
|
||||||
private StringBuilder mTypedWord;
|
private StringBuilder mTypedWord;
|
||||||
private CharSequence mAutoCorrection;
|
private CharSequence mAutoCorrection;
|
||||||
|
private boolean mIsResumed;
|
||||||
|
|
||||||
// Cache these values for performance
|
// Cache these values for performance
|
||||||
private int mCapsCount;
|
private int mCapsCount;
|
||||||
|
@ -57,6 +58,7 @@ public class WordComposer {
|
||||||
mYCoordinates = new int[N];
|
mYCoordinates = new int[N];
|
||||||
mAutoCorrection = null;
|
mAutoCorrection = null;
|
||||||
mTrailingSingleQuotesCount = 0;
|
mTrailingSingleQuotesCount = 0;
|
||||||
|
mIsResumed = false;
|
||||||
refreshSize();
|
refreshSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -73,6 +75,7 @@ public class WordComposer {
|
||||||
mIsFirstCharCapitalized = source.mIsFirstCharCapitalized;
|
mIsFirstCharCapitalized = source.mIsFirstCharCapitalized;
|
||||||
mAutoCapitalized = source.mAutoCapitalized;
|
mAutoCapitalized = source.mAutoCapitalized;
|
||||||
mTrailingSingleQuotesCount = source.mTrailingSingleQuotesCount;
|
mTrailingSingleQuotesCount = source.mTrailingSingleQuotesCount;
|
||||||
|
mIsResumed = source.mIsResumed;
|
||||||
refreshSize();
|
refreshSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -85,6 +88,7 @@ public class WordComposer {
|
||||||
mCapsCount = 0;
|
mCapsCount = 0;
|
||||||
mIsFirstCharCapitalized = false;
|
mIsFirstCharCapitalized = false;
|
||||||
mTrailingSingleQuotesCount = 0;
|
mTrailingSingleQuotesCount = 0;
|
||||||
|
mIsResumed = false;
|
||||||
refreshSize();
|
refreshSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -193,6 +197,7 @@ public class WordComposer {
|
||||||
int codePoint = Character.codePointAt(word, i);
|
int codePoint = Character.codePointAt(word, i);
|
||||||
addKeyInfo(codePoint, keyboard);
|
addKeyInfo(codePoint, keyboard);
|
||||||
}
|
}
|
||||||
|
mIsResumed = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -299,6 +304,13 @@ public class WordComposer {
|
||||||
return mAutoCorrection;
|
return mAutoCorrection;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return whether we started composing this word by resuming suggestion on an existing string
|
||||||
|
*/
|
||||||
|
public boolean isResumed() {
|
||||||
|
return mIsResumed;
|
||||||
|
}
|
||||||
|
|
||||||
// `type' should be one of the LastComposedWord.COMMIT_TYPE_* constants above.
|
// `type' should be one of the LastComposedWord.COMMIT_TYPE_* constants above.
|
||||||
public LastComposedWord commitWord(final int type, final String committedWord,
|
public LastComposedWord commitWord(final int type, final String committedWord,
|
||||||
final int separatorCode) {
|
final int separatorCode) {
|
||||||
|
@ -320,6 +332,7 @@ public class WordComposer {
|
||||||
mTypedWord.setLength(0);
|
mTypedWord.setLength(0);
|
||||||
refreshSize();
|
refreshSize();
|
||||||
mAutoCorrection = null;
|
mAutoCorrection = null;
|
||||||
|
mIsResumed = false;
|
||||||
return lastComposedWord;
|
return lastComposedWord;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -331,5 +344,6 @@ public class WordComposer {
|
||||||
mTypedWord.append(lastComposedWord.mTypedWord);
|
mTypedWord.append(lastComposedWord.mTypedWord);
|
||||||
refreshSize();
|
refreshSize();
|
||||||
mAutoCorrection = null; // This will be filled by the next call to updateSuggestion.
|
mAutoCorrection = null; // This will be filled by the next call to updateSuggestion.
|
||||||
|
mIsResumed = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue