From ba1c9ddf2fe6e6e5a01fec8b637ecaef5f1aa6ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Rebelo?= Date: Sun, 29 Jun 2025 16:10:36 +0100 Subject: [PATCH] Zepp OS: Request only supported config groups --- .../service/devices/huami/zeppos/ZeppOsSupport.java | 2 -- .../huami/zeppos/services/ZeppOsConfigService.java | 12 +++--------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/ZeppOsSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/ZeppOsSupport.java index f3af6555d3..0a7c471efd 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/ZeppOsSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/ZeppOsSupport.java @@ -862,8 +862,6 @@ public class ZeppOsSupport extends AbstractDeviceSupport communicator.requestDeviceInfo(builder); } - final ZeppOsCoordinator coordinator = getCoordinator(); - for (AbstractZeppOsService service : mServiceMap.values()) { if (mSupportedServices.contains(service.getEndpoint())) { // Only initialize supported services diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/services/ZeppOsConfigService.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/services/ZeppOsConfigService.java index 09c770e0ce..1c8cbe9a2c 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/services/ZeppOsConfigService.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/zeppos/services/ZeppOsConfigService.java @@ -137,7 +137,6 @@ public class ZeppOsConfigService extends AbstractZeppOsService { @Override public void initialize(final ZeppOsTransactionBuilder builder) { write(builder, CMD_CAPABILITIES_REQUEST); - requestAllConfigs(builder); } @Override @@ -276,12 +275,13 @@ public class ZeppOsConfigService extends AbstractZeppOsService { return; } + final ZeppOsTransactionBuilder builder = createTransactionBuilder("configs request"); for (int i = 0; i < numGroups; i++) { final ConfigGroup configGroup = ConfigGroup.fromValue(payload[3 + i]); LOG.debug("Got supported config group {}: {}", String.format("0x%02x", payload[3 + i]), configGroup); + requestConfig(builder, configGroup); } - - // TODO: We should only request supported config groups + builder.queue(getSupport()); } private boolean sentFitnessGoal = false; @@ -338,12 +338,6 @@ public class ZeppOsConfigService extends AbstractZeppOsService { } } - public void requestAllConfigs(final ZeppOsTransactionBuilder builder) { - for (final ConfigGroup configGroup : ConfigGroup.values()) { - requestConfig(builder, configGroup); - } - } - public void requestConfig(final ZeppOsTransactionBuilder builder, final ConfigGroup config) { requestConfig(builder, config, true, ZeppOsConfigService.ConfigArg.getAllArgsForConfigGroup(config)); }