aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java6
-rw-r--r--java/src/com/android/inputmethod/latin/SettingsValues.java6
-rw-r--r--java/src/com/android/inputmethod/latin/Suggest.java61
-rw-r--r--java/src/com/android/inputmethod/latin/SuggestedWords.java8
4 files changed, 35 insertions, 46 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 6570f7a2f..9f5931de9 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -931,8 +931,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
false /* typedWordValid */,
false /* hasAutoCorrectionCandidate */,
false /* allowsToBeAutoCorrected */,
- false /* isPunctuationSuggestions */,
- false /* shouldBlockAutoCorrectionBySafetyNet */);
+ false /* isPunctuationSuggestions */);
// When in fullscreen mode, show completions generated by the application
final boolean isAutoCorrection = false;
setSuggestions(suggestedWords, isAutoCorrection);
@@ -1794,8 +1793,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar
false /* typedWordValid */,
false /* hasAutoCorrectionCandidate */,
false /* allowsToBeAutoCorrected */,
- false /* isPunctuationSuggestions */,
- false /* shouldBlockAutoCorrectionBySafetyNet */);
+ false /* isPunctuationSuggestions */);
showSuggestions(obsoleteSuggestedWords, typedWord);
}
}
diff --git a/java/src/com/android/inputmethod/latin/SettingsValues.java b/java/src/com/android/inputmethod/latin/SettingsValues.java
index d88047c32..d12b9c428 100644
--- a/java/src/com/android/inputmethod/latin/SettingsValues.java
+++ b/java/src/com/android/inputmethod/latin/SettingsValues.java
@@ -187,8 +187,7 @@ public class SettingsValues {
false /* typedWordValid */,
false /* hasAutoCorrectionCandidate */,
false /* allowsToBeAutoCorrected */,
- true /* isPunctuationSuggestions */,
- false /* shouldBlockAutoCorrectionBySafetyNet */);
+ true /* isPunctuationSuggestions */);
}
private static SuggestedWords createSuggestPuncOutputTextList(final String[] puncs) {
@@ -209,8 +208,7 @@ public class SettingsValues {
false /* typedWordValid */,
false /* hasAutoCorrectionCandidate */,
false /* allowsToBeAutoCorrected */,
- true /* isPunctuationSuggestions */,
- false /* shouldBlockAutoCorrectionBySafetyNet */);
+ true /* isPunctuationSuggestions */);
}
private static String createWordSeparators(final String weakSpaceStrippers,
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index 7ac00a34e..3089625e7 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -273,8 +273,7 @@ public class Suggest implements Dictionary.WordCallback {
false /* typedWordValid */,
false /* hasAutoCorrectionCandidate */,
false /* allowsToBeAutoCorrected */,
- false /* isPunctuationSuggestions */,
- false /* shouldBlockAutoCorrectionBySafetyNet */);
+ false /* isPunctuationSuggestions */);
}
// TODO: cleanup dictionaries looking up and suggestions building with SuggestedWords.Builder
@@ -344,21 +343,22 @@ public class Suggest implements Dictionary.WordCallback {
}
} else if (wordComposer.size() > 1) {
+ final WordComposer wordComposerForLookup;
+ if (mTrailingSingleQuotesCount > 0) {
+ wordComposerForLookup = new WordComposer(wordComposer);
+ for (int i = mTrailingSingleQuotesCount - 1; i >= 0; --i) {
+ wordComposerForLookup.deleteLast();
+ }
+ } else {
+ wordComposerForLookup = wordComposer;
+ }
// At second character typed, search the unigrams (scores being affected by bigrams)
for (final String key : mUnigramDictionaries.keySet()) {
// Skip UserUnigramDictionary and WhitelistDictionary to lookup
if (key.equals(DICT_KEY_USER_UNIGRAM) || key.equals(DICT_KEY_WHITELIST))
continue;
final Dictionary dictionary = mUnigramDictionaries.get(key);
- if (mTrailingSingleQuotesCount > 0) {
- final WordComposer tmpWordComposer = new WordComposer(wordComposer);
- for (int i = mTrailingSingleQuotesCount - 1; i >= 0; --i) {
- tmpWordComposer.deleteLast();
- }
- dictionary.getWords(tmpWordComposer, this, proximityInfo);
- } else {
- dictionary.getWords(wordComposer, this, proximityInfo);
- }
+ dictionary.getWords(wordComposerForLookup, this, proximityInfo);
}
}
@@ -392,41 +392,36 @@ public class Suggest implements Dictionary.WordCallback {
mSuggestions.add(0, typedWord);
StringUtils.removeDupes(mSuggestions);
- final ArrayList<SuggestedWords.SuggestedWordInfo> scoreInfoList;
+ final ArrayList<SuggestedWords.SuggestedWordInfo> suggestionsList;
if (DBG) {
// TODO: this doesn't take into account the fact that removing dupes from mSuggestions
// may have made mScores[] and mSuggestions out of sync.
final CharSequence autoCorrectionSuggestion = mSuggestions.get(0);
- final int autoCorrectionSuggestionScore = mScores[0];
double normalizedScore = BinaryDictionary.calcNormalizedScore(
- typedWord, autoCorrectionSuggestion.toString(),
- autoCorrectionSuggestionScore);
- scoreInfoList = new ArrayList<SuggestedWords.SuggestedWordInfo>();
- scoreInfoList.add(new SuggestedWords.SuggestedWordInfo(autoCorrectionSuggestion, "+",
+ typedWord, autoCorrectionSuggestion.toString(), mScores[0]);
+ suggestionsList = new ArrayList<SuggestedWords.SuggestedWordInfo>();
+ suggestionsList.add(new SuggestedWords.SuggestedWordInfo(autoCorrectionSuggestion, "+",
false));
final int suggestionsSize = mSuggestions.size();
// Note: i here is the index in mScores[], but the index in mSuggestions is one more
// than i because we added the typed word to mSuggestions without touching mScores.
for (int i = 0; i < mScores.length && i < suggestionsSize - 1; ++i) {
+ final String scoreInfoString;
if (normalizedScore > 0) {
- final String scoreThreshold = String.format("%d (%4.2f)", mScores[i],
- normalizedScore);
- scoreInfoList.add(
- new SuggestedWords.SuggestedWordInfo(mSuggestions.get(i + 1),
- scoreThreshold, false));
+ scoreInfoString = String.format("%d (%4.2f)", mScores[i], normalizedScore);
normalizedScore = 0.0;
} else {
- final String score = Integer.toString(mScores[i]);
- scoreInfoList.add(new SuggestedWords.SuggestedWordInfo(mSuggestions.get(i + 1),
- score, false));
+ scoreInfoString = Integer.toString(mScores[i]);
}
+ suggestionsList.add(new SuggestedWords.SuggestedWordInfo(mSuggestions.get(i + 1),
+ scoreInfoString, false));
}
for (int i = mScores.length; i < suggestionsSize; ++i) {
- scoreInfoList.add(new SuggestedWords.SuggestedWordInfo(mSuggestions.get(i),
+ suggestionsList.add(new SuggestedWords.SuggestedWordInfo(mSuggestions.get(i),
"--", false));
}
} else {
- scoreInfoList = SuggestedWords.getFromCharSequenceList(mSuggestions);
+ suggestionsList = SuggestedWords.getFromCharSequenceList(mSuggestions);
}
boolean autoCorrectionAvailable = hasAutoCorrection;
@@ -437,19 +432,19 @@ public class Suggest implements Dictionary.WordCallback {
// Don't auto-correct words with multiple capital letter
autoCorrectionAvailable &= !wordComposer.isMostlyCaps();
final boolean shouldBlockAutoCorrectionBySatefyNet;
- if (allowsToBeAutoCorrected && scoreInfoList.size() > 1 && mAutoCorrectionThreshold > 0
+ if (allowsToBeAutoCorrected && suggestionsList.size() > 1 && mAutoCorrectionThreshold > 0
&& Suggest.shouldBlockAutoCorrectionBySafetyNet(typedWord,
- scoreInfoList.get(1).mWord)) {
+ suggestionsList.get(1).mWord)) {
shouldBlockAutoCorrectionBySatefyNet = true;
} else {
shouldBlockAutoCorrectionBySatefyNet = false;
}
- return new SuggestedWords(scoreInfoList,
+ return new SuggestedWords(suggestionsList,
!allowsToBeAutoCorrected /* typedWordValid */,
- autoCorrectionAvailable /* hasAutoCorrectionCandidate */,
+ autoCorrectionAvailable & !shouldBlockAutoCorrectionBySatefyNet
+ /* hasAutoCorrectionCandidate */,
allowsToBeAutoCorrected /* allowsToBeAutoCorrected */,
- false /* isPunctuationSuggestions */,
- shouldBlockAutoCorrectionBySatefyNet);
+ false /* isPunctuationSuggestions */);
}
@Override
diff --git a/java/src/com/android/inputmethod/latin/SuggestedWords.java b/java/src/com/android/inputmethod/latin/SuggestedWords.java
index 7ce1049d7..201e0f410 100644
--- a/java/src/com/android/inputmethod/latin/SuggestedWords.java
+++ b/java/src/com/android/inputmethod/latin/SuggestedWords.java
@@ -25,7 +25,7 @@ import java.util.List;
public class SuggestedWords {
public static final SuggestedWords EMPTY = new SuggestedWords(
- Collections.<SuggestedWordInfo>emptyList(), false, false, false, false, false);
+ Collections.<SuggestedWordInfo>emptyList(), false, false, false, false);
public final boolean mTypedWordValid;
public final boolean mHasAutoCorrectionCandidate;
@@ -37,12 +37,10 @@ public class SuggestedWords {
final boolean typedWordValid,
final boolean hasAutoCorrectionCandidate,
final boolean allowsToBeAutoCorrected,
- final boolean isPunctuationSuggestions,
- final boolean shouldBlockAutoCorrectionBySafetyNet) {
+ final boolean isPunctuationSuggestions) {
mSuggestedWordInfoList = suggestedWordInfoList;
mTypedWordValid = typedWordValid;
- mHasAutoCorrectionCandidate = hasAutoCorrectionCandidate
- && !shouldBlockAutoCorrectionBySafetyNet;
+ mHasAutoCorrectionCandidate = hasAutoCorrectionCandidate;
mAllowsToBeAutoCorrected = allowsToBeAutoCorrected;
mIsPunctuationSuggestions = isPunctuationSuggestions;
}