From 7a580a4769f1adb34cbdb6346f53ebf2e12f260b Mon Sep 17 00:00:00 2001 From: Jean Chalard Date: Thu, 8 Mar 2012 20:43:30 +0900 Subject: [PATCH] Move a memory in the container class (A4) This allows us to make AutoCorrection a purely static class. Change-Id: I15b81bd7f3d6ea487154a5b09a81bc323be82ce1 --- .../inputmethod/latin/AutoCorrection.java | 19 +++++-------------- .../android/inputmethod/latin/Suggest.java | 7 +++++-- 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/java/src/com/android/inputmethod/latin/AutoCorrection.java b/java/src/com/android/inputmethod/latin/AutoCorrection.java index c4c944635..15b9f18ea 100644 --- a/java/src/com/android/inputmethod/latin/AutoCorrection.java +++ b/java/src/com/android/inputmethod/latin/AutoCorrection.java @@ -25,30 +25,21 @@ import java.util.Map; 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 dictionaries, + public static CharSequence updateAutoCorrectionStatus(Map dictionaries, WordComposer wordComposer, ArrayList 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 6f2ca83a8..f188b7ab1 100644 --- a/java/src/com/android/inputmethod/latin/Suggest.java +++ b/java/src/com/android/inputmethod/latin/Suggest.java @@ -84,6 +84,7 @@ public class Suggest implements Dictionary.WordCallback { private static final boolean DBG = LatinImeLogger.sDBG; private AutoCorrection mAutoCorrection; + private boolean mHasAutoCorrection; private Dictionary mMainDict; private ContactsDictionary mContactsDict; @@ -364,9 +365,11 @@ public class Suggest implements Dictionary.WordCallback { 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 class Suggest implements Dictionary.WordCallback { } public boolean hasAutoCorrection() { - return mAutoCorrection.hasAutoCorrection(); + return mHasAutoCorrection; } @Override