From 52d50a6de613004a06e2f97c5d98a7f1e8c1aed4 Mon Sep 17 00:00:00 2001 From: Helium314 Date: Sun, 10 Sep 2023 15:44:42 +0200 Subject: [PATCH] autocorrect for shortcuts specified in user dictionary --- .../java/org/dslul/openboard/inputmethod/latin/Suggest.java | 6 +----- .../dslul/openboard/inputmethod/latin/SuggestedWords.java | 3 ++- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/Suggest.java b/app/src/main/java/org/dslul/openboard/inputmethod/latin/Suggest.java index f8e1d572b..1e3e92e58 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/Suggest.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/Suggest.java @@ -375,11 +375,7 @@ public final class Suggest { // list, "will" would always auto-correct to "Will" which is unwanted. Hence, no // main dict => no auto-correct. Also, it would probably get obnoxious quickly. // TODO: now that we have personalization, we may want to re-evaluate this decision - || !dictionaryFacilitator.hasAtLeastOneInitializedMainDictionary() - // If the first suggestion is a shortcut we never auto-correct to it, regardless - // of how strong it is (whitelist entries are not KIND_SHORTCUT but KIND_WHITELIST). - // TODO: we may want to have shortcut-only entries auto-correct in the future. - || suggestionResults.first().isKindOf(SuggestedWordInfo.KIND_SHORTCUT)) { + || !dictionaryFacilitator.hasAtLeastOneInitializedMainDictionary()) { hasAutoCorrection = false; } else { final SuggestedWordInfo firstSuggestion = suggestionResults.first(); diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/SuggestedWords.java b/app/src/main/java/org/dslul/openboard/inputmethod/latin/SuggestedWords.java index a5f72b8a7..a03dc0fc3 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/SuggestedWords.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/SuggestedWords.java @@ -348,7 +348,8 @@ public class SuggestedWords { } public boolean isAppropriateForAutoCorrection() { - return (mKindAndFlags & KIND_FLAG_APPROPRIATE_FOR_AUTO_CORRECTION) != 0; + return (mKindAndFlags & KIND_FLAG_APPROPRIATE_FOR_AUTO_CORRECTION) != 0 + || isKindOf(KIND_SHORTCUT); } public void setDebugString(final String str) {