aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/BinaryDictionary.java
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2013-04-22 19:48:23 +0900
committerJean Chalard <jchalard@google.com>2013-04-25 20:29:11 +0900
commit99e998286d71cf698d0a809a29b15d1a231ebbb1 (patch)
tree1ab7b707cf8b0e0153d203e6296182c1ce442917 /java/src/com/android/inputmethod/latin/BinaryDictionary.java
parent3261746ff99dbf37d556b9c0e82192068437f99c (diff)
downloadlatinime-99e998286d71cf698d0a809a29b15d1a231ebbb1.tar.gz
latinime-99e998286d71cf698d0a809a29b15d1a231ebbb1.tar.xz
latinime-99e998286d71cf698d0a809a29b15d1a231ebbb1.zip
[ZF1] Check profanity in Java rather than in native
Bug: 7226877 Change-Id: Ib6c32bfee9977c27dbf7e1e590b2b00d9ceb7301
Diffstat (limited to 'java/src/com/android/inputmethod/latin/BinaryDictionary.java')
-rw-r--r--java/src/com/android/inputmethod/latin/BinaryDictionary.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionary.java b/java/src/com/android/inputmethod/latin/BinaryDictionary.java
index dbc2b9082..03f7d1c10 100644
--- a/java/src/com/android/inputmethod/latin/BinaryDictionary.java
+++ b/java/src/com/android/inputmethod/latin/BinaryDictionary.java
@@ -147,10 +147,20 @@ public final class BinaryDictionary extends Dictionary {
++len;
}
if (len > 0) {
- final int score = SuggestedWordInfo.KIND_WHITELIST == mOutputTypes[j]
+ final int flags = mOutputTypes[j] & SuggestedWordInfo.KIND_MASK_FLAGS;
+ if (0 != (flags & SuggestedWordInfo.KIND_FLAG_POSSIBLY_OFFENSIVE)
+ && 0 == (flags & SuggestedWordInfo.KIND_FLAG_EXACT_MATCH)) {
+ // If the word is possibly offensive, we don't output it unless it's also
+ // an exact match.
+ continue;
+ }
+ final int kind = mOutputTypes[j] & SuggestedWordInfo.KIND_MASK_KIND;
+ final int score = SuggestedWordInfo.KIND_WHITELIST == kind
? SuggestedWordInfo.MAX_SCORE : mOutputScores[j];
+ // TODO: check that all users of the `kind' parameter are ready to accept
+ // flags too and pass mOutputTypes[j] instead of kind
suggestions.add(new SuggestedWordInfo(new String(mOutputCodePoints, start, len),
- score, mOutputTypes[j], mDictType));
+ score, kind, mDictType));
}
}
return suggestions;