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" />
+
+