1
0
Fork 0

when adding words text case is now preserved

This commit is contained in:
sspanak 2023-07-04 12:09:33 +03:00 committed by Dimo Karaivanov
parent 7b42feefe4
commit ec8186b137
2 changed files with 6 additions and 2 deletions

View file

@ -130,12 +130,16 @@ public class DictionaryDb {
Word dbWord = new Word(); Word dbWord = new Word();
dbWord.langId = language.getId(); dbWord.langId = language.getId();
dbWord.sequence = language.getDigitSequenceForWord(word); dbWord.sequence = language.getDigitSequenceForWord(word);
dbWord.word = word.toLowerCase(language.getLocale()); dbWord.word = word;
dbWord.length = word.length(); dbWord.length = word.length();
dbWord.frequency = 1; dbWord.frequency = 1;
new Thread(() -> { new Thread(() -> {
try { try {
if (getInstance().wordsDao().doesWordExist(dbWord.langId, dbWord.word) > 0) {
throw new SQLiteConstraintException("Word already exists.");
}
getInstance().wordsDao().insert(dbWord); getInstance().wordsDao().insert(dbWord);
getInstance().wordsDao().incrementFrequency(dbWord.langId, dbWord.word, dbWord.sequence); getInstance().wordsDao().incrementFrequency(dbWord.langId, dbWord.word, dbWord.sequence);
statusHandler.accept(0); statusHandler.accept(0);

View file

@ -21,7 +21,7 @@ public interface WordsDao {
@Query("DELETE FROM words WHERE lang IN(:langIds)") @Query("DELETE FROM words WHERE lang IN(:langIds)")
void deleteByLanguage(ArrayList<Integer> langIds); void deleteByLanguage(ArrayList<Integer> langIds);
@Query("SELECT COUNT(id) FROM words WHERE lang = :langId AND word = :word") @Query("SELECT COUNT(id) FROM words WHERE lang = :langId AND word LIKE :word")
int doesWordExist(int langId, String word); int doesWordExist(int langId, String word);
@Query( @Query(