Move a memory in the container class (A4)
This allows us to make AutoCorrection a purely static class.
Change-Id: I15b81bd7f3d6ea487154a5b09a81bc323be82ce1
diff --git a/java/src/com/android/inputmethod/latin/AutoCorrection.java b/java/src/com/android/inputmethod/latin/AutoCorrection.java
index c4c9446..15b9f18 100644
--- a/java/src/com/android/inputmethod/latin/AutoCorrection.java
+++ b/java/src/com/android/inputmethod/latin/AutoCorrection.java
@@ -25,30 +25,21 @@
public class AutoCorrection {
private static final boolean DBG = LatinImeLogger.sDBG;
private static final String TAG = AutoCorrection.class.getSimpleName();
- private CharSequence mAutoCorrectionWord;
- public void init() {
- mAutoCorrectionWord = null;
- }
-
- public boolean hasAutoCorrection() {
- return null != mAutoCorrectionWord;
- }
-
- public CharSequence updateAutoCorrectionStatus(Map<String, Dictionary> dictionaries,
+ public static CharSequence updateAutoCorrectionStatus(Map<String, Dictionary> dictionaries,
WordComposer wordComposer, ArrayList<CharSequence> suggestions, int[] sortedScores,
CharSequence typedWord, double autoCorrectionThreshold, int correctionMode,
CharSequence whitelistedWord) {
if (hasAutoCorrectionForWhitelistedWord(whitelistedWord)) {
- mAutoCorrectionWord = whitelistedWord;
+ return whitelistedWord;
} else if (hasAutoCorrectionForTypedWord(
dictionaries, wordComposer, suggestions, typedWord, correctionMode)) {
- mAutoCorrectionWord = typedWord;
+ return typedWord;
} else if (hasAutoCorrectionForBinaryDictionary(wordComposer, suggestions, correctionMode,
sortedScores, typedWord, autoCorrectionThreshold)) {
- mAutoCorrectionWord = suggestions.get(0);
+ return suggestions.get(0);
}
- return mAutoCorrectionWord;
+ return null;
}
public static boolean isValidWord(
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index 6f2ca83..f188b7a 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -84,6 +84,7 @@
private static final boolean DBG = LatinImeLogger.sDBG;
private AutoCorrection mAutoCorrection;
+ private boolean mHasAutoCorrection;
private Dictionary mMainDict;
private ContactsDictionary mContactsDict;
@@ -364,9 +365,11 @@
CharSequence whitelistedWord = capitalizeWord(mIsAllUpperCase, mIsFirstCharCapitalized,
mWhiteListDictionary.getWhitelistedWord(consideredWordString));
- mAutoCorrection.updateAutoCorrectionStatus(mUnigramDictionaries, wordComposer,
+ final CharSequence autoCorrection =
+ mAutoCorrection.updateAutoCorrectionStatus(mUnigramDictionaries, wordComposer,
mSuggestions, mScores, consideredWord, mAutoCorrectionThreshold, correctionMode,
whitelistedWord);
+ mHasAutoCorrection = (null != autoCorrection);
if (whitelistedWord != null) {
if (mTrailingSingleQuotesCount > 0) {
@@ -415,7 +418,7 @@
}
public boolean hasAutoCorrection() {
- return mAutoCorrection.hasAutoCorrection();
+ return mHasAutoCorrection;
}
@Override