From 457ff8b88f8d3174492b5f2a979a506b84a729e8 Mon Sep 17 00:00:00 2001 From: Daniele Gobbetti Date: Fri, 3 May 2024 12:22:15 +0200 Subject: [PATCH] Fixup: Introduce device specific writable directory (MAC address) Add logic to not fetch again files which had the previously defined name --- .../service/devices/garmin/FileTransferHandler.java | 6 ++++++ .../gadgetbridge/service/devices/garmin/GarminSupport.java | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/FileTransferHandler.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/FileTransferHandler.java index 2aa2e36f42..5098ff7a19 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/FileTransferHandler.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/FileTransferHandler.java @@ -341,6 +341,12 @@ public class FileTransferHandler implements MessageHandler { return getFiletype().name() + "_" + dateString + "_" + getFileIndex() + (getFiletype().isFitFile() ? ".fit" : ".bin"); } + public String getLegacyFileName() { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss"); + String dateString = dateFormat.format(fileDate); + return getFiletype().name() + "_" + getFileIndex() + "_" + dateString + (getFiletype().isFitFile() ? ".fit" : ".bin"); + } + @NonNull @Override public String toString() { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/GarminSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/GarminSupport.java index 9c5f1317e9..a4ad3f453d 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/GarminSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/GarminSupport.java @@ -457,7 +457,7 @@ public class GarminSupport extends AbstractBTLEDeviceSupport implements ICommuni try { FileTransferHandler.DirectoryEntry directoryEntry = filesToDownload.remove(); - while (checkFileExists(directoryEntry.getFileName())) { + while (checkFileExists(directoryEntry.getFileName()) || checkFileExists(directoryEntry.getLegacyFileName())) { LOG.debug("File: {} already downloaded, not downloading again.", directoryEntry.getFileName()); if (!getKeepActivityDataOnDevice()) // delete file from watch if already downloaded sendOutgoingMessage(new SetFileFlagsMessage(directoryEntry.getFileIndex(), SetFileFlagsMessage.FileFlags.ARCHIVE));