From 88f687496cb7b8aac65110677af1c7c750854b46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Rebelo?= Date: Sat, 18 May 2024 20:59:50 +0100 Subject: [PATCH] Garmin: Improve logging during file downloading --- .../service/devices/garmin/FileTransferHandler.java | 10 ++++++++-- .../gadgetbridge/service/devices/garmin/FileType.java | 3 +++ 2 files changed, 11 insertions(+), 2 deletions(-) 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 62869af47..50fe09c2c 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 @@ -154,6 +154,7 @@ public class FileTransferHandler implements MessageHandler { } private void parseDirectoryEntries() { + LOG.debug("Parsing directory entries for {}", currentlyDownloading.directoryEntry); if ((currentlyDownloading.getDataSize() % 16) != 0) throw new IllegalArgumentException("Invalid directory data length"); final GarminByteBufferReader reader = new GarminByteBufferReader(currentlyDownloading.dataHolder.array()); @@ -169,10 +170,15 @@ public class FileTransferHandler implements MessageHandler { final int fileSize = reader.readInt();//12 final Date fileDate = new Date(GarminTimeUtils.garminTimestampToJavaMillis(reader.readInt()));//16 final DirectoryEntry directoryEntry = new DirectoryEntry(fileIndex, filetype, fileNumber, specificFlags, fileFlags, fileSize, fileDate); - if (directoryEntry.filetype == null) //silently discard unsupported files + if (directoryEntry.filetype == null) { + // discard unsupported files + LOG.warn("Unsupported directory entry of type {}/{}", fileDataType, fileSubType); continue; - if (!FILE_TYPES_TO_PROCESS.contains(directoryEntry.filetype)) + } + if (!FILE_TYPES_TO_PROCESS.contains(directoryEntry.filetype)) { continue; + } + LOG.debug("Queueing {} for download", directoryEntry); deviceSupport.addFileToDownloadList(directoryEntry); } currentlyDownloading = null; diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/FileType.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/FileType.java index 36cc40204..10187d7c6 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/FileType.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/garmin/FileType.java @@ -37,8 +37,11 @@ public class FileType { public enum FILETYPE { //TODO: add specialized method to parse each file type to the enum? // virtual/undocumented DIRECTORY(0, 0), + UNKNOWN_1_0(1, 0), // venu 3, fileIndex=4096 // fit files + DEVICE(128, 1), + SETTINGS(128, 2), ACTIVITY(128, 4), WORKOUTS(128, 5), SCHEDULES(128, 7),