Skip to content

Commit 4468d22

Browse files
Translate search lessons strings
1 parent 7f60743 commit 4468d22

File tree

29 files changed

+149
-0
lines changed

29 files changed

+149
-0
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,92 @@
11
package com.d4rk.androidtutorials.java.ui.screens.android;
22

33
import android.os.Bundle;
4+
import android.view.Menu;
5+
import android.view.MenuInflater;
6+
import android.view.MenuItem;
47

8+
import androidx.annotation.NonNull;
9+
import androidx.appcompat.widget.SearchView;
10+
import androidx.preference.Preference;
11+
import androidx.preference.PreferenceCategory;
512
import androidx.preference.PreferenceFragmentCompat;
13+
import androidx.preference.PreferenceScreen;
614

715
import com.d4rk.androidtutorials.java.R;
816

917
public class AndroidStudioFragment extends PreferenceFragmentCompat {
18+
19+
@Override
20+
public void onCreate(Bundle savedInstanceState) {
21+
super.onCreate(savedInstanceState);
22+
setHasOptionsMenu(true);
23+
}
24+
1025
@Override
1126
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
1227
setPreferencesFromResource(R.xml.preferences_android_studio, rootKey);
1328
}
29+
30+
@Override
31+
public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {
32+
super.onCreateOptionsMenu(menu, inflater);
33+
inflater.inflate(R.menu.menu_android_studio, menu);
34+
MenuItem searchItem = menu.findItem(R.id.action_search);
35+
SearchView searchView = (SearchView) searchItem.getActionView();
36+
searchView.setQueryHint(getString(R.string.search_lessons_hint));
37+
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
38+
@Override
39+
public boolean onQueryTextSubmit(String query) {
40+
filterPreferences(query);
41+
return true;
42+
}
43+
44+
@Override
45+
public boolean onQueryTextChange(String newText) {
46+
filterPreferences(newText);
47+
return true;
48+
}
49+
});
50+
searchItem.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
51+
@Override
52+
public boolean onMenuItemActionExpand(MenuItem item) {
53+
return true;
54+
}
55+
56+
@Override
57+
public boolean onMenuItemActionCollapse(MenuItem item) {
58+
filterPreferences("");
59+
return true;
60+
}
61+
});
62+
}
63+
64+
private void filterPreferences(String query) {
65+
PreferenceScreen screen = getPreferenceScreen();
66+
if (screen == null) {
67+
return;
68+
}
69+
String lower = query == null ? "" : query.toLowerCase();
70+
for (int i = 0; i < screen.getPreferenceCount(); i++) {
71+
Preference pref = screen.getPreference(i);
72+
applyFilter(pref, lower);
73+
}
74+
}
75+
76+
private boolean applyFilter(Preference pref, String query) {
77+
if (pref instanceof PreferenceCategory category) {
78+
boolean visible = false;
79+
for (int i = 0; i < category.getPreferenceCount(); i++) {
80+
Preference child = category.getPreference(i);
81+
boolean childVisible = applyFilter(child, query);
82+
visible |= childVisible;
83+
}
84+
category.setVisible(visible);
85+
return visible;
86+
} else {
87+
boolean matches = pref.getTitle().toString().toLowerCase().contains(query);
88+
pref.setVisible(matches);
89+
return matches;
90+
}
91+
}
1492
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="28dp"
3+
android:height="28dp"
4+
android:viewportWidth="24"
5+
android:viewportHeight="24">
6+
<path
7+
android:fillColor="?android:textColorPrimary"
8+
android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59,16,11.11,16,9.5 16,5.91,13.09,3,9.5,3 5.91,3,3,5.91,3,9.5 3,13.09,5.91,16,9.5,16c1.61,0,3.09,-0.59,4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14c-2.49,0,-4.5,-2.01,-4.5,-4.5S7.01,5,9.5,5 14,7.01,14,9.5 11.99,14,9.5,14z"/>
9+
</vector>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<menu xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:app="http://schemas.android.com/apk/res-auto">
4+
<item
5+
android:id="@+id/action_search"
6+
android:icon="@drawable/ic_search"
7+
android:title="@string/search_lessons_content_description"
8+
app:actionViewClass="androidx.appcompat.widget.SearchView"
9+
app:showAsAction="ifRoom|collapseActionView" />
10+
</menu>

