From 6d687c3efb657621deebafa1a55e7a2edc043b37 Mon Sep 17 00:00:00 2001 From: "Vitaly V. Pinchuk" Date: Mon, 4 May 2020 17:15:08 +0300 Subject: [PATCH] Fixes #3720: None of the filters work on Nearby list (#3723) --- .../commons/nearby/NearbyAdapterFactory.java | 13 +++ .../fragments/NearbyParentFragment.java | 108 +++++++++--------- .../NearbyParentFragmentPresenter.java | 6 +- 3 files changed, 71 insertions(+), 56 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyAdapterFactory.java b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyAdapterFactory.java index 2dc2e4e40..3f4dacd84 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/NearbyAdapterFactory.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/NearbyAdapterFactory.java @@ -41,4 +41,17 @@ public class NearbyAdapterFactory { rendererAdapter.notifyDataSetChanged(); rendererAdapter.diffUpdate(newPlaceList); } + + public void clear(RVRendererAdapter rendererAdapter){ + rendererAdapter.clear(); + } + + public void add(Place place, RVRendererAdapter rendererAdapter){ + rendererAdapter.add(place); + } + + public void update(RVRendererAdapter rendererAdapter){ + rendererAdapter.notifyDataSetChanged(); + } + } diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java b/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java index 8a5860ef6..4e156ca34 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/nearby/fragments/NearbyParentFragment.java @@ -628,6 +628,18 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment adapterFactory.updateAdapterData(placeList, (RVRendererAdapter) rvNearbyList.getAdapter()); } + public void clearNearbyList() { + adapterFactory.clear((RVRendererAdapter) rvNearbyList.getAdapter()); + } + + public void updateNearbyList() { + adapterFactory.update((RVRendererAdapter) rvNearbyList.getAdapter()); + } + + public void addPlaceToNearbyList(Place place) { + adapterFactory.add(place, (RVRendererAdapter) rvNearbyList.getAdapter()); + } + @Override public fr.free.nrw.commons.location.LatLng getLastLocation() { return lastKnownLocation; @@ -1082,7 +1094,8 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment @Override public void filterOutAllMarkers() { - hideAllMArkers(); + hideAllMarkers(); + updateNearbyList(); } /** @@ -1093,6 +1106,7 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment for (MarkerPlaceGroup markerPlaceGroup : NearbyController.markerLabelList) { updateMarker(markerPlaceGroup.getIsBookmarked(), markerPlaceGroup.getPlace(), NearbyController.currentLocation); } + updateNearbyList(); } /** @@ -1104,65 +1118,46 @@ public class NearbyParentFragment extends CommonsDaggerSupportFragment * @param filterForAllNoneType true if we filter places with all none button */ @Override - public void filterMarkersByLabels(List