Fix out of memory error

This commit is contained in:
Dima-1 2021-04-16 12:23:44 +03:00
parent 6db150b4e5
commit 26b7ece371

View file

@ -124,8 +124,8 @@ public class TravelObfHelper implements TravelHelper {
final LatLon location = app.getMapViewTrackingUtilities().getMapLocation(); final LatLon location = app.getMapViewTrackingUtilities().getMapLocation();
for (final BinaryMapIndexReader reader : getReaders()) { for (final BinaryMapIndexReader reader : getReaders()) {
try { try {
searchAmenity(foundAmenities, location, reader, searchRadius, -1, ROUTE_ARTICLE); searchAmenity(foundAmenities, location, reader, searchRadius, -1, ROUTE_ARTICLE, lang);
searchAmenity(foundAmenities, location, reader, searchRadius / 5, 15, ROUTE_TRACK); searchAmenity(foundAmenities, location, reader, searchRadius / 5, 15, ROUTE_TRACK, null);
} catch (Exception e) { } catch (Exception e) {
LOG.error(e.getMessage(), e); LOG.error(e.getMessage(), e);
} }
@ -172,12 +172,14 @@ public class TravelObfHelper implements TravelHelper {
private void searchAmenity(final List<Pair<File, Amenity>> amenitiesList, LatLon location, private void searchAmenity(final List<Pair<File, Amenity>> amenitiesList, LatLon location,
final BinaryMapIndexReader reader, int searchRadius, int zoom, final BinaryMapIndexReader reader, int searchRadius, int zoom,
String searchFilter) throws IOException { String searchFilter, final String lang) throws IOException {
reader.searchPoi(BinaryMapIndexReader.buildSearchPoiRequest( reader.searchPoi(BinaryMapIndexReader.buildSearchPoiRequest(
location, searchRadius, zoom, getSearchFilter(searchFilter), new ResultMatcher<Amenity>() { location, searchRadius, zoom, getSearchFilter(searchFilter), new ResultMatcher<Amenity>() {
@Override @Override
public boolean publish(Amenity object) { public boolean publish(Amenity object) {
amenitiesList.add(new Pair<>(reader.getFile(), object)); if (lang == null || object.getNamesMap(true).containsKey(lang)) {
amenitiesList.add(new Pair<>(reader.getFile(), object));
}
return false; return false;
} }
@ -231,7 +233,7 @@ public class TravelObfHelper implements TravelHelper {
} }
res.user = Algorithms.emptyIfNull(amenity.getTagContent(USER)); res.user = Algorithms.emptyIfNull(amenity.getTagContent(USER));
res.activityType = Algorithms.emptyIfNull(amenity.getTagContent(ACTIVITY_TYPE)); res.activityType = Algorithms.emptyIfNull(amenity.getTagContent(ACTIVITY_TYPE));
articles.put("en", res); articles.put("", res);
return articles; return articles;
} }