1
0
Fork 0

reverted the modern search fields to classic ones and added an icon to all variants

This commit is contained in:
sspanak 2025-02-08 10:04:23 +02:00 committed by Dimo Karaivanov
parent 8494e7efb9
commit f1d0d5b31c
18 changed files with 26 additions and 68 deletions

View file

@ -1,16 +1,18 @@
package io.github.sspanak.tt9.preferences.items;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.util.AttributeSet;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.preference.PreferenceViewHolder;
import com.google.android.material.search.SearchView;
import io.github.sspanak.tt9.R;
import io.github.sspanak.tt9.languages.LanguageCollection;
import io.github.sspanak.tt9.languages.LanguageKind;
abstract public class ItemSearch extends ItemTextInput {
private final boolean isModernDevice = Build.VERSION.SDK_INT >= Build.VERSION_CODES.S;
@ -30,25 +32,30 @@ abstract public class ItemSearch extends ItemTextInput {
}
@Override protected int getDefaultLayout() {
return isModernDevice ? R.layout.pref_search_v31 : R.layout.pref_input_text;
}
@Override protected int getLargeLayout() {
return isModernDevice ? R.layout.pref_search_v31 : R.layout.pref_input_text_large;
return isModernDevice ? R.layout.pref_input_text : R.layout.pref_input_text_large;
}
protected void setTextField(@NonNull PreferenceViewHolder holder) {
if (!isModernDevice) {
super.setTextField(holder);
return;
super.setTextField(holder);
if (textField != null) {
setIcon();
}
}
private void setIcon() {
Context context = getContext();
Drawable searchIcon = AppCompatResources.getDrawable(context, R.drawable.ic_fn_search);
if (searchIcon != null) {
searchIcon.setTint(context.getResources().getColor(R.color.keyboard_text));
}
SearchView searchView = holder.itemView.findViewById(R.id.search_view);
if (searchView != null) {
this.textField = searchView.getEditText();
if (LanguageKind.isRTL(LanguageCollection.getDefault())) {
textField.setCompoundDrawablesWithIntrinsicBounds(null, null, searchIcon, null);
} else {
textField.setCompoundDrawablesWithIntrinsicBounds(searchIcon, null, null, null);
}
}
}

View file

@ -0,0 +1,3 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:autoMirrored="true" android:height="24dp" android:tint="#000000" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
<path android:fillColor="@android:color/white" android:pathData="M784,840L532,588Q502,612 463,626Q424,640 380,640Q271,640 195.5,564.5Q120,489 120,380Q120,271 195.5,195.5Q271,120 380,120Q489,120 564.5,195.5Q640,271 640,380Q640,424 626,463Q612,502 588,532L840,784L784,840ZM380,560Q455,560 507.5,507.5Q560,455 560,380Q560,305 507.5,252.5Q455,200 380,200Q305,200 252.5,252.5Q200,305 200,380Q200,455 252.5,507.5Q305,560 380,560Z"/>
</vector>

View file

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="@dimen/pref_search_height">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.search.SearchBar
android:id="@+id/search_bar"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.google.android.material.appbar.AppBarLayout>
<com.google.android.material.search.SearchView
android:id="@+id/search_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_anchor="@id/search_bar" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View file

@ -66,7 +66,6 @@
<string name="dictionary_import_error_too_many_words">Хранилището за добавени думи е пълно. Не можете да импортирате повече думи.</string>
<string name="delete_words_delete">Изтрий</string>
<string name="delete_words_link_summary">Намери и изтрий на неправилно написани или ненужни думи.</string>
<string name="delete_words_search_placeholder">Търси думи</string>
<string name="search_results">Намерени думи</string>
<string name="search_results_void">Няма резултати.</string>
<string name="delete_words_deleted_confirm_deletion_title">Потвърдете изтриването</string>
@ -179,7 +178,6 @@
<string name="help_url_copied">Връзката е копирана.</string>
<string name="language_selection_language_loaded">(зареден)</string>
<string name="language_selection_title">Избор на езици</string>
<string name="language_selection_search_placeholder">Търси езици</string>
<string name="language_selection_words">думи</string>
<string name="pref_backspace_acceleration">Бързо изтриване</string>
<string name="pref_backspace_acceleration_summary">Изтривай цели думи при задържане или плъзване на Backspace. (Не работи в някои приложения.)</string>

View file

@ -110,7 +110,6 @@
<string name="dictionary_import_error_too_many_words">Der Speicher für hinzugefügte Wörter ist voll. Sie können keine weiteren Wörter importieren.</string>
<string name="delete_words_delete">Löschen</string>
<string name="delete_words_link_summary">Finde und lösche falsch geschriebene oder überflüssige Wörter.</string>
<string name="delete_words_search_placeholder">Nach Wörtern suchen</string>
<string name="search_results">Suchergebnisse</string>
<string name="search_results_void">Keine Ergebnisse.</string>
<string name="delete_words_deleted_confirm_deletion_title">Löschung bestätigen</string>
@ -166,7 +165,6 @@
<string name="help_url_copied">Der Link ist kopiert.</string>
<string name="language_selection_language_loaded">(geladen)</string>
<string name="language_selection_title">Sprachen aktivieren</string>
<string name="language_selection_search_placeholder">Nach Sprachen suchen</string>
<string name="language_selection_words">Wörter</string>
<string name="pref_backspace_acceleration">Schnelles Löschen</string>
<string name="pref_backspace_acceleration_summary">Ganze Wörter löschen, indem Sie die Rücktaste gedrückt halten oder wischen. (Nicht in allen Apps unterstützt)</string>

View file

@ -125,7 +125,6 @@
<string name="dictionary_import_error_too_many_words">El almacenamiento de palabras añadidas está lleno. No puede importar más palabras.</string>
<string name="delete_words_delete">Eliminar</string>
<string name="delete_words_link_summary">Buscar y eliminar palabras mal escritas o innecesarias.</string>
<string name="delete_words_search_placeholder">Buscar palabras</string>
<string name="search_results">Palabras encontradas</string>
<string name="search_results_void">Sin resultados.</string>
<string name="delete_words_deleted_confirm_deletion_title">Confirma la eliminación</string>
@ -177,7 +176,6 @@
<string name="help_url_copied">El enlace ha sido copiado.</string>
<string name="language_selection_language_loaded">(cargado)</string>
<string name="language_selection_title">Habilitar idiomas</string>
<string name="language_selection_search_placeholder">Buscar idiomas</string>
<string name="language_selection_words">palabras</string>
<string name="pref_backspace_acceleration">Eliminación rápida</string>
<string name="pref_backspace_acceleration_summary">Borrar palabras completas manteniendo pulsado o deslizando Retroceso. (No compatible con algunas aplicaciones)</string>

View file

@ -125,7 +125,6 @@
<string name="dictionary_import_error_too_many_words">Le stockage des mots ajoutés est plein. Vous ne pouvez plus importer de mots.</string>
<string name="delete_words_delete">Supprimer</string>
<string name="delete_words_link_summary">Trouver et supprimer des mots mal orthographiés ou inutiles.</string>
<string name="delete_words_search_placeholder">Rechercher des mots</string>
<string name="search_results">Mots trouvés</string>
<string name="search_results_void">Aucun résultat.</string>
<string name="delete_words_deleted_confirm_deletion_title">Confirmer la suppression</string>
@ -175,7 +174,6 @@
<string name="help_url_copied">Le lien est copié.</string>
<string name="language_selection_language_loaded">(chargée)</string>
<string name="language_selection_title">Activer les langues</string>
<string name="language_selection_search_placeholder">Rechercher des langues</string>
<string name="language_selection_words">mots</string>
<string name="pref_backspace_acceleration">Suppression rapide</string>
<string name="pref_backspace_acceleration_summary">Effacer des mots entiers en maintenant ou en glissant sur Retour arrière. (Non pris en charge dans certaines applications)</string>

View file

@ -111,7 +111,6 @@
<string name="dictionary_import_error_too_many_words">Lo spazio di archiviazione delle parole aggiunte è pieno. Non è possibile importare altre parole.</string>
<string name="delete_words_delete">Elimina</string>
<string name="delete_words_link_summary">Trova ed elimina parole errate o non necessarie.</string>
<string name="delete_words_search_placeholder">Ricerca di parole</string>
<string name="search_results">Parole trovate</string>
<string name="search_results_void">Nessun risultato.</string>
<string name="delete_words_deleted_confirm_deletion_title">Conferma l\'eliminazione</string>
@ -166,7 +165,6 @@
<string name="help_url_copied">Il link è copiato.</string>
<string name="language_selection_language_loaded">(caricata)</string>
<string name="language_selection_title">Abilita lingue</string>
<string name="language_selection_search_placeholder">Cerca lingue</string>
<string name="language_selection_words">parole</string>
<string name="pref_backspace_acceleration">Cancellazione rapida</string>
<string name="pref_backspace_acceleration_summary">Cancellare intere parole tenendo premuto o scorrendo Backspace. (Non supportato in alcune app)</string>

View file

@ -124,7 +124,6 @@
<string name="dictionary_import_error_too_many_words">אחסון המילים שהתווספו מלא. אינך יכול לייבא עוד מילים.</string>
<string name="delete_words_delete">מחיקה</string>
<string name="delete_words_link_summary">מצא ומחק מילים שכתובות בטעות או שאינן נדרשות.</string>
<string name="delete_words_search_placeholder">חיפוש מילים</string>
<string name="search_results">תוצאות חיפוש</string>
<string name="search_results_void">אין תוצאות.</string>
<string name="delete_words_deleted_confirm_deletion_title">אישור מחיקה</string>
@ -179,7 +178,6 @@
<string name="help_url_copied">הקישור הועתק.</string>
<string name="language_selection_language_loaded">(נטען)</string>
<string name="language_selection_title">הפעל שפות</string>
<string name="language_selection_search_placeholder">חיפוש שפות</string>
<string name="language_selection_words">מילים</string>
<string name="pref_backspace_acceleration">מחיקה מהירה</string>
<string name="pref_backspace_acceleration_summary">למחוק מילים שלמות על ידי החזקת Backspace או החלקה עליו. (לא נתמך בחלק מהאפליקציות)</string>

View file

@ -142,7 +142,6 @@
<string name="dictionary_import_error_too_many_words">Pridėtų žodžių saugykla yra pilna. Daugiau žodžių importuoti negalite.</string>
<string name="delete_words_delete">Ištrinti</string>
<string name="delete_words_link_summary">Raskite ir ištrinkite neteisingai parašytus arba nereikalingus žodžius.</string>
<string name="delete_words_search_placeholder">Ieškoti žodžių</string>
<string name="search_results">Paieškos rezultatai</string>
<string name="search_results_void">Jokių rezultatų.</string>
<string name="delete_words_deleted_confirm_deletion_title">Patvirtinkite ištrynimą</string>
@ -186,7 +185,6 @@
<string name="help_url_copied">Nuoroda nukopijuota.</string>
<string name="language_selection_language_loaded">(įkelta)</string>
<string name="language_selection_title">Įjungti kalbas</string>
<string name="language_selection_search_placeholder">Ieškoti kalbų</string>
<string name="language_selection_words">žodžių</string>
<string name="pref_backspace_acceleration">Greitas ištrynimas</string>
<string name="pref_backspace_acceleration_summary">Ištrinti visus žodžius laikant arba perbraukiant Backspace. (Nepalaikoma kai kuriose programėlėse)</string>

View file

@ -110,7 +110,6 @@
<string name="dictionary_import_error_too_many_words">De opslag voor toegevoegde woorden is vol. U kunt geen woorden meer importeren.</string>
<string name="delete_words_delete">Verwijderen</string>
<string name="delete_words_link_summary">Zoek en verwijder verkeerd gespelde of onnodige woorden.</string>
<string name="delete_words_search_placeholder">Zoeken naar woorden</string>
<string name="search_results">Zoekresultaten</string>
<string name="search_results_void">Geen resultaten.</string>
<string name="delete_words_deleted_confirm_deletion_title">Bevestig verwijdering</string>
@ -166,7 +165,6 @@
<string name="help_url_copied">Link is gekopieerd.</string>
<string name="language_selection_language_loaded">(geladen)</string>
<string name="language_selection_title">Talen inschakelen</string>
<string name="language_selection_search_placeholder">Zoeken naar talen</string>
<string name="language_selection_words">woorden</string>
<string name="pref_backspace_acceleration">Snel verwijderen</string>
<string name="pref_backspace_acceleration_summary">Hele woorden wissen door Backspace ingedrukt te houden of te vegen. (Niet ondersteund in sommige apps)</string>

View file

@ -124,7 +124,6 @@
<string name="dictionary_import_error_too_many_words">O armazenamento de palavras adicionadas está cheio. Você não pode importar mais palavras.</string>
<string name="delete_words_delete">Excluir</string>
<string name="delete_words_link_summary">Encontrar e excluir palavras escritas incorretamente ou desnecessárias.</string>
<string name="delete_words_search_placeholder">Buscar palavras</string>
<string name="search_results">Palavras encontradas</string>
<string name="search_results_void">Sem resultados.</string>
<string name="delete_words_deleted_confirm_deletion_title">Confirme a exclusão</string>
@ -179,7 +178,6 @@
<string name="help_url_copied">O link foi copiado.</string>
<string name="language_selection_language_loaded">(carregado)</string>
<string name="language_selection_title">Habilitar idiomas</string>
<string name="language_selection_search_placeholder">Buscar por idiomas</string>
<string name="language_selection_words">palavras</string>
<string name="pref_backspace_acceleration">Exclusão rápida</string>
<string name="pref_backspace_acceleration_summary">Apagar palavras inteiras mantendo pressionado ou deslizando o Backspace. (Não suportado em alguns aplicativos)</string>

View file

@ -125,7 +125,6 @@
<string name="dictionary_import_error_too_many_words">Хранилище добавленных слов заполнено. Вы не можете импортировать больше слов.</string>
<string name="delete_words_delete">Удалить</string>
<string name="delete_words_link_summary">Найти и удалить ошибочно написанные или ненужные слова.</string>
<string name="delete_words_search_placeholder">Поиск слов</string>
<string name="search_results">Найденные слова</string>
<string name="search_results_void">Нет результатов.</string>
<string name="delete_words_deleted_confirm_deletion_title">Подтвердите удаление</string>
@ -177,7 +176,6 @@
<string name="help_url_copied">Ссылка скопирована.</string>
<string name="language_selection_language_loaded">(загружен)</string>
<string name="language_selection_title">Включить языки</string>
<string name="language_selection_search_placeholder">Поиск языков</string>
<string name="language_selection_words">слов</string>
<string name="pref_backspace_acceleration">Быстрое удаление</string>
<string name="pref_backspace_acceleration_summary">Стереть целые слова, удерживая или проведя по клавише Backspace. (Не поддерживается в некоторых приложениях)</string>

View file

@ -109,7 +109,6 @@
<string name="dictionary_import_error_too_many_words">Eklenen kelime depolama alanı dolu. Daha fazla kelime içe aktaramazsınız.</string>
<string name="delete_words_delete">Sil</string>
<string name="delete_words_link_summary">Yanlış yazılan ya da gereksiz kelimeleri bulun ve silin.</string>
<string name="delete_words_search_placeholder">Aramak istediğiniz kelimeyi yazın…</string>
<string name="search_results">Ara</string>
<string name="search_results_void">Eşleşme bulunamadı.</string>
<string name="delete_words_deleted_confirm_deletion_title">Silmeyi Onayla</string>
@ -180,7 +179,6 @@
<string name="help_url_copied">Bağlantı kopyalandı.</string>
<string name="language_selection_language_loaded">(yüklendi)</string>
<string name="language_selection_title">Dilleri etkinleştir</string>
<string name="language_selection_search_placeholder">Diller için arama</string>
<string name="language_selection_words">kelime</string>
<string name="pref_backspace_acceleration">Hızlı Silme</string>
<string name="pref_backspace_acceleration_summary">Geri tuşunu basılı tutarak veya kaydırarak tüm kelimeleri sil. (Bazı uygulamalarda desteklenmez)</string>

View file

@ -102,7 +102,6 @@
<string name="dictionary_import_error_too_many_words">Сховище доданих слів заповнено. Ви не можете імпортувати більше слів.</string>
<string name="delete_words_delete">Видалити</string>
<string name="delete_words_link_summary">Знайти та видалити неправильно написані або зайві слова.</string>
<string name="delete_words_search_placeholder">Пошук слів</string>
<string name="search_results">Знайдені слова</string>
<string name="search_results_void">Немає результатів.</string>
<string name="delete_words_deleted_confirm_deletion_title">Підтвердіть видалення</string>
@ -188,7 +187,6 @@
<string name="help_url_copied">Посилання скопійовано.</string>
<string name="language_selection_language_loaded">(завантажено)</string>
<string name="language_selection_title">Увімкнути мови</string>
<string name="language_selection_search_placeholder">Пошук мов</string>
<string name="language_selection_words">слів</string>
<string name="pref_backspace_acceleration">Швидке видалення</string>
<string name="pref_backspace_acceleration_summary">Видалити цілі слова, утримуючи або провівши клавішею Backspace. (Не підтримується в деяких додатках)</string>

View file

@ -141,7 +141,6 @@
<string name="delete_words_delete">Delete</string>
<string name="delete_words_link_summary">Find and delete misspelled or unneeded words.</string>
<string name="delete_words_search_placeholder">Search for Words</string>
<string name="delete_words_deleted_confirm_deletion_title">Confirm Deletion</string>
<string name="delete_words_deleted_confirm_deletion_question">Are you sure you want to delete \"%1$s\"?</string>
<string name="delete_words_deleted_x">\"%1$s\" was deleted.</string>
@ -176,7 +175,6 @@
<string name="language_selection_language_loaded">(loaded)</string>
<string name="language_selection_title">Enable Languages</string>
<string name="language_selection_search_placeholder">Search for Languages</string>
<string name="language_selection_words">words</string>
<string name="punctuation_order_whitespace_will_be_added_automatically">Space and Newline characters will be automatically added at the beginning of the list.</string>

View file

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:orderingFromXml="true">
<io.github.sspanak.tt9.preferences.screens.deleteWords.PreferenceSearchWords
android:key="dictionary_delete_words_search"
android:title="@string/delete_words_search_placeholder" />
android:key="dictionary_delete_words_search" />
<PreferenceCategory
android:key="delete_words_list"

View file

@ -2,8 +2,7 @@
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<io.github.sspanak.tt9.preferences.screens.languageSelection.PreferenceSearchLanguage
android:key="language_search"
android:title="@string/language_selection_search_placeholder" />
android:key="language_search" />
<PreferenceCategory
android:key="language_list"