1
0
Fork 0

added a setting to disable word pair learning and done final speed optimizations

This commit is contained in:
sspanak 2024-09-06 18:00:59 +03:00 committed by Dimo Karaivanov
parent a77f14cacb
commit 7fc9a197e7
16 changed files with 40 additions and 6 deletions

View file

@ -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<String> 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;
}

View file

@ -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;

View file

@ -27,6 +27,8 @@
<string name="pref_backspace_recomposing_summary">Връщай списъка с предложения при натискане на Backspace на края на дума.\n(Не работи в някои приложения.)</string>
<string name="pref_choose_languages">Езици</string>
<string name="dictionary_truncate_title">Изтрий всички</string>
<string name="pref_predict_word_pairs">Запомняне на двойки думи</string>
<string name="pref_predict_word_pairs_summary">Запомняй често ползвани фрази, за по-точно подсказване на думи.\n(Причинява минимално забавяне на устройства с &lt; 2GB RAM)</string>
<string name="pref_status_icon">Икона за състояние</string>
<string name="pref_status_icon_summary">Показвай икона, когато въвеждането с клавиатура е активно.</string>
<string name="dictionary_cancel_load">Отмени зареждането</string>

View file

@ -41,6 +41,8 @@
<string name="pref_backspace_recomposing">Wortnachbearbeitung</string>
<string name="pref_backspace_recomposing_summary">Die Vorschlagsliste zurückbringen, indem Sie am Ende eines Wortes die Rücktaste drücken.\n(Nicht in allen Apps unterstützt)</string>
<string name="pref_choose_languages">Sprachen</string>
<string name="pref_predict_word_pairs">Wortpaare lernen</string>
<string name="pref_predict_word_pairs_summary">Häufig verwendete Phrasen merken, um die Genauigkeit der Vorschläge zu verbessern.\n(Verursacht minimale Verzögerung auf Geräten mit &lt; 2GB RAM)</string>
<string name="pref_status_icon">Statusicon</string>
<string name="pref_status_icon_summary">Ein Icon anzeigen, wenn die Tastatureingabe aktiv ist.</string>
<string name="pref_upside_down_keys">Die Reihenfolge der Tasten umkehren</string>

View file

@ -50,6 +50,8 @@
<string name="dictionary_truncate_title">Borrar todos</string>
<string name="dictionary_truncate_unselected">Borrar no seleccionados</string>
<string name="dictionary_truncated">Diccionario eliminado con éxito.</string>
<string name="pref_predict_word_pairs">Aprender pares de palabras</string>
<string name="pref_predict_word_pairs_summary">Recordar frases de uso común para mejorar las sugerencias de palabras.\n(Causa retraso mínimo en dispositivos con &lt; 2 GB de RAM)</string>
<string name="pref_status_icon">Icono de estado</string>
<string name="pref_status_icon_summary">Mostrar un icono cuando la escritura esté activa.</string>
<string name="dictionary_cancel_load">Cancelar la carga</string>

View file

@ -28,6 +28,8 @@
<string name="pref_backspace_recomposing_summary">Ramener la liste de suggestions en appuyant sur Retour arrière à la fin d\'un mot.\n(Non pris en charge dans certaines applications)</string>
<string name="pref_choose_languages">Langues</string>
<string name="dictionary_truncate_title">Supprimer tous</string>
<string name="pref_predict_word_pairs">Mémoriser les paires de mots</string>
<string name="pref_predict_word_pairs_summary">Apprendre des phrases couramment utilisées pour améliorer les suggestions.\n(Cause un léger ralentissement sur les appareils avec &lt; 2GB de RAM)</string>
<string name="pref_status_icon">Icône d\'état</string>
<string name="pref_status_icon_summary">Afficher une icône lorsque la saisie au clavier est active</string>
<string name="dictionary_cancel_load">Annuler le chargement</string>

View file

