From ed378c78a15757c7386d84c6cd7470d56ed00c76 Mon Sep 17 00:00:00 2001 From: Dan Zivkovic Date: Wed, 25 Feb 2015 11:47:43 -0800 Subject: [PATCH] Auto-correct without whitelist in Delight3. Bug 19390471. Change-Id: Ie09b916ca80591c98f48ae1d74d4fd5b0c5d6b33 --- .../latin/define/DecoderSpecificConstants.java | 1 + java/src/com/android/inputmethod/latin/Suggest.java | 11 +++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/java-overridable/src/com/android/inputmethod/latin/define/DecoderSpecificConstants.java b/java-overridable/src/com/android/inputmethod/latin/define/DecoderSpecificConstants.java index 9e97b12a5..a82abdbc1 100644 --- a/java-overridable/src/com/android/inputmethod/latin/define/DecoderSpecificConstants.java +++ b/java-overridable/src/com/android/inputmethod/latin/define/DecoderSpecificConstants.java @@ -33,4 +33,5 @@ public class DecoderSpecificConstants { public static final boolean SHOULD_VERIFY_MAGIC_NUMBER = true; public static final boolean SHOULD_VERIFY_CHECKSUM = true; public static final boolean SHOULD_USE_DICT_VERSION = true; + public static final boolean SHOULD_AUTO_CORRECT_USING_NON_WHITE_LISTED_SUGGESTION = false; } diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java index 428956a7b..832fcbcb0 100644 --- a/java/src/com/android/inputmethod/latin/Suggest.java +++ b/java/src/com/android/inputmethod/latin/Suggest.java @@ -18,6 +18,8 @@ package com.android.inputmethod.latin; import android.text.TextUtils; +import static com.android.inputmethod.latin.define.DecoderSpecificConstants.SHOULD_AUTO_CORRECT_USING_NON_WHITE_LISTED_SUGGESTION; + import com.android.inputmethod.keyboard.KeyboardLayout; import com.android.inputmethod.keyboard.ProximityInfo; import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo; @@ -236,10 +238,11 @@ public final class Suggest { } final boolean resultsArePredictions = !wordComposer.isComposingWord(); - // We allow auto-correction if we have a whitelisted word, or if the word had more than - // one char and was not suggested. - final boolean allowsToBeAutoCorrected = (null != whitelistedWord) - || (consideredWord.length() > 1 && (null == sourceDictionaryOfRemovedWord)); + // We allow auto-correction if whitelisting is not required or the word is whitelisted, + // or if the word had more than one char and was not suggested. + final boolean allowsToBeAutoCorrected = + (SHOULD_AUTO_CORRECT_USING_NON_WHITE_LISTED_SUGGESTION || whitelistedWord != null) + || (consideredWord.length() > 1 && (sourceDictionaryOfRemovedWord == null)); final boolean hasAutoCorrection; // If correction is not enabled, we never auto-correct. This is for example for when