diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyFilterSearchRecyclerViewAdapter.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyFilterSearchRecyclerViewAdapter.java index efe89db95..c2d4eec9c 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyFilterSearchRecyclerViewAdapter.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyFilterSearchRecyclerViewAdapter.java @@ -70,7 +70,7 @@ public class NearbyFilterSearchRecyclerViewAdapter @NonNull @Override public RecyclerViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { - View itemView = inflater.inflate(callback.isDarkTheme()?R.layout.nearby_search_list_item_dark:R.layout.nearby_search_list_item, parent, false); + View itemView = inflater.inflate(callback.isDarkTheme() ? R.layout.nearby_search_list_item_dark : R.layout.nearby_search_list_item, parent, false); return new RecyclerViewHolder(itemView); } @@ -79,17 +79,20 @@ public class NearbyFilterSearchRecyclerViewAdapter Label label = displayedLabels.get(position); holder.placeTypeIcon.setImageResource(label.getIcon()); holder.placeTypeLabel.setText(label.toString()); + holder.placeTypeLayout.setSelected(label.isSelected()); - holder.placeTypeLayout.setBackgroundColor(label.isSelected() ? ContextCompat.getColor(context, R.color.divider_grey) : callback.isDarkTheme()?Color.BLACK:Color.WHITE); holder.placeTypeLayout.setOnClickListener(view -> { callback.setCheckboxUnknown(); + if (label.isSelected()) { selectedLabels.remove(label); } else { selectedLabels.add(label); } + label.setSelected(!label.isSelected()); - holder.placeTypeLayout.setBackgroundColor(label.isSelected() ? ContextCompat.getColor(context, R.color.divider_grey) : Color.WHITE); + holder.placeTypeLayout.setSelected(label.isSelected()); + callback.filterByMarkerType(selectedLabels, 0, false, false); }); } @@ -165,7 +168,7 @@ public class NearbyFilterSearchRecyclerViewAdapter notifyDataSetChanged(); } - public interface Callback{ + public interface Callback { void setCheckboxUnknown(); diff --git a/app/src/main/res/drawable/linearlayout_color_dark_selector.xml b/app/src/main/res/drawable/linearlayout_color_dark_selector.xml new file mode 100644 index 000000000..ffb78141a --- /dev/null +++ b/app/src/main/res/drawable/linearlayout_color_dark_selector.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/linearlayout_color_selector.xml b/app/src/main/res/drawable/linearlayout_color_selector.xml new file mode 100644 index 000000000..f11c4a93a --- /dev/null +++ b/app/src/main/res/drawable/linearlayout_color_selector.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/nearby_search_list_item.xml b/app/src/main/res/layout/nearby_search_list_item.xml index b6261e80b..439e6fe70 100644 --- a/app/src/main/res/layout/nearby_search_list_item.xml +++ b/app/src/main/res/layout/nearby_search_list_item.xml @@ -1,18 +1,20 @@ + + android:padding="@dimen/tiny_margin" + android:background="@drawable/linearlayout_color_selector"> + android:layout_height="wrap_content"/> + android:layout_height="wrap_content"/> \ No newline at end of file diff --git a/app/src/main/res/layout/nearby_search_list_item_dark.xml b/app/src/main/res/layout/nearby_search_list_item_dark.xml index fd87641f3..e62ab7b42 100644 --- a/app/src/main/res/layout/nearby_search_list_item_dark.xml +++ b/app/src/main/res/layout/nearby_search_list_item_dark.xml @@ -4,16 +4,17 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="@dimen/tiny_margin" - android:orientation="horizontal"> + android:orientation="horizontal" + android:background="@drawable/linearlayout_color_dark_selector"> + android:layout_height="wrap_content"/> + android:textColor="@color/white"/> \ No newline at end of file