From dbc270ad9fddcb2889a1b27ea07846ed2b4125ef Mon Sep 17 00:00:00 2001 From: Daniele Gobbetti Date: Wed, 24 Apr 2024 10:11:23 +0200 Subject: [PATCH] Garmin: use developer device setting for keeping data on device Make use of the previously added preference to toggle file archival (deletion) on the watch. Default is true (keep data on device) until we are sure of the consequences. --- .../service/devices/garmin/GarminSupport.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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 62460a40c..0c50acc20 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 @@ -237,13 +237,17 @@ public class GarminSupport extends AbstractBTLEDeviceSupport implements ICommuni } else if (deviceEvent instanceof FileDownloadedDeviceEvent) { LOG.debug("FILE DOWNLOAD COMPLETE {}", ((FileDownloadedDeviceEvent) deviceEvent).directoryEntry.getFileName()); - if (false) // delete file from watch upon successful download TODO: add device setting + if (!getKeepActivityDataOnDevice()) // delete file from watch upon successful download sendOutgoingMessage(new SetFileFlagsMessage(((FileDownloadedDeviceEvent) deviceEvent).directoryEntry.getFileIndex(), SetFileFlagsMessage.FileFlags.ARCHIVE)); } super.evaluateGBDeviceEvent(deviceEvent); } + private boolean getKeepActivityDataOnDevice() { + return getDevicePrefs().getBoolean("keep_activity_data_on_device", true); // TODO: change to default false once we are sure of the consequences + } + @Override public void onFetchRecordedData(final int dataTypes) { if (this.supportedFileTypeList.isEmpty()) { @@ -419,7 +423,7 @@ public class GarminSupport extends AbstractBTLEDeviceSupport implements ICommuni FileTransferHandler.DirectoryEntry directoryEntry = filesToDownload.remove(); while (checkFileExists(directoryEntry.getFileName())) { LOG.debug("File: {} already downloaded, not downloading again.", directoryEntry.getFileName()); - if (false) // delete file from watch if already downloaded TODO: add device setting + if (!getKeepActivityDataOnDevice()) // delete file from watch if already downloaded sendOutgoingMessage(new SetFileFlagsMessage(directoryEntry.getFileIndex(), SetFileFlagsMessage.FileFlags.ARCHIVE)); directoryEntry = filesToDownload.remove(); }