app/src/main/res/values-ar-rEG/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
<string name="play_store">متجر Play</string>
2020
<string name="search_tutorials_hint">ابحث عن الدروس</string>
2121
<string name="search_tutorials_content_description">ابحث عن الدروس</string>
22+
<string name="search_lessons_hint">ابحث عن الدروس</string>
23+
<string name="search_lessons_content_description">ابحث عن الدروس</string>
2224
<string name="android_studio">أندرويد ستوديو</string>
2325
<string name="android_start">Start a new project</string>
2426
<string name="android_start_project">ابدأ مشروع جديد</string>

app/src/main/res/values-bg-rBG/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
<string name="play_store">Play Store</string>
2020
<string name="search_tutorials_hint">Търсене на уроци</string>
2121
<string name="search_tutorials_content_description">Търсене на уроци</string>
22+
<string name="search_lessons_hint">Търсене на уроци</string>
23+
<string name="search_lessons_content_description">Търсене на уроци</string>
2224
<string name="android_studio">Android Studio</string>
2325
<string name="android_start">Start a new project</string>
2426
<string name="android_start_project">Стартиране на нов проект</string>

app/src/main/res/values-bn-rBD/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
<string name="play_store">প্লে স্টোর</string>
2020
<string name="search_tutorials_hint">টিউটোরিয়াল খুঁজুন</string>
2121
<string name="search_tutorials_content_description">টিউটোরিয়াল খুঁজুন</string>
22+
<string name="search_lessons_hint">পাঠ খুঁজুন</string>
23+
<string name="search_lessons_content_description">পাঠ খুঁজুন</string>
2224
<string name="android_studio">অ্যান্ড্রয়েড স্টুডিও</string>
2325
<string name="android_start">Start a new project</string>
2426
<string name="android_start_project">একটি নতুন প্রকল্প শুরু করুন</string>

app/src/main/res/values-de-rDE/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
<string name="play_store">Play Store</string>
2020
<string name="search_tutorials_hint">Tutorials suchen</string>
2121
<string name="search_tutorials_content_description">Tutorials suchen</string>
22+
<string name="search_lessons_hint">Lektionen suchen</string>
23+
<string name="search_lessons_content_description">Lektionen suchen</string>
2224
<string name="android_studio">Android Studio</string>
2325
<string name="android_start">Start a new project</string>
2426
<string name="android_start_project">Neues Projekt starten</string>

app/src/main/res/values-es-rGQ/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
<string name="play_store">Play Store</string>
2020
<string name="search_tutorials_hint">Buscar tutoriales</string>
2121
<string name="search_tutorials_content_description">Buscar tutoriales</string>
22+
<string name="search_lessons_hint">Buscar lecciones</string>
23+
<string name="search_lessons_content_description">Buscar lecciones</string>
2224
<string name="android_studio">Android Studio</string>
2325
<string name="android_start">Start a new project</string>
2426
<string name="android_start_project">Iniciar un nuevo proyecto</string>

app/src/main/res/values-es-rMX/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
<string name="play_store">Play Store</string>
2020
<string name="search_tutorials_hint">Buscar tutoriales</string>
2121
<string name="search_tutorials_content_description">Buscar tutoriales</string>
22+
<string name="search_lessons_hint">Buscar lecciones</string>
23+
<string name="search_lessons_content_description">Buscar lecciones</string>
2224
<string name="android_studio">Android Studio</string>
2325
<string name="android_start">Start a new project</string>
2426
<string name="android_start_project">Iniciar un nuevo proyecto</string>

app/src/main/res/values-fil-rPH/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
<string name="play_store">Play Store</string>
2020
<string name="search_tutorials_hint">Maghanap ng mga tutorial</string>
2121
<string name="search_tutorials_content_description">Maghanap ng mga tutorial</string>
22+
<string name="search_lessons_hint">Maghanap ng mga aralin</string>
23+
<string name="search_lessons_content_description">Maghanap ng mga aralin</string>
2224
<string name="android_studio">Android Studio</string>
2325
<string name="android_start">Start a new project</string>
2426
<string name="android_start_project">Magsimula ng Bagong Proyekto</string>

0 commit comments

Comments
 (0)