Skip to content

Commit 9d8aa44

Browse files
committed
change SearchRecyclerViewAdapter to work with SearchResult
1 parent 358777c commit 9d8aa44

File tree

2 files changed

+21
-23
lines changed

2 files changed

+21
-23
lines changed

app/src/main/java/com/amaze/filemanager/adapters/SearchRecyclerViewAdapter.kt

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -31,27 +31,30 @@ import androidx.recyclerview.widget.ListAdapter
3131
import androidx.recyclerview.widget.RecyclerView
3232
import com.amaze.filemanager.R
3333
import com.amaze.filemanager.application.AppConfig
34-
import com.amaze.filemanager.filesystem.HybridFileParcelable
34+
import com.amaze.filemanager.asynchronous.asynctasks.searchfilesystem.SearchResult
3535
import com.amaze.filemanager.ui.activities.MainActivity
3636
import com.amaze.filemanager.ui.colors.ColorPreference
3737
import java.util.Random
3838

3939
class SearchRecyclerViewAdapter :
40-
ListAdapter<HybridFileParcelable, SearchRecyclerViewAdapter.ViewHolder>(
40+
ListAdapter<SearchResult, SearchRecyclerViewAdapter.ViewHolder>(
4141

42-
object : DiffUtil.ItemCallback<HybridFileParcelable>() {
42+
object : DiffUtil.ItemCallback<SearchResult>() {
4343
override fun areItemsTheSame(
44-
oldItem: HybridFileParcelable,
45-
newItem: HybridFileParcelable
44+
oldItem: SearchResult,
45+
newItem: SearchResult
4646
): Boolean {
47-
return oldItem.path == newItem.path && oldItem.name == newItem.name
47+
return oldItem.file.path == newItem.file.path &&
48+
oldItem.file.name == newItem.file.name
4849
}
4950

5051
override fun areContentsTheSame(
51-
oldItem: HybridFileParcelable,
52-
newItem: HybridFileParcelable
52+
oldItem: SearchResult,
53+
newItem: SearchResult
5354
): Boolean {
54-
return oldItem.path == newItem.path && oldItem.name == newItem.name
55+
return oldItem.file.path == newItem.file.path &&
56+
oldItem.file.name == newItem.file.name &&
57+
oldItem.matchRange == newItem.matchRange
5558
}
5659
}
5760
) {
@@ -62,17 +65,17 @@ class SearchRecyclerViewAdapter :
6265
}
6366

6467
override fun onBindViewHolder(holder: SearchRecyclerViewAdapter.ViewHolder, position: Int) {
65-
val item = getItem(position)
68+
val (file, matchResult) = getItem(position)
6669

67-
holder.fileNameTV.text = item.name
68-
holder.filePathTV.text = item.path.substring(0, item.path.lastIndexOf("/"))
70+
holder.fileNameTV.text = file.name
71+
holder.filePathTV.text = file.path.substring(0, file.path.lastIndexOf("/"))
6972

7073
holder.colorView.setBackgroundColor(getRandomColor(holder.colorView.context))
7174

7275
val colorPreference =
7376
(AppConfig.getInstance().mainActivityContext as MainActivity).currentColorPreference
7477

75-
if (item.isDirectory) {
78+
if (file.isDirectory) {
7679
holder.colorView.setBackgroundColor(colorPreference.primaryFirstTab)
7780
} else {
7881
holder.colorView.setBackgroundColor(colorPreference.accent)
@@ -93,16 +96,16 @@ class SearchRecyclerViewAdapter :
9396

9497
view.setOnClickListener {
9598

96-
val item = getItem(adapterPosition)
99+
val (file, _) = getItem(adapterPosition)
97100

98-
if (!item.isDirectory) {
99-
item.openFile(
101+
if (!file.isDirectory) {
102+
file.openFile(
100103
AppConfig.getInstance().mainActivityContext as MainActivity?,
101104
false
102105
)
103106
} else {
104107
(AppConfig.getInstance().mainActivityContext as MainActivity?)
105-
?.goToMain(item.path)
108+
?.goToMain(file.path)
106109
}
107110

108111
(AppConfig.getInstance().mainActivityContext as MainActivity?)

app/src/main/java/com/amaze/filemanager/ui/views/appbar/SearchView.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
import com.amaze.filemanager.adapters.SearchRecyclerViewAdapter;
3434
import com.amaze.filemanager.asynchronous.asynctasks.searchfilesystem.SearchResult;
3535
import com.amaze.filemanager.asynchronous.asynctasks.searchfilesystem.SearchResultListSorter;
36-
import com.amaze.filemanager.filesystem.HybridFileParcelable;
3736
import com.amaze.filemanager.filesystem.files.sort.DirSortBy;
3837
import com.amaze.filemanager.filesystem.files.sort.SortBy;
3938
import com.amaze.filemanager.filesystem.files.sort.SortOrder;
@@ -376,11 +375,7 @@ private void updateResultList(List<SearchResult> newResults, String searchTerm)
376375
ArrayList<SearchResult> items = new ArrayList<>(newResults);
377376
Collections.sort(
378377
items, new SearchResultListSorter(DirSortBy.NONE_ON_TOP, sortType, searchTerm));
379-
ArrayList<HybridFileParcelable> files = new ArrayList<>();
380-
for (SearchResult searchResult : items) {
381-
files.add(searchResult.getFile());
382-
}
383-
searchRecyclerViewAdapter.submitList(files);
378+
searchRecyclerViewAdapter.submitList(items);
384379
searchRecyclerViewAdapter.notifyDataSetChanged();
385380
}
386381

0 commit comments

Comments
 (0)