diff --git a/app/src/main/java/com/github/libretube/constants/PreferenceKeys.kt b/app/src/main/java/com/github/libretube/constants/PreferenceKeys.kt index 88793da34..0b8a113f3 100644 --- a/app/src/main/java/com/github/libretube/constants/PreferenceKeys.kt +++ b/app/src/main/java/com/github/libretube/constants/PreferenceKeys.kt @@ -40,6 +40,7 @@ object PreferenceKeys { const val PLAYLISTS_ORDER = "playlists_order" const val PLAYLIST_SORT_ORDER = "playlist_sort_order" const val HOME_TAB_CONTENT = "home_tab_content" + const val SEARCH_SUGGESTIONS = "search_suggestions" /** * Instance diff --git a/app/src/main/java/com/github/libretube/ui/fragments/SearchFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/SearchFragment.kt index dc07b7432..57042bb11 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/SearchFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/SearchFragment.kt @@ -12,9 +12,11 @@ import androidx.lifecycle.lifecycleScope import androidx.lifecycle.repeatOnLifecycle import androidx.recyclerview.widget.LinearLayoutManager import com.github.libretube.api.RetrofitInstance +import com.github.libretube.constants.PreferenceKeys import com.github.libretube.databinding.FragmentSearchBinding import com.github.libretube.db.DatabaseHolder.Database import com.github.libretube.extensions.TAG +import com.github.libretube.helpers.PreferenceHelper import com.github.libretube.ui.activities.MainActivity import com.github.libretube.ui.adapters.SearchHistoryAdapter import com.github.libretube.ui.adapters.SearchSuggestionsAdapter @@ -60,12 +62,12 @@ class SearchFragment : Fragment() { } private fun showData(query: String?) { - // fetch the search or history + // fetch search suggestions if enabled or show the search history binding.historyEmpty.visibility = View.GONE binding.suggestionsRecycler.visibility = View.VISIBLE if (query.isNullOrEmpty()) { showHistory() - } else { + } else if (PreferenceHelper.getBoolean(PreferenceKeys.SEARCH_SUGGESTIONS, true)) { fetchSuggestions(query) } } diff --git a/app/src/main/res/drawable/ic_suggestions.xml b/app/src/main/res/drawable/ic_suggestions.xml new file mode 100644 index 000000000..8ba101dc5 --- /dev/null +++ b/app/src/main/res/drawable/ic_suggestions.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a4c0cf94e..2a2f61473 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -430,6 +430,7 @@ FreeTube YouTube (CSV) Home tab content + Show search suggestions Download Service diff --git a/app/src/main/res/xml/general_settings.xml b/app/src/main/res/xml/general_settings.xml index 13110bd8a..1f73c9dab 100644 --- a/app/src/main/res/xml/general_settings.xml +++ b/app/src/main/res/xml/general_settings.xml @@ -36,6 +36,12 @@ app:key="auto_rotation" app:title="@string/auto_rotation" /> + +