diff --git a/app/src/main/java/com/infomaniak/drive/ui/fileList/SearchFragment.kt b/app/src/main/java/com/infomaniak/drive/ui/fileList/SearchFragment.kt
index 0fbb3b3655..d420fb239e 100644
--- a/app/src/main/java/com/infomaniak/drive/ui/fileList/SearchFragment.kt
+++ b/app/src/main/java/com/infomaniak/drive/ui/fileList/SearchFragment.kt
@@ -19,9 +19,7 @@ package com.infomaniak.drive.ui.fileList
import android.annotation.SuppressLint
import android.os.Bundle
-import android.view.LayoutInflater
import android.view.View
-import android.view.ViewGroup
import android.view.inputmethod.EditorInfo
import android.widget.EditText
import androidx.annotation.StringRes
@@ -37,12 +35,10 @@ import com.infomaniak.drive.data.models.File.SortTypeUsage
import com.infomaniak.drive.data.models.SearchFilter
import com.infomaniak.drive.data.models.SearchFilter.FilterKey
import com.infomaniak.drive.data.models.UiSettings
-import com.infomaniak.drive.databinding.RecentSearchesBinding
import com.infomaniak.drive.utils.Utils
import com.infomaniak.drive.utils.getName
import com.infomaniak.drive.utils.showSnackbar
import com.infomaniak.drive.views.DebouncingTextWatcher
-import com.infomaniak.lib.core.utils.safeBinding
import com.infomaniak.lib.core.utils.safeNavigate
import com.infomaniak.lib.core.utils.setPagination
@@ -58,15 +54,9 @@ class SearchFragment : FileListFragment() {
private lateinit var filtersAdapter: SearchFiltersAdapter
private lateinit var recentSearchesAdapter: RecentSearchesAdapter
- private var recentSearchesBinding: RecentSearchesBinding by safeBinding()
private var isDownloading = false
- override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
- RecentSearchesBinding.inflate(inflater, container, false).also { recentSearchesBinding = it }.root
- return super.onCreateView(inflater, container, savedInstanceState)
- }
-
@SuppressLint("InflateParams")
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
downloadFiles = DownloadFiles()
@@ -212,17 +202,17 @@ class SearchFragment : FileListFragment() {
}
private fun configureRecentSearches() = with(binding) {
- fileListLayout.addView(recentSearchesBinding.root, 1)
+ recentSearchLayout.root.isVisible = true
val recentSearches = UiSettings(requireContext()).recentSearches
recentSearchesAdapter = RecentSearchesAdapter(
searches = ArrayList(recentSearches),
onSearchClicked = searchViewCard.searchView::setText,
- onListEmpty = { recentSearchesBinding.root.isGone = true }
+ onListEmpty = { recentSearchLayout.root.isGone = true }
).also {
- recentSearchesBinding.recentSearchesRecyclerView.adapter = it
- recentSearchesBinding.recentSearchesContainer.isGone = recentSearches.isEmpty()
+ recentSearchLayout.recentSearchesRecyclerView.adapter = it
+ recentSearchLayout.recentSearchesContainer.isGone = recentSearches.isEmpty()
}
}
@@ -308,8 +298,8 @@ class SearchFragment : FileListFragment() {
}
}
- private fun updateMostRecentSearches() {
- val newSearch = binding.searchViewCard.searchView.text.toString().trim()
+ private fun updateMostRecentSearches(): Unit = with(binding) {
+ val newSearch = searchViewCard.searchView.text.toString().trim()
if (newSearch.isEmpty()) return
val newSearches = (listOf(newSearch) + recentSearchesAdapter.searches)
@@ -317,7 +307,7 @@ class SearchFragment : FileListFragment() {
.take(MAX_MOST_RECENT_SEARCHES)
.also(recentSearchesAdapter::setItems)
- recentSearchesBinding.recentSearchesContainer.isGone = newSearches.isEmpty()
+ recentSearchLayout.recentSearchesContainer.isGone = newSearches.isEmpty()
}
private fun triggerSearch() {
@@ -356,7 +346,7 @@ class SearchFragment : FileListFragment() {
private fun updateUi(mode: VisibilityMode) = with(binding) {
fun displayRecentSearches() {
- recentSearchesBinding.root.isVisible = true
+ recentSearchLayout.root.isVisible = true
filtersRecyclerView.isGone = true
noFilesLayout.isGone = true
sortLayout.isGone = true
@@ -364,7 +354,7 @@ class SearchFragment : FileListFragment() {
}
fun displayLoadingView() {
- recentSearchesBinding.root.isGone = true
+ recentSearchLayout.root.isGone = true
filtersRecyclerView.isGone = filtersAdapter.filters.isEmpty()
noFilesLayout.isGone = true
sortLayout.isGone = true
@@ -372,7 +362,7 @@ class SearchFragment : FileListFragment() {
}
fun displaySearchResult(mode: VisibilityMode) {
- recentSearchesBinding.root.isGone = true
+ recentSearchLayout.root.isGone = true
filtersRecyclerView.isGone = filtersAdapter.filters.isEmpty()
changeNoFilesLayoutVisibility(mode == VisibilityMode.NO_RESULTS, changeControlsVisibility = false)
}
diff --git a/app/src/main/res/layout/fragment_file_list.xml b/app/src/main/res/layout/fragment_file_list.xml
index d22b0d379d..482578fef9 100644
--- a/app/src/main/res/layout/fragment_file_list.xml
+++ b/app/src/main/res/layout/fragment_file_list.xml
@@ -97,6 +97,13 @@
android:visibility="gone"
tools:visibility="visible" />
+
+