From 00e00e180268e8ed83c190b325c205f1bf617b7b Mon Sep 17 00:00:00 2001 From: sspanak Date: Wed, 4 Dec 2024 10:25:43 +0200 Subject: [PATCH] regression: impossible to update the frequencies of words with apostrophes --- .../io/github/sspanak/tt9/ime/modes/ModeWords.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/io/github/sspanak/tt9/ime/modes/ModeWords.java b/app/src/main/java/io/github/sspanak/tt9/ime/modes/ModeWords.java index 29779396..0c87a935 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ime/modes/ModeWords.java +++ b/app/src/main/java/io/github/sspanak/tt9/ime/modes/ModeWords.java @@ -17,6 +17,7 @@ import io.github.sspanak.tt9.languages.exceptions.InvalidLanguageCharactersExcep import io.github.sspanak.tt9.preferences.settings.SettingsStore; import io.github.sspanak.tt9.util.Logger; import io.github.sspanak.tt9.util.Text; +import io.github.sspanak.tt9.util.TextTools; class ModeWords extends ModeCheonjiin { private final String LOG_TAG = getClass().getSimpleName(); @@ -311,15 +312,19 @@ class ModeWords extends ModeCheonjiin { return; } - // emojis and special chars are not in the database, so there is no point in wasting resources - // running queries on them - if (!new Text(currentWord).isAlphabetic()) { + if (TextTools.isGraphic(currentWord) || new Text(currentWord).isNumeric()) { return; } try { + // special chars are not in the database, no need to run queries on them + String digitSequence = language.getDigitSequenceForWord(currentWord); + if (digitSequence.equals(SPECIAL_CHAR_SEQUENCE) || digitSequence.equals(PUNCTUATION_SEQUENCE)) { + return; + } + // increment the frequency of the given word - predictions.onAccept(currentWord, language.getDigitSequenceForWord(currentWord)); + predictions.onAccept(currentWord, digitSequence); } catch (Exception e) { Logger.e(LOG_TAG, "Failed incrementing priority of word: '" + currentWord + "'. " + e.getMessage()); }