aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/SuggestedWords.java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2012-03-05 00:56:06 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-03-05 00:56:06 -0800
commit749048f4e4f66a5f0e5ffa443803204356e3beed (patch)
tree068ee081aa2dc7fb475f49ce14e385cf02cfa20a /java/src/com/android/inputmethod/latin/SuggestedWords.java
parent907371b54fcad3df609bb75f7ad38f430189578b (diff)
parentc208f4dfb7abe1b7a83c725d515edb3615d5d927 (diff)
downloadlatinime-749048f4e4f66a5f0e5ffa443803204356e3beed.tar.gz
latinime-749048f4e4f66a5f0e5ffa443803204356e3beed.tar.xz
latinime-749048f4e4f66a5f0e5ffa443803204356e3beed.zip
Merge "Make SuggestedWords immutable"
Diffstat (limited to 'java/src/com/android/inputmethod/latin/SuggestedWords.java')
-rw-r--r--java/src/com/android/inputmethod/latin/SuggestedWords.java69
1 files changed, 40 insertions, 29 deletions
diff --git a/java/src/com/android/inputmethod/latin/SuggestedWords.java b/java/src/com/android/inputmethod/latin/SuggestedWords.java
index ff8945f71..bc6c52787 100644
--- a/java/src/com/android/inputmethod/latin/SuggestedWords.java
+++ b/java/src/com/android/inputmethod/latin/SuggestedWords.java
@@ -20,22 +20,25 @@ import android.text.TextUtils;
import android.view.inputmethod.CompletionInfo;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
public class SuggestedWords {
- public static final SuggestedWords EMPTY = new SuggestedWords(null, false, false, false, null);
+ public static final SuggestedWords EMPTY = new SuggestedWords(null, false, false, false, false,
+ null);
- public final List<CharSequence> mWords;
+ private final List<CharSequence> mWords;
public final boolean mTypedWordValid;
public final boolean mHasAutoCorrectionCandidate;
public final boolean mIsPunctuationSuggestions;
+ public final boolean mShouldBlockAutoCorrectionBySafetyNet;
private final List<SuggestedWordInfo> mSuggestedWordInfoList;
- private boolean mShouldBlockAutoCorrectionBySafetyNet;
- private SuggestedWords(List<CharSequence> words, boolean typedWordValid,
+ SuggestedWords(List<CharSequence> words, boolean typedWordValid,
boolean hasAutoCorrectionCandidate, boolean isPunctuationSuggestions,
+ boolean shouldBlockAutoCorrectionBySafetyNet,
List<SuggestedWordInfo> suggestedWordInfoList) {
if (words != null) {
mWords = words;
@@ -45,8 +48,8 @@ public class SuggestedWords {
mTypedWordValid = typedWordValid;
mHasAutoCorrectionCandidate = hasAutoCorrectionCandidate;
mIsPunctuationSuggestions = isPunctuationSuggestions;
+ mShouldBlockAutoCorrectionBySafetyNet = shouldBlockAutoCorrectionBySafetyNet;
mSuggestedWordInfoList = suggestedWordInfoList;
- mShouldBlockAutoCorrectionBySafetyNet = false;
}
public int size() {
@@ -62,24 +65,23 @@ public class SuggestedWords {
}
public boolean hasAutoCorrectionWord() {
- return mHasAutoCorrectionCandidate && size() > 1 && !mTypedWordValid;
- }
-
- public boolean isPunctuationSuggestions() {
- return mIsPunctuationSuggestions;
- }
-
- public void setShouldBlockAutoCorrectionBySatefyNet() {
- mShouldBlockAutoCorrectionBySafetyNet = true;
- }
-
- public boolean shouldBlockAutoCorrectionBySafetyNet() {
- return mShouldBlockAutoCorrectionBySafetyNet;
+ return mHasAutoCorrectionCandidate && size() > 1 && mTypedWordValid;
}
public boolean willAutoCorrect() {
return !mTypedWordValid && mHasAutoCorrectionCandidate
- && !shouldBlockAutoCorrectionBySafetyNet();
+ && !mShouldBlockAutoCorrectionBySafetyNet;
+ }
+
+ @Override
+ public String toString() {
+ // Pretty-print method to help debug
+ return "SuggestedWords.Builder:"
+ + " mTypedWordValid = " + mTypedWordValid
+ + " mHasAutoCorrectionCandidate = " + mHasAutoCorrectionCandidate
+ + " mIsPunctuationSuggestions = " + mIsPunctuationSuggestions
+ + " mShouldBlockAutoCorrectionBySafetyNet" + mShouldBlockAutoCorrectionBySafetyNet
+ + " mWords=" + Arrays.toString(mWords.toArray());
}
public static class Builder {
@@ -87,6 +89,7 @@ public class SuggestedWords {
private boolean mTypedWordValid;
private boolean mHasMinimalSuggestion;
private boolean mIsPunctuationSuggestions;
+ private boolean mShouldBlockAutoCorrectionBySafetyNet;
private List<SuggestedWordInfo> mSuggestedWordInfoList =
new ArrayList<SuggestedWordInfo>();
@@ -151,6 +154,11 @@ public class SuggestedWords {
return this;
}
+ public Builder setShouldBlockAutoCorrectionBySafetyNet() {
+ mShouldBlockAutoCorrectionBySafetyNet = true;
+ return this;
+ }
+
// Should get rid of the first one (what the user typed previously) from suggestions
// and replace it with what the user currently typed.
public Builder addTypedWordAndPreviousSuggestions(CharSequence typedWord,
@@ -176,7 +184,8 @@ public class SuggestedWords {
public SuggestedWords build() {
return new SuggestedWords(mWords, mTypedWordValid, mHasMinimalSuggestion,
- mIsPunctuationSuggestions, mSuggestedWordInfoList);
+ mIsPunctuationSuggestions, mShouldBlockAutoCorrectionBySafetyNet,
+ mSuggestedWordInfoList);
}
public int size() {
@@ -187,18 +196,20 @@ public class SuggestedWords {
return mWords.get(pos);
}
+ public boolean isTypedWordValid() {
+ return mTypedWordValid;
+ }
+
@Override
public String toString() {
// Pretty-print method to help debug
- final StringBuilder sb = new StringBuilder("StringBuilder: mTypedWordValid = "
- + mTypedWordValid + " ; mHasMinimalSuggestion = " + mHasMinimalSuggestion
- + " ; mIsPunctuationSuggestions = " + mIsPunctuationSuggestions
- + " --- ");
- for (CharSequence s : mWords) {
- sb.append(s);
- sb.append(" ; ");
- }
- return sb.toString();
+ return "SuggestedWords.Builder:"
+ + " mTypedWordValid = " + mTypedWordValid
+ + " mHasMinimalSuggestion = " + mHasMinimalSuggestion
+ + " mIsPunctuationSuggestions = " + mIsPunctuationSuggestions
+ + " mShouldBlockAutoCorrectionBySafetyNet"
+ + mShouldBlockAutoCorrectionBySafetyNet
+ + " mWords=" + Arrays.toString(mWords.toArray());
}
}