added an compatibility option for hiding the composing text for apps like Deezer and Smouldering Durtles
This commit is contained in:
parent
3869ee06a7
commit
7e3d2c0062
28 changed files with 106 additions and 19 deletions
|
|
@ -49,17 +49,6 @@ public class InputType extends StandardInputType {
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* isDeezerSearchBar
|
||||
* The field for searching songs and artists in Deezer does not support composing text, which
|
||||
* prevents the user from typing normally. This hack detects the search field, so that we can
|
||||
* disable composing at the right place.
|
||||
*/
|
||||
public boolean isDeezerSearchBar() {
|
||||
return isAppInput("deezer.android.app", 32769) && field.imeOptions == 33554438;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* isDuoLingoReportBug
|
||||
* When reporting a bug in the Duolingo app, the text field is missing the TYPE_TEXT flag, which
|
||||
|
|
|
|||
|
|
@ -30,14 +30,13 @@ public abstract class TypingHandler extends KeyPadHandler {
|
|||
// internal settings/data
|
||||
@NonNull protected AppHacks appHacks = new AppHacks(null, null, null);
|
||||
@NonNull protected InputType inputType = new InputType(null, null);
|
||||
@NonNull protected TextField textField = new TextField(null, null);
|
||||
@NonNull protected TextField textField = new TextField(null, null, null);
|
||||
@NonNull protected TextSelection textSelection = new TextSelection(this,null);
|
||||
@NonNull protected SuggestionOps suggestionOps = new SuggestionOps(null, null, null, null, null);
|
||||
|
||||
// input
|
||||
protected ArrayList<Integer> allowedInputModes = new ArrayList<>();
|
||||
@NonNull
|
||||
protected InputMode mInputMode = InputMode.getInstance(null, null, null, null, InputMode.MODE_PASSTHROUGH);
|
||||
@NonNull protected ArrayList<Integer> allowedInputModes = new ArrayList<>();
|
||||
@NonNull protected InputMode mInputMode = InputMode.getInstance(null, null, null, null, InputMode.MODE_PASSTHROUGH);
|
||||
|
||||
// language
|
||||
protected ArrayList<Integer> mEnabledLanguages;
|
||||
|
|
@ -85,7 +84,7 @@ public abstract class TypingHandler extends KeyPadHandler {
|
|||
}
|
||||
|
||||
inputType = new InputType(connection, field);
|
||||
textField = new TextField(connection, field);
|
||||
textField = new TextField(settings, connection, field);
|
||||
textSelection = new TextSelection(this, connection);
|
||||
|
||||
// changing the TextField and notifying all interested classes is an atomic operation
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ public class SuggestionOps {
|
|||
delayedAcceptHandler = new Handler(Looper.getMainLooper());
|
||||
this.onDelayedAccept = onDelayedAccept != null ? onDelayedAccept : s -> {};
|
||||
|
||||
this.textField = textField != null ? textField : new TextField(null, null);
|
||||
this.textField = textField != null ? textField : new TextField(null, null, null);
|
||||
if (settings != null && mainView != null && onSuggestionClick != null) {
|
||||
suggestionBar = new SuggestionsBar(settings, mainView, onSuggestionClick);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,11 +27,11 @@ public class TextField extends InputField {
|
|||
private final boolean isNonText;
|
||||
|
||||
|
||||
public TextField(InputConnection inputConnection, EditorInfo inputField) {
|
||||
public TextField(SettingsStore settings, InputConnection inputConnection, EditorInfo inputField) {
|
||||
super(inputConnection, inputField);
|
||||
|
||||
InputType inputType = new InputType(inputConnection, inputField);
|
||||
isComposingSupported = !inputType.isNumeric() && !inputType.isLimited() && !inputType.isRustDesk() && !inputType.isDeezerSearchBar();
|
||||
isComposingSupported = !inputType.isNumeric() && !inputType.isLimited() && !inputType.isRustDesk() && (settings == null || settings.getAllowComposingText());
|
||||
isNonText = !inputType.isText();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -69,4 +69,8 @@ class SettingsHacks extends BaseSettings {
|
|||
public void setDonationsVisible(boolean yes) {
|
||||
prefsEditor.putBoolean("pref_show_donations", yes).apply();
|
||||
}
|
||||
|
||||
public boolean getAllowComposingText() {
|
||||
return prefs.getBoolean("pref_allow_composing_text", true);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -112,6 +112,7 @@
|
|||
<string name="pref_abc_auto_accept_fast">Бърз</string>
|
||||
<string name="pref_abc_auto_accept_normal">Умерен</string>
|
||||
<string name="pref_abc_auto_accept_slow">Бавен</string>
|
||||
<string name="pref_allow_composing_text_summary">Думите ще бъдат видими в текстовите полета, докато пишете. Изключете за приложения, които прекъсват нормалното писане.</string>
|
||||
<string name="pref_alternative_suggestion_scrolling">Алтернативен метод за превъртане на думи</string>
|
||||
<string name="pref_alternative_suggestion_scrolling_summary">Включете, ако понякога не виждате целия списък с думи или не може да стигнете до всички.</string>
|
||||
<string name="pref_arrow_keys_visible_summary">Показвай клавишите за избор на думи от двете страни на списъка с предложения.</string>
|
||||
|
|
@ -203,4 +204,5 @@
|
|||
<string name="donate_hold_to_open">Натиснете и задръжте, за да отворите в браузъра.</string>
|
||||
<string name="function_already_assigned">Бутон „%1$s“ е зададен за функция „%2$s“. Искате ли да го зададете за „%3$s“?</string>
|
||||
<string name="function_assign_instructions">* Натиснете или задръжте клавиш, за да го присвоите на функцията „%1$s“.\n\n* Натиснете 0, за да отмените.\n\n* Натиснете 2, за да деактивирате функцията.</string>
|
||||
<string name="pref_allow_composing_text">Показвай текст при съставяне</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
<string name="pref_abc_auto_accept_fast">Schnell</string>
|
||||
<string name="pref_abc_auto_accept_normal">Mäßig</string>
|
||||
<string name="pref_abc_auto_accept_slow">Langsam</string>
|
||||
<string name="pref_allow_composing_text_summary">Wörter in Textfeldern beim Tippen anzeigen. Deaktivieren, wenn eine App das Tippen unterbricht.</string>
|
||||
<string name="pref_alternative_suggestion_scrolling">Alternative Wort-Scroll-Methode</string>
|
||||
<string name="pref_alternative_suggestion_scrolling_summary">Aktivieren Sie, wenn Sie manchmal nicht alle Vorschläge sehen können oder Probleme beim Scrollen haben.</string>
|
||||
<string name="pref_arrow_keys_visible_summary">Bildlauf-Tasten auf beiden Seiten der Wortvorschlagsliste anzeigen.</string>
|
||||
|
|
@ -205,4 +206,5 @@
|
|||
<string name="function_next_suggestion">Nächster Vorschlag</string>
|
||||
<string name="function_filter_clear">Filter löschen</string>
|
||||
<string name="function_show_settings">Einstellungsbildschirm anzeigen</string>
|
||||
<string name="pref_allow_composing_text">Zusammengesetzten Text anzeigen</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -66,6 +66,7 @@
|
|||
<string name="pref_abc_auto_accept_fast">Rápido</string>
|
||||
<string name="pref_abc_auto_accept_normal">Moderado</string>
|
||||
<string name="pref_abc_auto_accept_slow">Lento</string>
|
||||
<string name="pref_allow_composing_text_summary">Mostrar las palabras en los campos de texto al escribirlas. Desactivar cuando una aplicación interrumpa la escritura.</string>
|
||||
<string name="pref_alternative_suggestion_scrolling">Método alternativo de desplazamiento de sugerencias</string>
|
||||
<string name="pref_alternative_suggestion_scrolling_summary">Habilítelo si a veces no puedes ver todas las sugerencias o tienes problemas para desplazarte por ellas.</string>
|
||||
<string name="pref_arrow_keys_visible_summary">Mostrar teclas de desplazamiento en ambos lados de la lista de sugerencias de palabras.</string>
|
||||
|
|
@ -203,4 +204,5 @@
|
|||
<string name="donate_hold_to_open">Mantén presionado para abrir en un navegador.</string>
|
||||
<string name="function_already_assigned">La tecla \"%1$s\" ya está asignada a la función \"%2$s\". ¿Desea asignarla a \"%3$s\"?</string>
|
||||
<string name="function_assign_instructions">* Presione o mantenga pulsada una tecla para asignarla a la función \"%1$s\".\n\n* Presione 0 para cancelar.\n\n* Presione 2 para desactivar la función.</string>
|
||||
<string name="pref_allow_composing_text">Mostrar texto en composición</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@
|
|||
<string name="pref_abc_auto_accept_fast">Rapide</string>
|
||||
<string name="pref_abc_auto_accept_normal">Modérée</string>
|
||||
<string name="pref_abc_auto_accept_slow">Lente</string>
|
||||
<string name="pref_allow_composing_text_summary">Afficher les mots dans les champs de texte en les tapant. Désactiver lorsqu\'une application interrompt la saisie.</string>
|
||||
<string name="pref_alternative_suggestion_scrolling">Méthode alternative de défilement des mots</string>
|
||||
<string name="pref_alternative_suggestion_scrolling_summary">Activez si parfois vous ne pouvez pas voir toutes les suggestions ou vous avez des difficultés à les défiler.</string>
|
||||
<string name="pref_arrow_keys_visible_summary">Afficher les touches de défilement des deux côtés de la liste de suggestions de mots.</string>
|
||||
|
|
@ -203,4 +204,5 @@
|
|||
<string name="function_already_assigned">La touche \"%1$s\" est déjà attribuée à la fonction \"%2$s\". Voulez-vous l’attribuer à \"%3$s\" ?</string>
|
||||
<string name="function_assign_instructions">* Appuyez ou maintenez une touche pour l’attribuer à la fonction \"%1$s\".\n\n* Appuyez sur 0 pour annuler.\n\n* Appuyez sur 2 pour désactiver la fonction.</string>
|
||||
<string name="key_hold_key">(maintenir)</string>
|
||||
<string name="pref_allow_composing_text">Afficher texte en cours</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
<string name="pref_abc_auto_accept_fast">Veloce</string>
|
||||
<string name="pref_abc_auto_accept_normal">Moderata</string>
|
||||
<string name="pref_abc_auto_accept_slow">Lenta</string>
|
||||
<string name="pref_allow_composing_text_summary">Mostra le parole nei campi di testo durante la digitazione. Disattiva quando un\'app interrompe la digitazione.</string>
|
||||
<string name="pref_alternative_suggestion_scrolling">Metodo alternativo di scorrimento delle suggerimenti</string>
|
||||
<string name="pref_alternative_suggestion_scrolling_summary">Abilitare se a volte non riesci a vedere tutti i suggerimenti o hai problemi a scorrerli.</string>
|
||||
<string name="pref_arrow_keys_visible_summary">Mostra i tasti di scorrimento su entrambi i lati della lista dei suggerimenti di parole.</string>
|
||||
|
|
@ -206,5 +207,6 @@
|
|||
<string name="function_next_mode">Modalità di input successiva</string>
|
||||
<string name="function_select_keyboard">Selezionare tastiera</string>
|
||||
<string name="function_show_settings">Mostrare impostazioni</string>
|
||||
<string name="pref_allow_composing_text">Mostra testo in composizione</string>
|
||||
</resources>
|
||||
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@
|
|||
<string name="pref_abc_auto_accept_fast">מהיר</string>
|
||||
<string name="pref_abc_auto_accept_normal">בינוני</string>
|
||||
<string name="pref_abc_auto_accept_slow">איטי</string>
|
||||
<string name="pref_allow_composing_text_summary">הצגת המילים בשדות טקסט בעת ההקלדה. השבת כאשר אפליקציה מפריעה להקלדה.</string>
|
||||
<string name="pref_alternative_suggestion_scrolling">שיטת גלילת מילים אלטרנטיבית</string>
|
||||
<string name="pref_alternative_suggestion_scrolling_summary">הפעל אם לפעמים אי אפשר לראות את כל ההצעות או יש בעיות בגלילתן.</string>
|
||||
<string name="pref_arrow_keys_visible_summary">הצגת מקשי גלילה בשני צידי רשימת הצעות המילים.</string>
|
||||
|
|
@ -210,4 +211,5 @@
|
|||
<string name="function_filter_clear">נקה מסנן</string>
|
||||
<string name="function_edit_text">ערוך טקסט</string>
|
||||
<string name="function_previous_suggestion">הצעה קודמת</string>
|
||||
<string name="pref_allow_composing_text">הצגת טקסט בהרכבה</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@
|
|||
<string name="pref_abc_auto_accept_fast">Greitas</string>
|
||||
<string name="pref_abc_auto_accept_normal">Vidutinis</string>
|
||||
<string name="pref_abc_auto_accept_slow">Lėtas</string>
|
||||
<string name="pref_allow_composing_text_summary">Rodyti žodžius teksto laukuose rašant. Išjungti, kai programa nutraukia rašymą.</string>
|
||||
<string name="pref_alternative_suggestion_scrolling">Alternatyvus slinkimo būdas per pasiūlytus žodžius</string>
|
||||
<string name="pref_alternative_suggestion_scrolling_summary">Įjunkite, jei kartais nematote viso žodžių sąrašo arba kyla problemų juos pasirenkant.</string>
|
||||
<string name="pref_arrow_keys_visible_summary">Rodyti slinkties klavišus abiejose žodžių pasiūlymų sąrašo pusėse.</string>
|
||||
|
|
@ -212,4 +213,5 @@
|
|||
<string name="donate_hold_to_open">Paspauskite ir laikykite, kad atidarytumėte naršyklėje.</string>
|
||||
<string name="function_already_assigned">Klavišas „%1$s“ jau priskirtas funkcijai „%2$s“. Ar norite jį priskirti „%3$s“?</string>
|
||||
<string name="function_assign_instructions">* Paspauskite arba palaikykite klavišą, kad priskirtumėte jį funkcijai „%1$s“.\n\n* Paspauskite 0, kad atšauktumėte.\n\n* Paspauskite 2, kad išjungtumėte funkciją.</string>
|
||||
<string name="pref_allow_composing_text">Rodyti rašomą tekstą</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
<string name="pref_abc_auto_accept_fast">Snel</string>
|
||||
<string name="pref_abc_auto_accept_normal">Gematigd</string>
|
||||
<string name="pref_abc_auto_accept_slow">Langzaam</string>
|
||||
<string name="pref_allow_composing_text_summary">Woorden weergeven in tekstvelden tijdens het typen. Uitschakelen wanneer een app het typen onderbreekt.</string>
|
||||
<string name="pref_alternative_suggestion_scrolling">Alternatieve suggestiescrolmethode</string>
|
||||
<string name="pref_alternative_suggestion_scrolling_summary">Inschakelen als je soms niet alle suggesties kunt zien of problemen hebt met het scrollen.</string>
|
||||
<string name="pref_arrow_keys_visible">Pijltoetsen</string>
|
||||
|
|
@ -204,4 +205,5 @@
|
|||
<string name="function_next_suggestion">Volgende suggestie</string>
|
||||
<string name="function_next_language">Volgende taal</string>
|
||||
<string name="function_filter_clear">Filter wissen</string>
|
||||
<string name="pref_allow_composing_text">Compositietekst weergeven</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@
|
|||
<string name="pref_abc_auto_accept_fast">Rápido</string>
|
||||
<string name="pref_abc_auto_accept_normal">Moderado</string>
|
||||
<string name="pref_abc_auto_accept_slow">Lento</string>
|
||||
<string name="pref_allow_composing_text_summary">Exibir as palavras nos campos de texto ao digitá-las. Desativar quando um app interromper a digitação.</string>
|
||||
<string name="pref_alternative_suggestion_scrolling">Método alternativo de rolagem de sugestões</string>
|
||||
<string name="pref_alternative_suggestion_scrolling_summary">Ative se às vezes não conseguir ver todas as sugestões ou tiver problemas para rolá-las.</string>
|
||||
<string name="pref_arrow_keys_visible_summary">Mostrar teclas de rolagem em ambos os lados da lista de sugestões de palavras.</string>
|
||||
|
|
@ -210,4 +211,5 @@
|
|||
<string name="function_filter_clear">Limpar Filtro</string>
|
||||
<string name="function_edit_text">Editar Texto</string>
|
||||
<string name="function_previous_suggestion">Sugestão Anterior</string>
|
||||
<string name="pref_allow_composing_text">Mostrar texto em composição</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@
|
|||
<string name="pref_abc_auto_accept_fast">Быстро</string>
|
||||
<string name="pref_abc_auto_accept_normal">Умеренное</string>
|
||||
<string name="pref_abc_auto_accept_slow">Медленное</string>
|
||||
<string name="pref_allow_composing_text_summary">Отображать слова в текстовых полях при вводе. Отключать, когда приложение прерывает ввод.</string>
|
||||
<string name="pref_alternative_suggestion_scrolling">Альтернативный метод прокрутки слов</string>
|
||||
<string name="pref_alternative_suggestion_scrolling_summary">Включите, если иногда вы не видите все слова или у вас возникают проблемы с их прокруткой.</string>
|
||||
<string name="pref_arrow_keys_visible_summary">Показывать клавиши прокрутки с обеих сторон списка предложенных слов.</string>
|
||||
|
|
@ -203,4 +204,5 @@
|
|||
<string name="donate_hold_to_open">Нажмите и удерживайте, чтобы открыть в браузере.</string>
|
||||
<string name="function_already_assigned">Клавиша «%1$s» уже назначена на функцию «%2$s». Назначить её на «%3$s»?</string>
|
||||
<string name="function_assign_instructions">* Нажмите или удерживайте клавишу, чтобы назначить её на функцию «%1$s».\n\n* Нажмите 0, чтобы отменить.\n\n* Нажмите 2, чтобы отключить функцию.</string>
|
||||
<string name="pref_allow_composing_text">Показывать текст при вводе</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
<string name="pref_abc_auto_accept_fast">Hızlı</string>
|
||||
<string name="pref_abc_auto_accept_normal">Normal</string>
|
||||
<string name="pref_abc_auto_accept_slow">Yavaş</string>
|
||||
<string name="pref_allow_composing_text_summary">Yazarken kelimeleri metin alanlarında göster. Bir uygulama yazmayı kesintiye uğrattığında devre dışı bırak.</string>
|
||||
<string name="pref_alternative_suggestion_scrolling">Alternatif Kaydırmalı Tahmin</string>
|
||||
<string name="pref_alternative_suggestion_scrolling_summary">Tüm önerileri göremediğiniz ya da tahminlerde kaydırma yapamadığınız zaman etkinleştirin.</string>
|
||||
<string name="pref_arrow_keys_visible_summary">Kelime öneri listesinin her iki tarafında kaydırma tuşlarını göster.</string>
|
||||
|
|
@ -208,4 +209,5 @@
|
|||
<string name="function_already_assigned">\"%1$s\" tuşu zaten \"%2$s\" işlevine atanmış. Onu \"%3$s\" işlevine atamak ister misiniz?</string>
|
||||
<string name="function_assign_instructions">* \"%1$s\" işlevine atamak için bir tuşa basın veya basılı tutun.\n\n* İptal etmek için 0\'a basın.\n\n* İşlevi devre dışı bırakmak için 2\'ye basın.</string>
|
||||
<string name="key_hold_key">(basılı tut)</string>
|
||||
<string name="pref_allow_composing_text">Yazılan metni göster</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@
|
|||
<string name="pref_abc_auto_accept_fast">Швидко</string>
|
||||
<string name="pref_abc_auto_accept_normal">Середній</string>
|
||||
<string name="pref_abc_auto_accept_slow">Повільний</string>
|
||||
<string name="pref_allow_composing_text_summary">Відображати слова в текстових полях під час введення. Вимикати, коли застосунок перериває введен</string>
|
||||
<string name="pref_alternative_suggestion_scrolling">Альтернативний метод прокрутки пропозицій</string>
|
||||
<string name="pref_alternative_suggestion_scrolling_summary">Увімкніть, якщо ви іноді не бачите всіх пропозицій або не можете їх прокрутити.</string>
|
||||
<string name="pref_arrow_keys_visible_summary">Показувати клавіші прокрутки з обох боків списку пропонованих слів.</string>
|
||||
|
|
@ -214,4 +215,5 @@
|
|||
<string name="donate_hold_to_open">Натисніть і утримуйте, щоб відкрити в браузері.</string>
|
||||
<string name="function_already_assigned">\"%1$s\" tuşu zaten \"%2$s\" işlevine atanmış. Onu \"%3$s\" işlevine atamak ister misiniz?</string>
|
||||
<string name="function_assign_instructions">* Натисніть або утримуйте клавішу, щоб призначити її функції «%1$s».\n\n* Натисніть 0, щоб скасувати.\n\n* Натисніть 2, щоб вимкнути функцію.</string>
|
||||
<string name="pref_allow_composing_text">Показувати текст під час введення</string>
|
||||
</resources>
|
||||
|
|
|
|||
|
|
@ -47,6 +47,8 @@
|
|||
<string name="pref_abc_auto_accept_fast">Quick</string>
|
||||
<string name="pref_abc_auto_accept_normal">Moderate</string>
|
||||
<string name="pref_abc_auto_accept_slow">Slow</string>
|
||||
<string name="pref_allow_composing_text">Show Composing Text</string>
|
||||
<string name="pref_allow_composing_text_summary">Display the words in text fields while typing them. Disable when an app interrupts typing.</string>
|
||||
<string name="pref_alternative_suggestion_scrolling">Alternative Suggestion Scrolling Method</string>
|
||||
<string name="pref_alternative_suggestion_scrolling_summary">Enable if sometimes you can not see all suggestions or have trouble scrolling them.</string>
|
||||
<string name="pref_arrow_keys_visible">Arrow Keys</string>
|
||||
|
|
|
|||
|
|
@ -41,6 +41,12 @@
|
|||
android:key="pref_key_pad_debounce_time"
|
||||
android:title="@string/pref_hack_key_pad_debounce_time" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:defaultValue="true"
|
||||
android:key="pref_allow_composing_text"
|
||||
android:summary="@string/pref_allow_composing_text_summary"
|
||||
android:title="@string/pref_allow_composing_text" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:defaultValue="false"
|
||||
android:key="pref_upside_down_keys"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue