added new visualization hacks for mitigating problems on Sonim phones
This commit is contained in:
parent
0c32a2f113
commit
72a26c920d
22 changed files with 231 additions and 48 deletions
|
|
@ -33,8 +33,12 @@ public class DeviceInfo {
|
|||
return Build.MANUFACTURER.equals("Sonimtech");
|
||||
}
|
||||
|
||||
public static boolean isSonimXP3900() {
|
||||
return isSonim() && Build.MODEL.contains("XP3900");
|
||||
public static boolean isSonimGen1(Context context) {
|
||||
return isSonim() && noTouchScreen(context) && Build.VERSION.SDK_INT < Build.VERSION_CODES.P;
|
||||
}
|
||||
|
||||
public static boolean isSonimGen2(Context context) {
|
||||
return isSonim() && noTouchScreen(context) && Build.VERSION.SDK_INT <= Build.VERSION_CODES.R;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
|
|
|
|||
|
|
@ -45,17 +45,19 @@ public class TraditionalT9 extends MainViewOps {
|
|||
}
|
||||
|
||||
|
||||
@Override
|
||||
public View onCreateInputView() {
|
||||
return createMainView();
|
||||
}
|
||||
// Some devices have their own super.onCreateXxxView(), which does some magic allowing our MainView to remain visible.
|
||||
// This is why we must call the super method, instead of returning null, as in the AOSP code.
|
||||
@Override public View onCreateInputView() { return settings.getCandidatesView() ? super.onCreateInputView() : createMainView(); }
|
||||
@Override public View onCreateCandidatesView() { return settings.getCandidatesView() ? createMainView() : super.onCreateCandidatesView(); }
|
||||
|
||||
|
||||
@Override
|
||||
public void onComputeInsets(Insets outInsets) {
|
||||
super.onComputeInsets(outInsets);
|
||||
if (shouldBeVisible() && DeviceInfo.isSonimXP3900()) {
|
||||
outInsets.contentTopInsets = 0; // otherwise the MainView wouldn't show up
|
||||
if (shouldBeVisible() && settings.clearInsets()) {
|
||||
// otherwise the MainView wouldn't show up on Sonim XP3900
|
||||
// or it expands the application window past the edge of the screen
|
||||
outInsets.contentTopInsets = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -122,7 +124,13 @@ public class TraditionalT9 extends MainViewOps {
|
|||
|
||||
|
||||
private void initTray() {
|
||||
setInputView(mainView.getView());
|
||||
if (settings.getCandidatesView()) {
|
||||
setCandidatesView(mainView.getView());
|
||||
setInputView(mainView.getBlankView());
|
||||
} else {
|
||||
setCandidatesView(mainView.getBlankView());
|
||||
setInputView(mainView.getView());
|
||||
}
|
||||
createSuggestionBar(mainView.getView());
|
||||
statusBar = new StatusBar(mainView.getView());
|
||||
}
|
||||
|
|
@ -144,7 +152,9 @@ public class TraditionalT9 extends MainViewOps {
|
|||
setDarkTheme();
|
||||
mainView.render();
|
||||
|
||||
if (!isInputViewShown()) {
|
||||
if (settings.getCandidatesView()) {
|
||||
setCandidatesViewShown(true);
|
||||
} else if (!isInputViewShown()) {
|
||||
updateInputViewShown();
|
||||
}
|
||||
}
|
||||
|
|
@ -178,6 +188,7 @@ public class TraditionalT9 extends MainViewOps {
|
|||
setStatusIcon(mInputMode);
|
||||
setStatusText(mInputMode.toString());
|
||||
|
||||
setCandidatesViewShown(false);
|
||||
if (isInputViewShown()) {
|
||||
updateInputViewShown();
|
||||
}
|
||||
|
|
@ -238,7 +249,7 @@ public class TraditionalT9 extends MainViewOps {
|
|||
}
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
||||
requestShowSelf(DeviceInfo.isSonimXP3900() ? 0 : InputMethodManager.SHOW_IMPLICIT);
|
||||
requestShowSelf(DeviceInfo.isSonimGen2(getApplicationContext()) ? 0 : InputMethodManager.SHOW_IMPLICIT);
|
||||
} else {
|
||||
showWindow(true);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,31 @@
|
|||
package io.github.sspanak.tt9.preferences.items;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.SwitchPreferenceCompat;
|
||||
|
||||
abstract public class ItemSwitch {
|
||||
protected final SwitchPreferenceCompat item;
|
||||
|
||||
public ItemSwitch(SwitchPreferenceCompat item) {
|
||||
this.item = item;
|
||||
}
|
||||
|
||||
public ItemSwitch enableClickHandler() {
|
||||
if (item != null) {
|
||||
item.setOnPreferenceChangeListener(this::onClick);
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
protected boolean onClick(Preference p, Object newValue) {
|
||||
return true;
|
||||
}
|
||||
|
||||
public ItemSwitch populate() {
|
||||
item.setChecked(getDefaultValue());
|
||||
return this;
|
||||
}
|
||||
|
||||
abstract protected boolean getDefaultValue();
|
||||
}
|
||||
|
|
@ -32,6 +32,15 @@ public class AppearanceScreen extends BaseScreenFragment {
|
|||
.preview()
|
||||
.enableClickHandler();
|
||||
|
||||
(new ItemCandidatesView(findPreference(ItemCandidatesView.NAME), activity.getSettings()))
|
||||
.populate()
|
||||
.enableClickHandler();
|
||||
|
||||
(new ItemClearInsets(findPreference(ItemClearInsets.NAME), activity.getSettings()))
|
||||
.populate()
|
||||
.enableClickHandler();
|
||||
|
||||
|
||||
resetFontSize(true);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,32 @@
|
|||
package io.github.sspanak.tt9.preferences.screens.appearance;
|
||||
|
||||
import androidx.preference.SwitchPreferenceCompat;
|
||||
|
||||
import io.github.sspanak.tt9.R;
|
||||
import io.github.sspanak.tt9.preferences.items.ItemSwitch;
|
||||
import io.github.sspanak.tt9.preferences.settings.SettingsStore;
|
||||
|
||||
public class ItemCandidatesView extends ItemSwitch {
|
||||
public static final String NAME = "pref_candidates_view";
|
||||
private final SettingsStore settings;
|
||||
|
||||
public ItemCandidatesView(SwitchPreferenceCompat item, SettingsStore settings) {
|
||||
super(item);
|
||||
this.settings = settings;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean getDefaultValue() {
|
||||
return settings.getCandidatesView();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemSwitch populate() {
|
||||
if (item != null) {
|
||||
String appName = item.getContext().getString(R.string.app_name_short);
|
||||
item.setSummary(item.getContext().getString(R.string.pref_hack_candidate_view_summary, appName));
|
||||
}
|
||||
|
||||
return super.populate();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
package io.github.sspanak.tt9.preferences.screens.appearance;
|
||||
|
||||
import androidx.preference.SwitchPreferenceCompat;
|
||||
|
||||
import io.github.sspanak.tt9.R;
|
||||
import io.github.sspanak.tt9.preferences.items.ItemSwitch;
|
||||
import io.github.sspanak.tt9.preferences.settings.SettingsStore;
|
||||
|
||||
public class ItemClearInsets extends ItemSwitch {
|
||||
public static final String NAME = "pref_clear_insets";
|
||||
private final SettingsStore settings;
|
||||
|
||||
public ItemClearInsets(SwitchPreferenceCompat item, SettingsStore settings) {
|
||||
super(item);
|
||||
this.settings = settings;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean getDefaultValue() {
|
||||
return settings.clearInsets();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemSwitch populate() {
|
||||
if (item != null) {
|
||||
String appName = item.getContext().getString(R.string.app_name_short);
|
||||
item.setSummary(item.getContext().getString(R.string.pref_hack_always_on_top_summary, appName));
|
||||
}
|
||||
|
||||
return super.populate();
|
||||
}
|
||||
}
|
||||
|
|
@ -4,42 +4,34 @@ import androidx.preference.Preference;
|
|||
import androidx.preference.SwitchPreferenceCompat;
|
||||
|
||||
import io.github.sspanak.tt9.preferences.PreferencesActivity;
|
||||
import io.github.sspanak.tt9.preferences.items.ItemSwitch;
|
||||
import io.github.sspanak.tt9.util.Permissions;
|
||||
|
||||
public class ItemDictionaryNotifications {
|
||||
public class ItemDictionaryNotifications extends ItemSwitch {
|
||||
public static final String NAME = "dictionary_notifications";
|
||||
|
||||
private final SwitchPreferenceCompat item;
|
||||
private final Permissions permissions;
|
||||
|
||||
|
||||
public ItemDictionaryNotifications(SwitchPreferenceCompat preference, PreferencesActivity activity) {
|
||||
super(preference);
|
||||
this.item = preference;
|
||||
this.permissions = new Permissions(activity);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public ItemDictionaryNotifications populate() {
|
||||
if (item == null) {
|
||||
return this;
|
||||
}
|
||||
|
||||
boolean noPermission = permissions.noPostNotifications();
|
||||
item.setVisible(noPermission);
|
||||
((SwitchPreferenceCompat) item).setChecked(!noPermission);
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
public ItemDictionaryNotifications enableClickHandler() {
|
||||
super.populate();
|
||||
if (item != null) {
|
||||
item.setOnPreferenceChangeListener(this::onClick);
|
||||
item.setVisible(!item.isChecked());
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean getDefaultValue() {
|
||||
return !permissions.noPostNotifications();
|
||||
}
|
||||
|
||||
protected boolean onClick(Preference p, Object value) {
|
||||
if (value == Boolean.TRUE || permissions.noPostNotifications()) {
|
||||
|
|
|
|||
|
|
@ -32,6 +32,14 @@ class SettingsHacks extends BaseSettings {
|
|||
return prefs.getBoolean("pref_alternative_suggestion_scrolling", defaultOn) ? 200 : 0;
|
||||
}
|
||||
|
||||
public boolean getCandidatesView() {
|
||||
return prefs.getBoolean("pref_candidates_view", DeviceInfo.isSonimGen1(context));
|
||||
}
|
||||
|
||||
public boolean clearInsets() {
|
||||
return prefs.getBoolean("pref_clear_insets", DeviceInfo.isSonimGen1(context) || DeviceInfo.isSonimGen2(context));
|
||||
}
|
||||
|
||||
public boolean getFbMessengerHack() {
|
||||
return prefs.getBoolean("pref_hack_fb_messenger", false);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,25 +16,25 @@ public class MainView {
|
|||
forceCreateView();
|
||||
}
|
||||
|
||||
public boolean createView() {
|
||||
SettingsStore settings = tt9.getSettings();
|
||||
public boolean createView() {
|
||||
SettingsStore settings = tt9.getSettings();
|
||||
|
||||
if (settings.isMainLayoutNumpad() && !(main instanceof MainLayoutNumpad)) {
|
||||
main = new MainLayoutNumpad(tt9);
|
||||
} else if (settings.isMainLayoutSmall() && (main == null || !main.getClass().equals(MainLayoutSmall.class))) {
|
||||
main = new MainLayoutSmall(tt9);
|
||||
} else if (settings.isMainLayoutTray() && (main == null || !main.getClass().equals(MainLayoutTray.class))) {
|
||||
main = new MainLayoutTray(tt9);
|
||||
} else if (settings.isMainLayoutStealth() && !(main instanceof MainLayoutStealth)) {
|
||||
main = new MainLayoutStealth(tt9);
|
||||
} else {
|
||||
return false;
|
||||
if (settings.isMainLayoutNumpad() && !(main instanceof MainLayoutNumpad)) {
|
||||
main = new MainLayoutNumpad(tt9);
|
||||
} else if (settings.isMainLayoutSmall() && (main == null || !main.getClass().equals(MainLayoutSmall.class))) {
|
||||
main = new MainLayoutSmall(tt9);
|
||||
} else if (settings.isMainLayoutTray() && (main == null || !main.getClass().equals(MainLayoutTray.class))) {
|
||||
main = new MainLayoutTray(tt9);
|
||||
} else if (settings.isMainLayoutStealth() && !(main instanceof MainLayoutStealth)) {
|
||||
main = new MainLayoutStealth(tt9);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
main.render();
|
||||
return true;
|
||||
}
|
||||
|
||||
main.render();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public void forceCreateView() {
|
||||
main = null;
|
||||
|
|
@ -44,6 +44,10 @@ public boolean createView() {
|
|||
}
|
||||
}
|
||||
|
||||
public View getBlankView() {
|
||||
return new MainLayoutStealth(tt9).getView();
|
||||
}
|
||||
|
||||
public View getView() {
|
||||
return main.getView();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,6 +42,10 @@
|
|||
<string name="pref_category_appearance">Облик</string>
|
||||
<string name="pref_category_function_keys">Бутони за бърз достъп</string>
|
||||
<string name="pref_hack_fb_messenger">Изпращай с „ОК“ във Facebook Messenger</string>
|
||||
<string name="pref_hack_always_on_top">Винаги видим</string>
|
||||
<string name="pref_hack_always_on_top_summary">Не позволява на другите приложения да покриват %1$s или да го изместват извън екрана.</string>
|
||||
<string name="pref_hack_candidate_view">Алтернативен метод за изобразяване</string>
|
||||
<string name="pref_hack_candidate_view_summary">Включете, ако %1$s става невидим в някои приложения или изобщо не се активира. След промяната на тази опция е необходимо да рестартирате.</string>
|
||||
<string name="pref_hack_google_chat">Изпращай съобщения с „ОК“ в Google Chat</string>
|
||||
<string name="key_back">Назад</string>
|
||||
<string name="key_call">Зелена слушалка</string>
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
<string name="pref_abc_auto_accept_normal">Mäßig</string>
|
||||
<string name="pref_abc_auto_accept_slow">Langsam</string>
|
||||
<string name="pref_alternative_suggestion_scrolling">Alternative Wort-Scroll-Methode</string>
|
||||
<string name="pref_alternative_suggestion_scrolling_summary">Aktivieren, wenn Sie manchmal nicht alle Vorschläge sehen können oder Probleme beim Scrollen haben (Android 9 oder älter).</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 (Android 9 oder älter).</string>
|
||||
<string name="pref_auto_text_case">Automatische Großbuchstaben</string>
|
||||
<string name="pref_auto_text_case_summary">Automatisch Sätze mit einem Großbuchstaben beginnen.</string>
|
||||
<string name="pref_auto_capitals_after_newline">Automatische Großbuchstaben auf jeder Zeile</string>
|
||||
|
|
@ -94,6 +94,10 @@
|
|||
<string name="donate_summary">Wenn Ihnen %1$s gefällt, könnten Sie die Entwicklung auf %2$s unterstützen.</string>
|
||||
<string name="pref_hack_fb_messenger">Mit \"OK\" in Facebook Messenger senden</string>
|
||||
<string name="pref_double_zero_char">Zeichen bei doppeltem Drücken der Taste „0“</string>
|
||||
<string name="pref_hack_always_on_top">Immer im Vordergrund</string>
|
||||
<string name="pref_hack_always_on_top_summary">Andere Anwendungen nicht erlauben, %1$s zu überdecken oder vom Bildschirm zu schieben.</string>
|
||||
<string name="pref_hack_candidate_view">Alternative Anzeigemethode</string>
|
||||
<string name="pref_hack_candidate_view_summary">Aktivieren Sie, wenn %1$s in einigen Apps unsichtbar wird oder überhaupt nicht aktiviert wird. Nach dem Ändern dieser Option ist ein Neustart erforderlich.</string>
|
||||
<string name="pref_hack_google_chat">Nachrichten mit \"OK\" in Google Chat senden</string>
|
||||
<string name="pref_hack_key_pad_debounce_time">Schutz vor versehentlichem Tastenwiederholen</string>
|
||||
<string name="pref_hack_key_pad_debounce_off">Aus</string>
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@
|
|||
<string name="pref_abc_auto_accept_normal">Moderado</string>
|
||||
<string name="pref_abc_auto_accept_slow">Lento</string>
|
||||
<string name="pref_alternative_suggestion_scrolling">Método alternativo de desplazamiento de sugerencias</string>
|
||||
<string name="pref_alternative_suggestion_scrolling_summary">Habilitar si a veces no puedes ver todas las sugerencias o tienes problemas para desplazarte por ellas (Android 9 o anterior).</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 (Android 9 o anterior).</string>
|
||||
<string name="pref_auto_space">Espacio automático</string>
|
||||
<string name="pref_auto_space_summary">Insertar un espacio automático después de palabras y signos de puntuación.</string>
|
||||
<string name="pref_double_zero_char">Carácter cuando se presiona \"0\" dos veces</string>
|
||||
|
|
@ -114,6 +114,10 @@
|
|||
<string name="donate_title">Donar</string>
|
||||
<string name="donate_summary">Si te gusta %1$s, podrías apoyar su desarrollo en: %2$s.</string>
|
||||
<string name="pref_hack_fb_messenger">Enviar con «OK» en Facebook Messenger</string>
|
||||
<string name="pref_hack_always_on_top">Siempre encima</string>
|
||||
<string name="pref_hack_always_on_top_summary">No permitir que otras aplicaciones cubran %1$s o lo empujen fuera de la pantalla.</string>
|
||||
<string name="pref_hack_candidate_view">Método de visualización alternativo</string>
|
||||
<string name="pref_hack_candidate_view_summary">Habilítelo si %1$s se vuelve invisible en algunas aplicaciones o no se activa en absoluto. Se requiere reiniciar después de cambiar esta opción.</string>
|
||||
<string name="pref_hack_google_chat">Enviar mensajes con «OK» en Google Chat</string>
|
||||
<string name="pref_hack_key_pad_debounce_time">Protección contra la repetición accidental de teclas</string>
|
||||
<string name="pref_hack_key_pad_debounce_off">Apagado</string>
|
||||
|
|
|
|||
|
|
@ -42,6 +42,10 @@
|
|||
<string name="dictionary_load_bad_char">Echec du chargement. Mot inadmissible «%1$s» à la ligne %2$d de langue «%3$s».</string>
|
||||
<string name="dictionary_truncated">Le dictionaire est supprimé avec succès.</string>
|
||||
<string name="pref_hack_fb_messenger">Envoyer avec «OK» dans Facebook Messenger</string>
|
||||
<string name="pref_hack_always_on_top">Toujours au premier plan</string>
|
||||
<string name="pref_hack_always_on_top_summary">Ne pas permettre aux autres applications de couvrir %1$s ou de le pousser hors de l\'écran.</string>
|
||||
<string name="pref_hack_candidate_view">Méthode d\'affichage alternative</string>
|
||||
<string name="pref_hack_candidate_view_summary">Activez si %1$s devient invisible dans certaines applications ou ne s\'active pas du tout. Un redémarrage est nécessaire après la modification de cette option.</string>
|
||||
<string name="pref_hack_google_chat">Envoyer des messages avec «OK» dans Google Chat</string>
|
||||
<string name="dictionary_loading_indeterminate">Chargement du dictionnaire</string>
|
||||
<string name="dictionary_load_cancelled">Chargement est annulé.</string>
|
||||
|
|
@ -53,7 +57,7 @@
|
|||
<string name="pref_abc_auto_accept_normal">Modérée</string>
|
||||
<string name="pref_abc_auto_accept_slow">Lente</string>
|
||||
<string name="pref_alternative_suggestion_scrolling">Méthode alternative de défilement des mots</string>
|
||||
<string name="pref_alternative_suggestion_scrolling_summary">Activer si parfois vous ne pouvez pas voir toutes les suggestions ou vous avez des difficultés à les défiler (Android 9 ou plus ancien).</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 (Android 9 ou plus ancien).</string>
|
||||
<string name="pref_auto_space">Espace automatique</string>
|
||||
<string name="pref_auto_text_case">Majuscules automatiques</string>
|
||||
<string name="pref_auto_space_summary">Ajouter automatiquement un espace après signes de ponctuation et mots.</string>
|
||||
|
|
|
|||
|
|
@ -96,6 +96,10 @@
|
|||
<string name="donate_summary">Se ti piace %1$s, potresti supportarne lo sviluppo su: %2$s.</string>
|
||||
<string name="pref_hack_fb_messenger">Inviare con \"OK\" su Facebook Messenger</string>
|
||||
<string name="pref_double_zero_char">Simbolo quando si preme due volte il tasto \"0\"</string>
|
||||
<string name="pref_hack_always_on_top">Sempre in primo piano</string>
|
||||
<string name="pref_hack_always_on_top_summary">Non consentire ad altre applicazioni di coprire %1$s o di spingerlo fuori dallo schermo.</string>
|
||||
<string name="pref_hack_candidate_view">Metodo di visualizzazione alternativo</string>
|
||||
<string name="pref_hack_candidate_view_summary">Abilita se %1$s diventa invisibile in alcune app o non si attiva affatto. È necessario riavviare dopo aver modificato questa opzione.</string>
|
||||
<string name="pref_hack_google_chat">Inviare messaggi con \"OK\" su Google Chat</string>
|
||||
<string name="pref_hack_key_pad_debounce_time">Protezione contro la ripetizione accidentale dei tasti</string>
|
||||
<string name="pref_hack_key_pad_debounce_off">Spento</string>
|
||||
|
|
|
|||
|
|
@ -111,6 +111,10 @@
|
|||
<string name="donate_title">לִתְרוֹם</string>
|
||||
<string name="donate_summary">אם אתה אוהב את %1$s, תוכל לתמוך בפיתוח שלו בכתובת: %2$s</string>
|
||||
<string name="pref_hack_fb_messenger">שלח עם \"OK\" ב-Facebook Messenger.</string>
|
||||
<string name="pref_hack_always_on_top">נראה תמיד</string>
|
||||
<string name="pref_hack_always_on_top_summary">אל תאפשר ליישומים אחרים לכסות %1$s או לדחות אותו מהמסך.</string>
|
||||
<string name="pref_hack_candidate_view">שיטת תצוגה אלטרנטיבית</string>
|
||||
<string name="pref_hack_candidate_view_summary">הפעל אם %1$s נהפך לבלתי נראה בכמה אפליקציות או אם לא מפעיל בכלל. נדרש איתחול לאחר שינוי האפשרות הזו.</string>
|
||||
<string name="pref_hack_google_chat">שלח הודעות עם \"OK\" ב-Google Chat</string>
|
||||
<string name="pref_hack_key_pad_debounce_time">הגנה מפני חזרת מפתח בשוגג</string>
|
||||
<string name="pref_hack_key_pad_debounce_off">כבוי</string>
|
||||
|
|
|
|||
|
|
@ -105,6 +105,10 @@
|
|||
<string name="char_space">Tarpas</string>
|
||||
<string name="pref_category_custom_words">Pridėtos žodžiai</string>
|
||||
<string name="pref_category_delete_words">Trinti pridėtus žodžius</string>
|
||||
<string name="pref_hack_always_on_top">Visada viršuje</string>
|
||||
<string name="pref_hack_always_on_top_summary">Neleisti kitiems programoms uždengti %1$s arba atstumti jį nuo ekrano.</string>
|
||||
<string name="pref_hack_candidate_view">Alternatyvus rodymo metodas</string>
|
||||
<string name="pref_hack_candidate_view_summary">Įjungti, jei %1$s tampa nematomas kai kuriuose programose arba išvis neįsijungia. Po šios parinkties pakeitimo reikalingas iš naujo paleidimas.</string>
|
||||
<string name="pref_hack_google_chat">Siųsti žinutes su „OK“ „Google Chat“ programoje</string>
|
||||
<string name="pref_hack_key_pad_debounce_time">Apsauga nuo atsitiktinio rakto pasikartojimo</string>
|
||||
<string name="pref_hack_key_pad_debounce_off">Išjungta</string>
|
||||
|
|
|
|||
|
|
@ -92,6 +92,10 @@
|
|||
<string name="donate_summary">Als je %1$s leuk vindt, zou je de ontwikkeling kunnen ondersteunen op: %2$s.</string>
|
||||
<string name="pref_hack_fb_messenger">Verstuur met \"OK\" in Facebook Messenger</string>
|
||||
<string name="pref_double_zero_char">Teken bij dubbelklikken op toets \"0\"</string>
|
||||
<string name="pref_hack_always_on_top">Altijd bovenaan</string>
|
||||
<string name="pref_hack_always_on_top_summary">Andere applicaties niet toestaan om %1$s te bedekken of van het scherm te duwen.</string>
|
||||
<string name="pref_hack_candidate_view">Alternatieve weergavemethode</string>
|
||||
<string name="pref_hack_candidate_view_summary">Inschakelen als %1$s onzichtbaar wordt in sommige apps of helemaal niet wordt geactiveerd. Een herstart is vereist na het wijzigen van deze optie.</string>
|
||||
<string name="pref_hack_google_chat">Stuur berichten met \"OK\" in Google Chat</string>
|
||||
<string name="pref_hack_key_pad_debounce_time">Bescherming tegen het per ongeluk herhalen van toetsen</string>
|
||||
<string name="pref_hack_key_pad_debounce_off">Uit</string>
|
||||
|
|
|
|||
|
|
@ -113,6 +113,10 @@
|
|||
<string name="donate_title">Doar</string>
|
||||
<string name="donate_summary">Se você gosta de %1$s, você poderia apoiar o seu desenvolvimento em: %2$s.</string>
|
||||
<string name="pref_hack_fb_messenger">Enviar com \"OK\" no Facebook Messenger</string>
|
||||
<string name="pref_hack_always_on_top">Sempre na frente</string>
|
||||
<string name="pref_hack_always_on_top_summary">Não permitir que outras aplicações cubram %1$s ou o empurrem para fora do ecrã.</string>
|
||||
<string name="pref_hack_candidate_view">Método de exibição alternativo</string>
|
||||
<string name="pref_hack_candidate_view_summary">Ative se o %1$s se tornar invisível em alguns aplicativos ou não ativar de forma alguma. É necessário reiniciar após alterar esta opção.</string>
|
||||
<string name="pref_hack_google_chat">Enviar mensagens com \"OK\" no Google Chat</string>
|
||||
<string name="pref_hack_key_pad_debounce_time">Proteção contra repetição acidental de teclas</string>
|
||||
<string name="pref_hack_key_pad_debounce_off">Desligado</string>
|
||||
|
|
|
|||
|
|
@ -114,6 +114,10 @@
|
|||
<string name="dictionary_update_update">Загрузить</string>
|
||||
<string name="donate_title">Поддержать</string>
|
||||
<string name="donate_summary">Если вам нравится %1$s, вы можете поддержать его разработку по: %2$s.</string>
|
||||
<string name="pref_hack_always_on_top">Поверх других приложений</string>
|
||||
<string name="pref_hack_always_on_top_summary">Не разрешать другим приложениям перекрывать %1$s или выталкивать его с экрана.</string>
|
||||
<string name="pref_hack_candidate_view">Альтернативный метод отображения</string>
|
||||
<string name="pref_hack_candidate_view_summary">Включите, если %1$s становится невидимым в некоторых приложениях или вообще не активируется. Перезагрузка требуется после изменения этой опции.</string>
|
||||
<string name="pref_hack_google_chat">Отправка сообщения с «ОК» в Google Chat</string>
|
||||
<string name="pref_hack_key_pad_debounce_time">Защита от случайного повторения нажатий</string>
|
||||
<string name="pref_hack_key_pad_debounce_off">Выключена</string>
|
||||
|
|
|
|||
|
|
@ -49,6 +49,10 @@
|
|||
<string name="pref_dark_theme_no">Ні</string>
|
||||
<string name="pref_dark_theme_auto">Автоматично</string>
|
||||
<string name="pref_double_zero_char">Символ при подвійному натискання клавіші 0</string>
|
||||
<string name="pref_hack_always_on_top">Поверх інших програм</string>
|
||||
<string name="pref_hack_always_on_top_summary">Не дозволяти іншим програмам перекривати %1$s або змушувати його зникати з екрану.</string>
|
||||
<string name="pref_hack_candidate_view">Альтернативний метод відображення</string>
|
||||
<string name="pref_hack_candidate_view_summary">Увімкніть, якщо %1$s стає невидимим у деяких додатках або взагалі не активується. Перезавантаження потрібно після зміни цієї опції.</string>
|
||||
<string name="pref_hack_google_chat">Відправляти повідомлення по натиску \"OK\" в Google Chat</string>
|
||||
<string name="pref_hack_fb_messenger">Відправляти повідомлення по натиску \"OK\" в Messenger</string>
|
||||
<string name="pref_hack_key_pad_debounce_time">Захист від випадкового повторення натискань</string>
|
||||
|
|
|
|||
|
|
@ -54,6 +54,10 @@
|
|||
<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_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_candidate_view">Alternative Display Method</string>
|
||||
<string name="pref_hack_candidate_view_summary">Enable if %1$s becomes invisible in some apps or does not activate at all. Changing this setting requires a reboot.</string>
|
||||
<string name="pref_hack_google_chat">Send messages with \"OK\" in Google Chat</string>
|
||||
<string name="pref_hack_fb_messenger">Send with \"OK\" in Facebook Messenger</string>
|
||||
<string name="pref_hack_key_pad_debounce_time">Accidental Key Repeat Protection</string>
|
||||
|
|
|
|||
|
|
@ -19,4 +19,16 @@
|
|||
app:key="pref_font_size"
|
||||
app:title="@string/pref_font_size" />
|
||||
|
||||
<PreferenceCategory app:title="@string/pref_category_hacks">
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:key="pref_candidates_view"
|
||||
app:title="@string/pref_hack_candidate_view" />
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:key="pref_clear_insets"
|
||||
app:title="@string/pref_hack_always_on_top" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
</PreferenceScreen>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue