Skip to content

Commit 5fecd8c

Browse files
VitalyVPinchukashishkumar468
authored andcommitted
Add commons-app#3723 and commons-app#3721 to 2.13 release, fix conflicts
Conflicts were caused by merging commons-app#3723 before commons-app#3721 , so I just rolled both into one commit.
1 parent ecf0b42 commit 5fecd8c

File tree

2 files changed

+248
-205
lines changed

2 files changed

+248
-205
lines changed
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package fr.free.nrw.commons.nearby;
2+
3+
4+
import androidx.fragment.app.Fragment;
5+
6+
import com.pedrogomez.renderers.ListAdapteeCollection;
7+
import com.pedrogomez.renderers.RVRendererAdapter;
8+
import com.pedrogomez.renderers.RendererBuilder;
9+
10+
import java.util.Collections;
11+
import java.util.List;
12+
13+
import fr.free.nrw.commons.contributions.ContributionController;
14+
15+
public class NearbyAdapterFactory {
16+
17+
private Fragment fragment;
18+
private ContributionController controller;
19+
20+
public NearbyAdapterFactory(Fragment fragment, ContributionController controller) {
21+
this.fragment = fragment;
22+
this.controller = controller;
23+
}
24+
25+
public RVRendererAdapter<Place> create(List<Place> placeList) {
26+
return create(placeList, null);
27+
}
28+
29+
public RVRendererAdapter<Place> create(
30+
List<Place> placeList,
31+
PlaceRenderer.OnBookmarkClick onBookmarkClick
32+
) {
33+
RendererBuilder<Place> builder = new RendererBuilder<Place>()
34+
.bind(Place.class, new PlaceRenderer(fragment, controller, onBookmarkClick));
35+
ListAdapteeCollection<Place> collection = new ListAdapteeCollection<>(
36+
placeList != null ? placeList : Collections.emptyList());
37+
return new RVRendererAdapter<>(builder, collection);
38+
}
39+
40+
public void updateAdapterData(List<Place> newPlaceList, RVRendererAdapter<Place> rendererAdapter) {
41+
rendererAdapter.notifyDataSetChanged();
42+
rendererAdapter.diffUpdate(newPlaceList);
43+
}
44+
45+
public void clear(RVRendererAdapter<Place> rendererAdapter){
46+
rendererAdapter.clear();
47+
}
48+
49+
public void add(Place place, RVRendererAdapter<Place> rendererAdapter){
50+
rendererAdapter.add(place);
51+
}
52+
53+
public void update(RVRendererAdapter<Place> rendererAdapter){
54+
rendererAdapter.notifyDataSetChanged();
55+
}
56+
57+
}

0 commit comments

Comments
 (0)