From 636f4adc8d563bdc4e420112136c2f8a7bb81f73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Rebelo?= Date: Sun, 26 Nov 2023 18:13:39 +0000 Subject: [PATCH] Zepp OS: Delete device data when deleting device --- .../devices/huami/Huami2021Coordinator.java | 42 +++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/Huami2021Coordinator.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/Huami2021Coordinator.java index ef4348c65..4550da2dc 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/Huami2021Coordinator.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices/huami/Huami2021Coordinator.java @@ -36,7 +36,6 @@ import nodomain.freeyourgadget.gadgetbridge.activities.appmanager.AppManagerActi import nodomain.freeyourgadget.gadgetbridge.activities.devicesettings.DeviceSpecificSettingsCustomizer; import nodomain.freeyourgadget.gadgetbridge.capabilities.HeartRateCapability; import nodomain.freeyourgadget.gadgetbridge.capabilities.password.PasswordCapabilityImpl; -import de.greenrobot.dao.query.QueryBuilder; import nodomain.freeyourgadget.gadgetbridge.GBException; import nodomain.freeyourgadget.gadgetbridge.devices.InstallHandler; import nodomain.freeyourgadget.gadgetbridge.devices.SampleProvider; @@ -46,6 +45,13 @@ import nodomain.freeyourgadget.gadgetbridge.entities.AbstractActivitySample; import nodomain.freeyourgadget.gadgetbridge.entities.DaoSession; import nodomain.freeyourgadget.gadgetbridge.entities.Device; import nodomain.freeyourgadget.gadgetbridge.entities.HuamiExtendedActivitySampleDao; +import nodomain.freeyourgadget.gadgetbridge.entities.HuamiHeartRateManualSampleDao; +import nodomain.freeyourgadget.gadgetbridge.entities.HuamiHeartRateMaxSampleDao; +import nodomain.freeyourgadget.gadgetbridge.entities.HuamiHeartRateRestingSampleDao; +import nodomain.freeyourgadget.gadgetbridge.entities.HuamiPaiSampleDao; +import nodomain.freeyourgadget.gadgetbridge.entities.HuamiSleepRespiratoryRateSampleDao; +import nodomain.freeyourgadget.gadgetbridge.entities.HuamiSpo2SampleDao; +import nodomain.freeyourgadget.gadgetbridge.entities.HuamiStressSampleDao; import nodomain.freeyourgadget.gadgetbridge.impl.GBDevice; import nodomain.freeyourgadget.gadgetbridge.model.ActivitySummaryParser; import nodomain.freeyourgadget.gadgetbridge.service.devices.huami.AbstractHuami2021FWInstallHandler; @@ -216,8 +222,38 @@ public abstract class Huami2021Coordinator extends HuamiCoordinator { @NonNull final Device device, @NonNull final DaoSession session) throws GBException { final Long deviceId = device.getId(); - final QueryBuilder qb = session.getHuamiExtendedActivitySampleDao().queryBuilder(); - qb.where(HuamiExtendedActivitySampleDao.Properties.DeviceId.eq(deviceId)).buildDelete().executeDeleteWithoutDetachingEntities(); + + session.getHuamiExtendedActivitySampleDao().queryBuilder() + .where(HuamiExtendedActivitySampleDao.Properties.DeviceId.eq(deviceId)) + .buildDelete().executeDeleteWithoutDetachingEntities(); + + session.getHuamiStressSampleDao().queryBuilder() + .where(HuamiStressSampleDao.Properties.DeviceId.eq(deviceId)) + .buildDelete().executeDeleteWithoutDetachingEntities(); + + session.getHuamiSpo2SampleDao().queryBuilder() + .where(HuamiSpo2SampleDao.Properties.DeviceId.eq(deviceId)) + .buildDelete().executeDeleteWithoutDetachingEntities(); + + session.getHuamiHeartRateManualSampleDao().queryBuilder() + .where(HuamiHeartRateManualSampleDao.Properties.DeviceId.eq(deviceId)) + .buildDelete().executeDeleteWithoutDetachingEntities(); + + session.getHuamiHeartRateMaxSampleDao().queryBuilder() + .where(HuamiHeartRateMaxSampleDao.Properties.DeviceId.eq(deviceId)) + .buildDelete().executeDeleteWithoutDetachingEntities(); + + session.getHuamiHeartRateRestingSampleDao().queryBuilder() + .where(HuamiHeartRateRestingSampleDao.Properties.DeviceId.eq(deviceId)) + .buildDelete().executeDeleteWithoutDetachingEntities(); + + session.getHuamiPaiSampleDao().queryBuilder() + .where(HuamiPaiSampleDao.Properties.DeviceId.eq(deviceId)) + .buildDelete().executeDeleteWithoutDetachingEntities(); + + session.getHuamiSleepRespiratoryRateSampleDao().queryBuilder() + .where(HuamiSleepRespiratoryRateSampleDao.Properties.DeviceId.eq(deviceId)) + .buildDelete().executeDeleteWithoutDetachingEntities(); } @Override