fix: can't cancel srtm file downloading

This commit is contained in:
nazar-kutz 2021-04-16 22:32:14 +03:00
parent 2f1e43147d
commit adbc331fce
2 changed files with 7 additions and 9 deletions

View file

@ -243,6 +243,9 @@ public class DownloadIndexesThread {
if (item instanceof MultipleDownloadItem) { if (item instanceof MultipleDownloadItem) {
MultipleDownloadItem multipleDownloadItem = (MultipleDownloadItem) item; MultipleDownloadItem multipleDownloadItem = (MultipleDownloadItem) item;
cancelDownload(multipleDownloadItem.getAllIndexes()); cancelDownload(multipleDownloadItem.getAllIndexes());
} else if (item instanceof SrtmDownloadItem) {
IndexItem indexItem = ((SrtmDownloadItem) item).getIndexItem();
cancelDownload(indexItem);
} else if (item instanceof IndexItem) { } else if (item instanceof IndexItem) {
IndexItem indexItem = (IndexItem) item; IndexItem indexItem = (IndexItem) item;
cancelDownload(indexItem); cancelDownload(indexItem);

View file

@ -10,11 +10,10 @@ import net.osmand.plus.OsmandApplication;
import net.osmand.plus.R; import net.osmand.plus.R;
import net.osmand.plus.activities.LocalIndexInfo; import net.osmand.plus.activities.LocalIndexInfo;
import net.osmand.plus.helpers.enums.MetricsConstants; import net.osmand.plus.helpers.enums.MetricsConstants;
import net.osmand.util.Algorithms;
import java.io.File; import java.io.File;
import java.text.DateFormat; import java.text.DateFormat;
import java.util.Collections; import java.util.ArrayList;
import java.util.List; import java.util.List;
import static net.osmand.IndexConstants.BINARY_SRTM_MAP_INDEX_EXT; import static net.osmand.IndexConstants.BINARY_SRTM_MAP_INDEX_EXT;
@ -105,7 +104,6 @@ public class SrtmDownloadItem extends DownloadItem {
@Override @Override
public String getFileName() { public String getFileName() {
// may be check only downloaded items if any downloaded
return getIndexItem().getFileName(); return getIndexItem().getFileName();
} }
@ -113,14 +111,11 @@ public class SrtmDownloadItem extends DownloadItem {
@Override @Override
public List<File> getDownloadedFiles(@NonNull OsmandApplication app) { public List<File> getDownloadedFiles(@NonNull OsmandApplication app) {
// may be check both indexes files // may be check both indexes files
List<File> result; List<File> result = new ArrayList<>();
for (IndexItem index : indexes) { for (IndexItem index : indexes) {
result = index.getDownloadedFiles(app); result.addAll(index.getDownloadedFiles(app));
if (!Algorithms.isEmpty(result)) {
return result;
}
} }
return Collections.emptyList(); return result;
} }
public String getDate(@NonNull DateFormat dateFormat, boolean remote) { public String getDate(@NonNull DateFormat dateFormat, boolean remote) {