From 859037fe24b0ea753181111945e0e881117cc041 Mon Sep 17 00:00:00 2001 From: "Vitaly V. Pinchuk" Date: Thu, 30 Apr 2020 21:17:32 +0300 Subject: [PATCH 1/2] Fixes #3720: None of the filters work on Nearby list --- .../commons/nearby/NearbyAdapterFactory.java | 13 +++ .../fragments/NearbyParentFragment.java | 104 +++++++++--------- 2 files changed, 62 insertions(+), 55 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 2dc2e4e404..3f4dacd843 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 void updateAdapterData(List newPlaceList, RVRendererAdapter 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 35af7462d6..b862a1ab6b 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 void updateListFragment(List placeList) { 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 void updateMapMarkers(List nearbyBaseMarkers, Marker se @Override public void filterOutAllMarkers() { - hideAllMArkers(); + hideAllMarkers(); + updateNearbyList(); } /** @@ -1093,6 +1106,7 @@ public void displayAllMarkers() { for (MarkerPlaceGroup markerPlaceGroup : NearbyController.markerLabelList) { updateMarker(markerPlaceGroup.getIsBookmarked(), markerPlaceGroup.getPlace(), NearbyController.currentLocation); } + updateNearbyList(); } /** @@ -1108,61 +1122,41 @@ public void filterMarkersByLabels(List