From 17e9b779e63904c7dd3536ef07eb8d46e9fe0fc3 Mon Sep 17 00:00:00 2001 From: sspanak Date: Mon, 3 Jul 2023 12:19:23 +0300 Subject: [PATCH] removed the capital letter hack and added a new one, only for the English I, in DictionaryLoader removed some unused code and fixed a spelling mistake --- assets/languages/dictionaries/en-utf8.csv | 1 - assets/languages/dictionaries/es-utf8.csv | 9 --------- build.gradle | 2 +- res/values/strings.xml | 2 +- src/io/github/sspanak/tt9/db/DictionaryDb.java | 9 --------- src/io/github/sspanak/tt9/db/DictionaryLoader.java | 7 ++++--- 6 files changed, 6 insertions(+), 24 deletions(-) diff --git a/assets/languages/dictionaries/en-utf8.csv b/assets/languages/dictionaries/en-utf8.csv index 6c2d04d1..f7614e94 100644 --- a/assets/languages/dictionaries/en-utf8.csv +++ b/assets/languages/dictionaries/en-utf8.csv @@ -4,7 +4,6 @@ 'll 're 've -I abs 62 cia 118 co diff --git a/assets/languages/dictionaries/es-utf8.csv b/assets/languages/dictionaries/es-utf8.csv index f8d9a0d9..51512c84 100644 --- a/assets/languages/dictionaries/es-utf8.csv +++ b/assets/languages/dictionaries/es-utf8.csv @@ -1540,7 +1540,6 @@ Bélgica 116 Bétera Bóntoc Búrbura -C CD CFE CNDH @@ -4020,7 +4019,6 @@ Fátima Félix 111 Fómeque Fúquene -G GPS Gabaldón Gaban @@ -4858,7 +4856,6 @@ Huépil Hábita Héctor Héroes 118 -I IMSS 89 INE 124 INEGI 100 @@ -6829,7 +6826,6 @@ Múgica Múnera Mútis Múzquiz -N NIF Naaguán Naborot @@ -7106,7 +7102,6 @@ Nísperos 60 Nóvita Núcleo 138 Núñez -O 184 ONG ONU Oasis 101 @@ -7340,7 +7335,6 @@ Ozuluama Ozumba Ozámiz Oñate -P PEMEX Pabellón 117 Pabla @@ -8519,7 +8513,6 @@ Quiñota Quíbor Quícharo Quípama -R RAE 92 Rabanedo Rabolargo @@ -8804,7 +8797,6 @@ Rímac 80 Río 159 Ríos 139 Rómulo -S SAT SEDENA SEP @@ -11117,7 +11109,6 @@ Yáñez Yécora Yésica Yólox -Z Zaachila Zabache Zabaleta diff --git a/build.gradle b/build.gradle index ff109092..2d516bba 100644 --- a/build.gradle +++ b/build.gradle @@ -131,7 +131,7 @@ static def validateDictionaryWord(String word, int lineNumber, String validChara errors += "${errorMsgPrefix}. Found a garbage word: '${word}' on line ${lineNumber}.\n" } - if (word.matches("^.\$") && !Character.isUpperCase(word.charAt(0))) { + if (word.matches("^.\$")) { errorCount++ errors += "${errorMsgPrefix}. Found a single letter: '${word}' on line ${lineNumber}. Only uppercase single letters are allowed. The rest of the alphabet will be added automatically.\n" } diff --git a/res/values/strings.xml b/res/values/strings.xml index 56659433..4e6258d4 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -13,7 +13,7 @@ Add Blank word not added. - Word \"%1$s\" already in the dictionary. + Word \"%1$s\" is already in the dictionary. Cannot add a word when no language is selected. Add Word Type a word… diff --git a/src/io/github/sspanak/tt9/db/DictionaryDb.java b/src/io/github/sspanak/tt9/db/DictionaryDb.java index 042332ee..40de59d2 100644 --- a/src/io/github/sspanak/tt9/db/DictionaryDb.java +++ b/src/io/github/sspanak/tt9/db/DictionaryDb.java @@ -101,15 +101,6 @@ public class DictionaryDb { } - public static boolean doesWordExistSync(Language language, String word) { - if (language == null || word == null || word.equals("")) { - return false; - } - - return getInstance().wordsDao().doesWordExist(language.getId(), word) > 0; - } - - public static void deleteWords(Runnable notification) { deleteWords(notification, null); } diff --git a/src/io/github/sspanak/tt9/db/DictionaryLoader.java b/src/io/github/sspanak/tt9/db/DictionaryLoader.java index 084eaa1f..fb063bfc 100644 --- a/src/io/github/sspanak/tt9/db/DictionaryLoader.java +++ b/src/io/github/sspanak/tt9/db/DictionaryLoader.java @@ -10,6 +10,7 @@ import java.io.InputStreamReader; import java.io.LineNumberReader; import java.nio.charset.StandardCharsets; import java.util.ArrayList; +import java.util.Locale; import io.github.sspanak.tt9.ConsumerCompat; import io.github.sspanak.tt9.Logger; @@ -168,11 +169,11 @@ public class DictionaryLoader { private void importLetters(Language language) { ArrayList letters = new ArrayList<>(); + boolean isEnglish = language.getLocale().equals(Locale.ENGLISH); + for (int key = 2; key <= 9; key++) { for (String langChar : language.getKeyCharacters(key, false)) { - if (DictionaryDb.doesWordExistSync(language, langChar.toUpperCase(language.getLocale()))) { - continue; - } + langChar = (isEnglish && langChar.equals("i")) ? langChar.toUpperCase(Locale.ENGLISH) : langChar; Word word = new Word(); word.langId = language.getId();