From 75b29cbec4ecd5ba5cf23243310a6c3f3321da91 Mon Sep 17 00:00:00 2001 From: Taylor Smock Date: Fri, 18 Sep 2020 09:58:49 -0600 Subject: [PATCH] Revert "DownloadListener: Remove unneeded code" This reverts commit a061c2110d8ad93f58c0e98870c8095c7c7308c6. --- .../josm/plugins/mapwithai/backend/DownloadListener.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/DownloadListener.java b/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/DownloadListener.java index 61f490d..d2a1819 100644 --- a/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/DownloadListener.java +++ b/src/main/java/org/openstreetmap/josm/plugins/mapwithai/backend/DownloadListener.java @@ -4,10 +4,12 @@ package org.openstreetmap.josm.plugins.mapwithai.backend; import java.lang.ref.WeakReference; import java.util.Collection; import java.util.HashSet; +import java.util.List; import java.util.Objects; import java.util.stream.Collectors; import org.openstreetmap.josm.data.Bounds; +import org.openstreetmap.josm.data.DataSource; import org.openstreetmap.josm.data.osm.DataSet; import org.openstreetmap.josm.data.osm.DataSourceChangeEvent; import org.openstreetmap.josm.data.osm.DataSourceListener; @@ -23,6 +25,7 @@ import org.openstreetmap.josm.tools.Destroyable; public final class DownloadListener implements DataSourceListener, Destroyable { final WeakReference ds; + private static final double BBOX_SIMILARITY_DEGREES = 0.001; private static final Collection LISTENERS = new HashSet<>(); public DownloadListener(DataSet dataSet) { @@ -43,6 +46,9 @@ public final class DownloadListener implements DataSourceListener, Destroyable { if (layer.downloadContinuous()) { MapWithAIDataUtils.getMapWithAIData(layer, event.getAdded().stream().map(ev -> ev.bounds) .map(Bounds::toBBox).collect(Collectors.toList())); + List bounds = DataSource.getDataSourceBounds(event.getSource().getDataSources()); + bounds.removeIf(a -> layer.getDataSet().getDataSourceBounds().stream().map(Bounds::toBBox) + .anyMatch(b -> b.bboxIsFunctionallyEqual(a.toBBox(), BBOX_SIMILARITY_DEGREES))); } } }