From 7fc9a197e7bfeae2a49cfcf96d391c1a2f65c705 Mon Sep 17 00:00:00 2001 From: sspanak Date: Fri, 6 Sep 2024 18:00:59 +0300 Subject: [PATCH] added a setting to disable word pair learning and done final speed optimizations --- .../java/io/github/sspanak/tt9/ime/helpers/TextField.java | 7 +++++-- .../io/github/sspanak/tt9/ime/modes/ModePredictive.java | 1 - app/src/main/res/values-bg/strings.xml | 2 ++ app/src/main/res/values-de/strings.xml | 2 ++ app/src/main/res/values-es/strings.xml | 2 ++ app/src/main/res/values-fr/strings.xml | 2 ++ app/src/main/res/values-it/strings.xml | 2 ++ app/src/main/res/values-iw/strings.xml | 2 ++ app/src/main/res/values-lt/strings.xml | 2 ++ app/src/main/res/values-nl/strings.xml | 2 ++ app/src/main/res/values-pt-rBR/strings.xml | 2 ++ app/src/main/res/values-ru/strings.xml | 2 ++ app/src/main/res/values-tr/strings.xml | 2 ++ app/src/main/res/values-uk/strings.xml | 2 ++ app/src/main/res/values/strings.xml | 8 +++++--- app/src/main/res/xml/prefs_screen_mode_predictive.xml | 6 ++++++ 16 files changed, 40 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/io/github/sspanak/tt9/ime/helpers/TextField.java b/app/src/main/java/io/github/sspanak/tt9/ime/helpers/TextField.java index a41acd50..486ed553 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ime/helpers/TextField.java +++ b/app/src/main/java/io/github/sspanak/tt9/ime/helpers/TextField.java @@ -11,6 +11,8 @@ import android.view.inputmethod.InputConnection; import androidx.annotation.NonNull; +import java.util.ArrayList; + import io.github.sspanak.tt9.hacks.InputType; import io.github.sspanak.tt9.ime.modes.InputMode; import io.github.sspanak.tt9.languages.Language; @@ -124,11 +126,12 @@ public class TextField extends InputField { } int endIndex = before.length(); + ArrayList punctuation = language.getKeyCharacters(1); for (int i = before.length() - 1; i >= 0; i--) { char currentLetter = before.charAt(i); - if (stopAtPunctuation && language.getKeyCharacters(1).contains(currentLetter + "")) { + if (stopAtPunctuation && punctuation.contains(String.valueOf(currentLetter))) { return ""; } @@ -137,7 +140,7 @@ public class TextField extends InputField { && !(currentLetter == '\'' && (LanguageKind.isHebrew(language) || LanguageKind.isUkrainian(language))) ) { if (skipWords-- <= 0 || i == 0) { - return before.substring(i + 1, endIndex); + return i + 1 >= endIndex ? "" : before.substring(i + 1, endIndex); } else { endIndex = i; } diff --git a/app/src/main/java/io/github/sspanak/tt9/ime/modes/ModePredictive.java b/app/src/main/java/io/github/sspanak/tt9/ime/modes/ModePredictive.java index 3a6fb591..9740ecdc 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ime/modes/ModePredictive.java +++ b/app/src/main/java/io/github/sspanak/tt9/ime/modes/ModePredictive.java @@ -4,7 +4,6 @@ import androidx.annotation.NonNull; import java.util.ArrayList; -import io.github.sspanak.tt9.db.DataStore; import io.github.sspanak.tt9.hacks.InputType; import io.github.sspanak.tt9.ime.helpers.TextField; import io.github.sspanak.tt9.ime.modes.helpers.AutoSpace; diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index c8d3f28b..22352129 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -27,6 +27,8 @@ Връщай списъка с предложения при натискане на Backspace на края на дума.\n(Не работи в някои приложения.) Езици Изтрий всички + Запомняне на двойки думи + Запомняй често ползвани фрази, за по-точно подсказване на думи.\n(Причинява минимално забавяне на устройства с < 2GB RAM) Икона за състояние Показвай икона, когато въвеждането с клавиатура е активно. Отмени зареждането diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 1fcdcbb0..c431aa92 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -41,6 +41,8 @@ Wortnachbearbeitung Die Vorschlagsliste zurückbringen, indem Sie am Ende eines Wortes die Rücktaste drücken.\n(Nicht in allen Apps unterstützt) Sprachen + Wortpaare lernen + Häufig verwendete Phrasen merken, um die Genauigkeit der Vorschläge zu verbessern.\n(Verursacht minimale Verzögerung auf Geräten mit < 2GB RAM) Statusicon Ein Icon anzeigen, wenn die Tastatureingabe aktiv ist. Die Reihenfolge der Tasten umkehren diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 56e1ea86..94122853 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -50,6 +50,8 @@ Borrar todos Borrar no seleccionados Diccionario eliminado con éxito. + Aprender pares de palabras + Recordar frases de uso común para mejorar las sugerencias de palabras.\n(Causa retraso mínimo en dispositivos con < 2 GB de RAM) Icono de estado Mostrar un icono cuando la escritura esté activa. Cancelar la carga diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 77c692b6..8bc1bbab 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -28,6 +28,8 @@ Ramener la liste de suggestions en appuyant sur Retour arrière à la fin d\'un mot.\n(Non pris en charge dans certaines applications) Langues Supprimer tous + Mémoriser les paires de mots + Apprendre des phrases couramment utilisées pour améliorer les suggestions.\n(Cause un léger ralentissement sur les appareils avec < 2GB de RAM) Icône d\'état Afficher une icône lorsque la saisie au clavier est active Annuler le chargement diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 683a7437..e8135127 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -44,6 +44,8 @@ Riportare l\'elenco dei suggerimenti premendo Backspace alla fine di una parola.\n(Non supportato in alcune app) Lingue + Memorizzare coppie di parole + Ricordare frasi comunemente usate per migliorare i suggerimenti di parole.\n(Provoca un leggero ritardo su dispositivi con < 2GB di RAM) Icona di stato Mostrare un\'icona quando la digitazione è attiva. Annullare il caricamento diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index fa856c00..662e5075 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -54,6 +54,8 @@ לרטוט בעת לחיצה על מקש וירטואלי. עזרה + ללמוד צמדי מילים + לזכור ביטויים נפוצים כדי לשפר את דיוק ההצעות.\n(גורם לפיגור מינימלי במכשירים עם פחות מ-2GB RAM) סמל מצב הצגת סמל כאשר קלט המקלדת פעיל. להפוך את סדר המקשים diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 2ae45f59..308e609c 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -60,6 +60,8 @@ Atvirkštinė klavišų tvarka Įjunkite šį nustatymą jei pirmoje eilutėje turite 7–8–9, o ne 1–2–3. + Išmokti žodžių poras + Įsiminti dažnai naudojamas frazes, kad pagerintumėte žodžių pasiūlymus.\n(Sukelia minimalų vėlavimą įrenginiuose, kuriuose yra < 2 GB RAM) Būsenos piktograma Rodyti piktogramą, kai aktyvus klaviatūros įvedimas Atšaukti įkėlimą diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 29fd8d83..3f1908ef 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -40,6 +40,8 @@ Woordherbewerking Breng de suggestielijst terug door Backspace te drukken aan het einde van een woord.\n(Niet ondersteund in sommige apps) Talen + Woordenparen leren + Veelgebruikte zinnen onthouden om de nauwkeurigheid van suggesties te verbeteren.\n(Veroorzaakt minimale vertraging op apparaten met < 2GB RAM) Statusicoon Een icoon tonen wanneer toetsenbordinvoer actief is. De volgorde van de toetsen omkeren diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 874b7e94..6514e0af 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -55,6 +55,8 @@ Vibrar ao pressionar uma tecla virtual. Ajuda + Aprender pares de palavras + Lembrar de frases comumente usadas para melhorar as sugestões de palavras.\n(Causa atraso mínimo em dispositivos com < 2 GB de RAM) Ícone de status Mostrar um ícone quando a digitação estiver ativa. Cancelar Carregamento diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index cb03c2e7..5d9e1789 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -28,6 +28,8 @@ Вернуть список предложений, нажав клавишу Backspace в конце слова.\n(Не поддерживается в некоторых приложениях) Языки Удалить все + Запоминать пары слов + Запоминать часто используемые фразы для улучшения предложений слов.\n(Вызывает минимальную задержку на устройствах с < 2 ГБ RAM) Иконка состояния Показывать иконку, когда активен режим ввода с клавиатуры. Отменить загрузку diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index ac6aad77..5544f8cf 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -42,6 +42,8 @@ Kelimenin sonunda Geri tuşuna basarak öneri listesini geri getirmek.\n(Bazı uygulamalarda desteklenmez) Diller + Kelime çiftlerini öğren + Öneri doğruluğunu artırmak için sık kullanılan ifadeleri hatırla.\n(2 GB RAM\'den az cihazlarda minimum gecikmeye neden olur) Durum Klavye girişi etkin olduğunda bir simge göster. Yüklemeyi İptal Et diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 5edc2c2c..cadca3ca 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -67,6 +67,8 @@ Зворотній порядок клавіш Використовуйте це налаштування, якщо у вас в першому ряді 7–8–9 замість 1–2–3. + Запам’ятовувати пари слів + Запам\'ятовувати часто вживані фрази для покращення пропозицій слів.\n(Спричиняє мінімальну затримку на пристроях з < 2 ГБ RAM) Іконка статусу Показати іконку, коли активне введення з клавіатури. Скасувати завантаження diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 919851cc..f6df7b8c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -64,6 +64,9 @@ No Auto Character for Double 0-key Press + Settings Font Size + Default + Large Always on Top Prevent other apps from covering %1$s or pushing it off the screen. Send messages with \"OK\" in Google Chat @@ -80,9 +83,8 @@ Suggestion list only Alignment in Landscape Mode On-screen Key Size - Settings Font Size - Default - Large + Learn Word Pairs + Remember commonly used phrases to improve the suggestions accuracy.\n(Causes minimal lag on devices with < 2GB RAM) Status Icon Show an icon when keyboard input is active. Reverse Key Order diff --git a/app/src/main/res/xml/prefs_screen_mode_predictive.xml b/app/src/main/res/xml/prefs_screen_mode_predictive.xml index 1c9f43de..39e62ae0 100644 --- a/app/src/main/res/xml/prefs_screen_mode_predictive.xml +++ b/app/src/main/res/xml/prefs_screen_mode_predictive.xml @@ -19,6 +19,12 @@ android:summary="@string/pref_auto_capitals_after_newline_summary" android:title="@string/pref_auto_capitals_after_newline" /> + +