From d6d956b7481a04172ea22ab0b6b0253f360a5223 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Rebelo?= Date: Thu, 1 Aug 2024 22:54:40 +0100 Subject: [PATCH] Xiaomi: Dump fetched files to storage --- .../service/devices/xiaomi/XiaomiSupport.java | 2 +- .../xiaomi/activity/XiaomiActivityFileFetcher.java | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiSupport.java index 7f569cd02..bbab2636f 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiSupport.java @@ -477,7 +477,7 @@ public class XiaomiSupport extends AbstractDeviceSupport { LOG.info("Parsing all activity files from storage"); try { - final File externalFilesDir = FileUtils.getExternalFilesDir(); + final File externalFilesDir = getCoordinator().getWritableExportDirectory(getDevice()); final File targetDir = new File(externalFilesDir, "rawFetchOperations"); if (!targetDir.exists()) { diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/activity/XiaomiActivityFileFetcher.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/activity/XiaomiActivityFileFetcher.java index 903362a4f..440bac64f 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/activity/XiaomiActivityFileFetcher.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/activity/XiaomiActivityFileFetcher.java @@ -32,6 +32,7 @@ import java.util.Queue; import nodomain.freeyourgadget.gadgetbridge.BuildConfig; import nodomain.freeyourgadget.gadgetbridge.R; +import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.service.btle.BLETypeConversions; import nodomain.freeyourgadget.gadgetbridge.service.devices.xiaomi.XiaomiPreferences; import nodomain.freeyourgadget.gadgetbridge.service.devices.xiaomi.XiaomiSupport; @@ -96,10 +97,7 @@ public class XiaomiActivityFileFetcher { final byte[] fileIdBytes = Arrays.copyOfRange(data, 0, 7); final XiaomiActivityFileId fileId = XiaomiActivityFileId.from(fileIdBytes); - if (BuildConfig.DEBUG) { - // FIXME comment this out - dumpBytesToExternalStorage(fileId, data); - } + dumpBytesToExternalStorage(fileId, data); if (!XiaomiPreferences.keepActivityDataOnDevice(mHealthService.getSupport().getDevice())) { LOG.debug("Acking recorded data {}", fileId); @@ -162,8 +160,9 @@ public class XiaomiActivityFileFetcher { protected void dumpBytesToExternalStorage(final XiaomiActivityFileId fileId, final byte[] bytes) { try { - final File externalFilesDir = FileUtils.getExternalFilesDir(); - final File targetDir = new File(externalFilesDir, "rawFetchOperations"); + final GBDevice device = mHealthService.getSupport().getDevice(); + final File exportDirectory = device.getDeviceCoordinator().getWritableExportDirectory(device); + final File targetDir = new File(exportDirectory, "rawFetchOperations"); targetDir.mkdirs(); final File outputFile = new File(targetDir, fileId.getFilename());