From 9d3632d505d742c99c8bb4ed498fe88df5561304 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Rebelo?= Date: Sat, 27 Jul 2024 15:12:26 +0100 Subject: [PATCH] Xiaomi Protobuf: Fix logging of found service getSupportedServices is actually set by us, so it will include all known services, not the ones that the device supports. --- .../devices/xiaomi/XiaomiBleSupport.java | 55 +++++++++---------- 1 file changed, 26 insertions(+), 29 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiBleSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiBleSupport.java index bf9d4e5ae..105bb27e9 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiBleSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/xiaomi/XiaomiBleSupport.java @@ -77,37 +77,34 @@ public class XiaomiBleSupport extends XiaomiConnectionSupport { // Attempt to find a known xiaomi service for (Map.Entry xiaomiUuid : XiaomiUuids.BLE_UUIDS.entrySet()) { - if (getSupportedServices().contains(xiaomiUuid.getKey())) { - LOG.debug("Found Xiaomi service: {}", xiaomiUuid.getKey()); - uuidSet = xiaomiUuid.getValue(); - UUID currentChar; + final XiaomiUuids.XiaomiBleUuidSet currentUuidSet = xiaomiUuid.getValue(); + UUID currentChar; - if ((currentChar = uuidSet.getCharacteristicCommandRead()) == null || - (btCharacteristicCommandRead = getCharacteristic(currentChar)) == null) { - LOG.warn("btCharacteristicCommandRead characteristicc is null"); - continue; - } - - if ((currentChar = uuidSet.getCharacteristicCommandWrite()) == null || - (btCharacteristicCommandWrite = getCharacteristic(currentChar)) == null) { - LOG.warn("btCharacteristicCommandWrite characteristicc is null"); - continue; - } - - if ((currentChar = uuidSet.getCharacteristicActivityData()) == null || - (btCharacteristicActivityData= getCharacteristic(currentChar)) == null) { - LOG.warn("btCharacteristicActivityData characteristicc is null"); - continue; - } - - if ((currentChar = uuidSet.getCharacteristicDataUpload()) == null || - (btCharacteristicDataUpload= getCharacteristic(currentChar)) == null) { - LOG.warn("btCharacteristicDataUpload characteristicc is null"); - // this characteristic may not be supported by all models - } - - break; + if ((currentChar = currentUuidSet.getCharacteristicCommandRead()) == null || + (btCharacteristicCommandRead = getCharacteristic(currentChar)) == null) { + continue; } + + if ((currentChar = currentUuidSet.getCharacteristicCommandWrite()) == null || + (btCharacteristicCommandWrite = getCharacteristic(currentChar)) == null) { + continue; + } + + if ((currentChar = currentUuidSet.getCharacteristicActivityData()) == null || + (btCharacteristicActivityData = getCharacteristic(currentChar)) == null) { + continue; + } + + if ((currentChar = currentUuidSet.getCharacteristicDataUpload()) == null || + (btCharacteristicDataUpload= getCharacteristic(currentChar)) == null) { + LOG.warn("btCharacteristicDataUpload characteristic is null"); + // this characteristic may not be supported by all models + } + + LOG.debug("Found Xiaomi service: {}", xiaomiUuid.getKey()); + uuidSet = xiaomiUuid.getValue(); + + break; } if (uuidSet == null) {