@ -44,6 +44,8 @@
<string name="pref_backspace_recomposing_summary">Riportare l\'elenco dei suggerimenti premendo Backspace alla fine di una parola.\n(Non supportato in alcune app)</string>
<string name="pref_choose_languages">Lingue</string>
<string name="pref_predict_word_pairs">Memorizzare coppie di parole</string>
<string name="pref_predict_word_pairs_summary">Ricordare frasi comunemente usate per migliorare i suggerimenti di parole.\n(Provoca un leggero ritardo su dispositivi con &lt; 2GB di RAM)</string>
<string name="pref_status_icon">Icona di stato</string>
<string name="pref_status_icon_summary">Mostrare un\'icona quando la digitazione è attiva.</string>
<string name="dictionary_cancel_load">Annullare il caricamento</string>

View file

@ -54,6 +54,8 @@
<string name="pref_haptic_feedback_summary">לרטוט בעת לחיצה על מקש וירטואלי.</string>
<string name="pref_help">עזרה</string>
<string name="pref_predict_word_pairs">ללמוד צמדי מילים</string>
<string name="pref_predict_word_pairs_summary">לזכור ביטויים נפוצים כדי לשפר את דיוק ההצעות.\n(גורם לפיגור מינימלי במכשירים עם פחות מ-2GB RAM)</string>
<string name="pref_status_icon">סמל מצב</string>
<string name="pref_status_icon_summary">הצגת סמל כאשר קלט המקלדת פעיל.</string>
<string name="pref_upside_down_keys">להפוך את סדר המקשים</string>

View file

@ -60,6 +60,8 @@
<string name="pref_upside_down_keys">Atvirkštinė klavišų tvarka</string>
<string name="pref_upside_down_keys_summary">Įjunkite šį nustatymą jei pirmoje eilutėje turite 789, o ne 123.</string>
<string name="pref_predict_word_pairs">Išmokti žodžių poras</string>
<string name="pref_predict_word_pairs_summary">Įsiminti dažnai naudojamas frazes, kad pagerintumėte žodžių pasiūlymus.\n(Sukelia minimalų vėlavimą įrenginiuose, kuriuose yra &lt; 2 GB RAM)</string>
<string name="pref_status_icon">Būsenos piktograma</string>
<string name="pref_status_icon_summary">Rodyti piktogramą, kai aktyvus klaviatūros įvedimas</string>
<string name="dictionary_cancel_load">Atšaukti įkėlimą</string>

View file

@ -40,6 +40,8 @@
<string name="pref_backspace_recomposing">Woordherbewerking</string>
<string name="pref_backspace_recomposing_summary">Breng de suggestielijst terug door Backspace te drukken aan het einde van een woord.\n(Niet ondersteund in sommige apps)</string>
<string name="pref_choose_languages">Talen</string>
<string name="pref_predict_word_pairs">Woordenparen leren</string>
<string name="pref_predict_word_pairs_summary">Veelgebruikte zinnen onthouden om de nauwkeurigheid van suggesties te verbeteren.\n(Veroorzaakt minimale vertraging op apparaten met &lt; 2GB RAM)</string>
<string name="pref_status_icon">Statusicoon</string>
<string name="pref_status_icon_summary">Een icoon tonen wanneer toetsenbordinvoer actief is.</string>
<string name="pref_upside_down_keys">De volgorde van de toetsen omkeren</string>

View file

@ -55,6 +55,8 @@
<string name="pref_haptic_feedback_summary">Vibrar ao pressionar uma tecla virtual.</string>
<string name="pref_help">Ajuda</string>
<string name="pref_predict_word_pairs">Aprender pares de palavras</string>
<string name="pref_predict_word_pairs_summary">Lembrar de frases comumente usadas para melhorar as sugestões de palavras.\n(Causa atraso mínimo em dispositivos com &lt; 2 GB de RAM)</string>
<string name="pref_status_icon">Ícone de status</string>
<string name="pref_status_icon_summary">Mostrar um ícone quando a digitação estiver ativa.</string>
<string name="dictionary_cancel_load">Cancelar Carregamento</string>

View file

