Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,14 +1,92 @@
package com.d4rk.androidtutorials.java.ui.screens.android;

import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;

import androidx.annotation.NonNull;
import androidx.appcompat.widget.SearchView;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.PreferenceScreen;

import com.d4rk.androidtutorials.java.R;

public class AndroidStudioFragment extends PreferenceFragmentCompat {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}

@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.preferences_android_studio, rootKey);
}

@Override
public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.menu_android_studio, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView) searchItem.getActionView();
searchView.setQueryHint(getString(R.string.search_lessons_hint));
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
filterPreferences(query);
return true;
}

@Override
public boolean onQueryTextChange(String newText) {
filterPreferences(newText);
return true;
}
});
searchItem.setOnActionExpandListener(new MenuItem.OnActionExpandListener() {
@Override
public boolean onMenuItemActionExpand(MenuItem item) {
return true;
}

@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
filterPreferences("");
return true;
}
});
}

private void filterPreferences(String query) {
PreferenceScreen screen = getPreferenceScreen();
if (screen == null) {
return;
}
String lower = query == null ? "" : query.toLowerCase();
for (int i = 0; i < screen.getPreferenceCount(); i++) {
Preference pref = screen.getPreference(i);
applyFilter(pref, lower);
}
}

private boolean applyFilter(Preference pref, String query) {
if (pref instanceof PreferenceCategory category) {
boolean visible = false;
for (int i = 0; i < category.getPreferenceCount(); i++) {
Preference child = category.getPreference(i);
boolean childVisible = applyFilter(child, query);
visible |= childVisible;
}
category.setVisible(visible);
return visible;
} else {
boolean matches = pref.getTitle().toString().toLowerCase().contains(query);
pref.setVisible(matches);
return matches;
}
}
}
9 changes: 9 additions & 0 deletions app/src/main/res/drawable-anydpi/ic_search.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="28dp"
android:height="28dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="?android:textColorPrimary"
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"/>
</vector>
10 changes: 10 additions & 0 deletions app/src/main/res/menu/menu_android_studio.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_search"
android:icon="@drawable/ic_search"
android:title="@string/search_lessons_content_description"
app:actionViewClass="androidx.appcompat.widget.SearchView"
app:showAsAction="ifRoom|collapseActionView" />
</menu>
2 changes: 2 additions & 0 deletions app/src/main/res/values-ar-rEG/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
<string name="play_store">متجر Play</string>
<string name="search_tutorials_hint">ابحث عن الدروس</string>
<string name="search_tutorials_content_description">ابحث عن الدروس</string>
<string name="search_lessons_hint">ابحث عن الدروس</string>
<string name="search_lessons_content_description">ابحث عن الدروس</string>
<string name="android_studio">أندرويد ستوديو</string>
<string name="android_start">Start a new project</string>
<string name="android_start_project">ابدأ مشروع جديد</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-bg-rBG/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
<string name="play_store">Play Store</string>
<string name="search_tutorials_hint">Търсене на уроци</string>
<string name="search_tutorials_content_description">Търсене на уроци</string>
<string name="search_lessons_hint">Търсене на уроци</string>
<string name="search_lessons_content_description">Търсене на уроци</string>
<string name="android_studio">Android Studio</string>
<string name="android_start">Start a new project</string>
<string name="android_start_project">Стартиране на нов проект</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-bn-rBD/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
<string name="play_store">প্লে স্টোর</string>
<string name="search_tutorials_hint">টিউটোরিয়াল খুঁজুন</string>
<string name="search_tutorials_content_description">টিউটোরিয়াল খুঁজুন</string>
<string name="search_lessons_hint">পাঠ খুঁজুন</string>
<string name="search_lessons_content_description">পাঠ খুঁজুন</string>
<string name="android_studio">অ্যান্ড্রয়েড স্টুডিও</string>
<string name="android_start">Start a new project</string>
<string name="android_start_project">একটি নতুন প্রকল্প শুরু করুন</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-de-rDE/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
<string name="play_store">Play Store</string>
<string name="search_tutorials_hint">Tutorials suchen</string>
<string name="search_tutorials_content_description">Tutorials suchen</string>
<string name="search_lessons_hint">Lektionen suchen</string>
<string name="search_lessons_content_description">Lektionen suchen</string>
<string name="android_studio">Android Studio</string>
<string name="android_start">Start a new project</string>
<string name="android_start_project">Neues Projekt starten</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-es-rGQ/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
<string name="play_store">Play Store</string>
<string name="search_tutorials_hint">Buscar tutoriales</string>
<string name="search_tutorials_content_description">Buscar tutoriales</string>
<string name="search_lessons_hint">Buscar lecciones</string>
<string name="search_lessons_content_description">Buscar lecciones</string>
<string name="android_studio">Android Studio</string>
<string name="android_start">Start a new project</string>
<string name="android_start_project">Iniciar un nuevo proyecto</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-es-rMX/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
<string name="play_store">Play Store</string>
<string name="search_tutorials_hint">Buscar tutoriales</string>
<string name="search_tutorials_content_description">Buscar tutoriales</string>
<string name="search_lessons_hint">Buscar lecciones</string>
<string name="search_lessons_content_description">Buscar lecciones</string>
<string name="android_studio">Android Studio</string>
<string name="android_start">Start a new project</string>
<string name="android_start_project">Iniciar un nuevo proyecto</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-fil-rPH/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
<string name="play_store">Play Store</string>
<string name="search_tutorials_hint">Maghanap ng mga tutorial</string>
<string name="search_tutorials_content_description">Maghanap ng mga tutorial</string>
<string name="search_lessons_hint">Maghanap ng mga aralin</string>
<string name="search_lessons_content_description">Maghanap ng mga aralin</string>
<string name="android_studio">Android Studio</string>
<string name="android_start">Start a new project</string>
<string name="android_start_project">Magsimula ng Bagong Proyekto</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-fr-rFR/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
<string name="play_store">Play Store</string>
<string name="search_tutorials_hint">Rechercher des tutoriels</string>
<string name="search_tutorials_content_description">Rechercher des tutoriels</string>
<string name="search_lessons_hint">Rechercher des leçons</string>
<string name="search_lessons_content_description">Rechercher des leçons</string>
<string name="android_studio">Android Studio</string>
<string name="android_start">Start a new project</string>
<string name="android_start_project">Démarrer un nouveau projet</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-hi-rIN/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
<string name="play_store">प्ले स्टोर</string>
<string name="search_tutorials_hint">ट्यूटोरियल खोजें</string>
<string name="search_tutorials_content_description">ट्यूटोरियल खोजें</string>
<string name="search_lessons_hint">पाठ खोजें</string>
<string name="search_lessons_content_description">पाठ खोजें</string>
<string name="update_downloaded">अपडेट डाउनलोड किया गया</string>
<string name="view_in_google_play">Google Play Store में देखें</string>
<string name="version_info">संस्करण की जानकारी</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-hu-rHU/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
<string name="play_store">Play Áruház</string>
<string name="search_tutorials_hint">Oktatóanyagok keresése</string>
<string name="search_tutorials_content_description">Oktatóanyagok keresése</string>
<string name="search_lessons_hint">Leckék keresése</string>
<string name="search_lessons_content_description">Leckék keresése</string>
<string name="im_step1_desc">Képernyőkép az Új projekt gombbal az Android Studioban.</string>
<string name="im_step2_desc">Képernyőkép a projekt beállításakor az aktivitástípus választásáról.</string>
<string name="im_step3_desc">Képernyőkép az alkalmazás neve, csomagja, nyelve és minimum SDK mezőiről.</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-in-rID/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
<string name="play_store">Play Store</string>
<string name="search_tutorials_hint">Cari tutorial</string>
<string name="search_tutorials_content_description">Cari tutorial</string>
<string name="search_lessons_hint">Cari pelajaran</string>
<string name="search_lessons_content_description">Cari pelajaran</string>
<string name="update_downloaded">Pembaruan diunduh</string>
<string name="view_in_google_play">Lihat di Google Play Store</string>
<string name="version_info">Info versi</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-it-rIT/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
<string name="play_store">Play Store</string>
<string name="search_tutorials_hint">Cerca tutorial</string>
<string name="search_tutorials_content_description">Cerca tutorial</string>
<string name="search_lessons_hint">Cerca lezioni</string>
<string name="search_lessons_content_description">Cerca lezioni</string>
<string name="im_step1_desc">Screenshot che mostra il pulsante Nuovo progetto in Android Studio.</string>
<string name="im_step2_desc">Screenshot che mostra la selezione del tipo di attività durante la configurazione del progetto.</string>
<string name="im_step3_desc">Screenshot che mostra i campi nome app, pacchetto, lingua e SDK minimo.</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-ja-rJP/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
<string name="play_store">Play ストア</string>
<string name="search_tutorials_hint">チュートリアルを検索</string>
<string name="search_tutorials_content_description">チュートリアルを検索</string>
<string name="search_lessons_hint">レッスンを検索</string>
<string name="search_lessons_content_description">レッスンを検索</string>
<string name="im_step1_desc">Android Studio の新規プロジェクトボタンを示すスクリーンショット。</string>
<string name="im_step2_desc">プロジェクト設定中のアクティビティタイプ選択を示すスクリーンショット。</string>
<string name="im_step3_desc">アプリ名、パッケージ、言語、最小 SDK の入力欄を示すスクリーンショット。</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-ko-rKR/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
<string name="play_store">Play 스토어</string>
<string name="search_tutorials_hint">튜토리얼 검색</string>
<string name="search_tutorials_content_description">튜토리얼 검색</string>
<string name="search_lessons_hint">강의 검색</string>
<string name="search_lessons_content_description">강의 검색</string>
<string name="android_studio">Android Studio</string>
<string name="android_start">Start a new project</string>
<string name="android_start_project">새 프로젝트 시작</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-pl-rPL/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
<string name="play_store">Sklep Play</string>
<string name="search_tutorials_hint">Wyszukaj samouczki</string>
<string name="search_tutorials_content_description">Wyszukaj samouczki</string>
<string name="search_lessons_hint">Wyszukaj lekcje</string>
<string name="search_lessons_content_description">Wyszukaj lekcje</string>
<string name="im_step1_desc">Zrzut ekranu pokazujący przycisk Nowy projekt w Android Studio.</string>
<string name="im_step2_desc">Zrzut ekranu pokazujący wybór typu aktywności podczas konfiguracji projektu.</string>
<string name="im_step3_desc">Zrzut ekranu pokazujący pola nazwy aplikacji, pakietu, języka i minimalnego SDK.</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-pt-rBR/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
<string name="play_store">Play Store</string>
<string name="search_tutorials_hint">Pesquisar tutoriais</string>
<string name="search_tutorials_content_description">Pesquisar tutoriais</string>
<string name="search_lessons_hint">Pesquisar lições</string>
<string name="search_lessons_content_description">Pesquisar lições</string>
<string name="android_studio">Android Studio</string>
<string name="android_start">Start a new project</string>
<string name="android_start_project">Iniciar um Novo Projeto</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-ro-rRO/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
<string name="play_store">Magazin Play</string>
<string name="search_tutorials_hint">Caută tutoriale</string>
<string name="search_tutorials_content_description">Caută tutoriale</string>
<string name="search_lessons_hint">Caută lecții</string>
<string name="search_lessons_content_description">Caută lecții</string>
<string name="update_downloaded">Actualizare descărcată</string>
<string name="view_in_google_play">Vezi în Magazinul Google Play</string>
<string name="version_info">Informații versiune</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-ru-rRU/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
<string name="play_store">Play Маркет</string>
<string name="search_tutorials_hint">Поиск руководств</string>
<string name="search_tutorials_content_description">Поиск руководств</string>
<string name="search_lessons_hint">Поиск уроков</string>
<string name="search_lessons_content_description">Поиск уроков</string>
<string name="update_downloaded">Обновление загружено</string>
<string name="view_in_google_play">Просмотреть в Google Play Store</string>
<string name="version_info">Информация о версии</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-sv-rSE/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
<string name="play_store">Play Butik</string>
<string name="search_tutorials_hint">Sök handledningar</string>
<string name="search_tutorials_content_description">Sök handledningar</string>
<string name="search_lessons_hint">Sök lektioner</string>
<string name="search_lessons_content_description">Sök lektioner</string>
<string name="android_studio">Android Studio</string>
<string name="android_start">Start a new project</string>
<string name="android_start_project">Starta ett nytt projekt</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-th-rTH/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
<string name="play_store">Play Store</string>
<string name="search_tutorials_hint">ค้นหาบทช่วยสอน</string>
<string name="search_tutorials_content_description">ค้นหาบทช่วยสอน</string>
<string name="search_lessons_hint">ค้นหาบทเรียน</string>
<string name="search_lessons_content_description">ค้นหาบทเรียน</string>
<string name="android_studio">Android Studio</string>
<string name="android_start">Start a new project</string>
<string name="android_start_project">เริ่มโปรเจกต์ใหม่</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-tr-rTR/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
<string name="play_store">Play Store</string>
<string name="search_tutorials_hint">Eğitimleri ara</string>
<string name="search_tutorials_content_description">Eğitimleri ara</string>
<string name="search_lessons_hint">Dersleri ara</string>
<string name="search_lessons_content_description">Dersleri ara</string>
<string name="android_studio">Android Studio</string>
<string name="android_start">Start a new project</string>
<string name="android_start_project">Yeni Bir Proje Başlat</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-uk-rUA/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
<string name="play_store">Play Store</string>
<string name="search_tutorials_hint">Пошук навчальних посібників</string>
<string name="search_tutorials_content_description">Пошук навчальних посібників</string>
<string name="search_lessons_hint">Пошук уроків</string>
<string name="search_lessons_content_description">Пошук уроків</string>
<string name="android_studio">Android Studio</string>
<string name="android_start">Start a new project</string>
<string name="android_start_project">Створити новий проєкт</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-ur-rPK/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
<string name="play_store">پلے اسٹور</string>
<string name="search_tutorials_hint">ٹیوٹوریلز تلاش کریں</string>
<string name="search_tutorials_content_description">ٹیوٹوریلز تلاش کریں</string>
<string name="search_lessons_hint">سبق تلاش کریں</string>
<string name="search_lessons_content_description">سبق تلاش کریں</string>
<string name="android_studio">اینڈرائیڈ اسٹوڈیو</string>
<string name="android_start">Start a new project</string>
<string name="android_start_project">نیا پروجیکٹ شروع کریں</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-vi-rVN/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
<string name="play_store">Cửa hàng Play</string>
<string name="search_tutorials_hint">Tìm kiếm hướng dẫn</string>
<string name="search_tutorials_content_description">Tìm kiếm hướng dẫn</string>
<string name="search_lessons_hint">Tìm kiếm bài học</string>
<string name="search_lessons_content_description">Tìm kiếm bài học</string>
<string name="android_studio">Android Studio</string>
<string name="android_start">Start a new project</string>
<string name="android_start_project">Bắt đầu một dự án mới</string>
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/values-zh-rTW/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
<string name="play_store">Play 商店</string>
<string name="search_tutorials_hint">搜尋教學</string>
<string name="search_tutorials_content_description">搜尋教學</string>
<string name="search_lessons_hint">搜尋課程</string>
<string name="search_lessons_content_description">搜尋課程</string>
<string name="android_studio">Android Studio</string>
<string name="android_start">Start a new project</string>
<string name="android_start_project">開始一個新專案</string>
Expand Down
Loading