@ -28,6 +28,8 @@
<string name="pref_backspace_recomposing_summary">Вернуть список предложений, нажав клавишу Backspace в конце слова.\n(Не поддерживается в некоторых приложениях)</string>
<string name="pref_choose_languages">Языки</string>
<string name="dictionary_truncate_title">Удалить все</string>
<string name="pref_predict_word_pairs">Запоминать пары слов</string>
<string name="pref_predict_word_pairs_summary">Запоминать часто используемые фразы для улучшения предложений слов.\n(Вызывает минимальную задержку на устройствах с &lt; 2 ГБ RAM)</string>
<string name="pref_status_icon">Иконка состояния</string>
<string name="pref_status_icon_summary">Показывать иконку, когда активен режим ввода с клавиатуры.</string>
<string name="dictionary_cancel_load">Отменить загрузку</string>

View file

@ -42,6 +42,8 @@
<string name="pref_backspace_recomposing_summary">Kelimenin sonunda Geri tuşuna basarak öneri listesini geri getirmek.\n(Bazı uygulamalarda desteklenmez)</string>
<string name="pref_choose_languages">Diller</string>
<string name="pref_predict_word_pairs">Kelime çiftlerini öğren</string>
<string name="pref_predict_word_pairs_summary">Ö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)</string>
<string name="pref_status_icon">Durum</string>
<string name="pref_status_icon_summary">Klavye girişi etkin olduğunda bir simge göster.</string>
<string name="dictionary_cancel_load">Yüklemeyi İptal Et</string>

View file

@ -67,6 +67,8 @@
<string name="pref_upside_down_keys">Зворотній порядок клавіш</string>
<string name="pref_upside_down_keys_summary">Використовуйте це налаштування, якщо у вас в першому ряді 789 замість 123.</string>
<string name="pref_predict_word_pairs">Запам’ятовувати пари слів</string>
<string name="pref_predict_word_pairs_summary">Запам\'ятовувати часто вживані фрази для покращення пропозицій слів.\n(Спричиняє мінімальну затримку на пристроях з &lt; 2 ГБ RAM)</string>
<string name="pref_status_icon">Іконка статусу</string>
<string name="pref_status_icon_summary">Показати іконку, коли активне введення з клавіатури.</string>
<string name="dictionary_cancel_load">Скасувати завантаження</string>

View file

@ -64,6 +64,9 @@
<string name="pref_dark_theme_no">No</string>
<string name="pref_dark_theme_auto">Auto</string>
<string name="pref_double_zero_char">Character for Double 0-key Press</string>
<string name="pref_font_size">Settings Font Size</string>
<string name="pref_font_size_default">Default</string>
<string name="pref_font_size_large">Large</string>
<string name="pref_hack_always_on_top">Always on Top</string>
<string name="pref_hack_always_on_top_summary">Prevent other apps from covering %1$s or pushing it off the screen.</string>
<string name="pref_hack_google_chat">Send messages with \"OK\" in Google Chat</string>
@ -80,9 +83,8 @@
<string name="pref_layout_tray">Suggestion list only</string>
<string name="pref_numpad_alignment">Alignment in Landscape Mode</string>
<string name="pref_numpad_key_height">On-screen Key Size</string>
<string name="pref_font_size">Settings Font Size</string>
<string name="pref_font_size_default">Default</string>
<string name="pref_font_size_large">Large</string>
<string name="pref_predict_word_pairs">Learn Word Pairs</string>
<string name="pref_predict_word_pairs_summary">Remember commonly used phrases to improve the suggestions accuracy.\n(Causes minimal lag on devices with &lt; 2GB RAM)</string>
<string name="pref_status_icon">Status Icon</string>
<string name="pref_status_icon_summary">Show an icon when keyboard input is active.</string>
<string name="pref_upside_down_keys">Reverse Key Order</string>

View file

@ -19,6 +19,12 @@
android:summary="@string/pref_auto_capitals_after_newline_summary"
android:title="@string/pref_auto_capitals_after_newline" />
<SwitchPreferenceCompat
android:defaultValue="true"
android:key="pref_predict_word_pairs"
android:summary="@string/pref_predict_word_pairs_summary"
android:title="@string/pref_predict_word_pairs" />
<SwitchPreferenceCompat
android:defaultValue="true"
android:key="backspace_recomposing"