From 2a0b7b64fb407dfaa10588c2136913cb5957418a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Rebelo?= Date: Tue, 19 Jul 2022 14:26:25 +0100 Subject: [PATCH] Huami: Fix MTU update on device connection --- .../service/devices/huami/HuamiSupport.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiSupport.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiSupport.java index 99144d2f0..35fcc33e9 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiSupport.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami/HuamiSupport.java @@ -2026,6 +2026,21 @@ public abstract class HuamiSupport extends AbstractBTLEDeviceSupport { mMTU = mtu; } + @Override + public void onMtuChanged(BluetoothGatt gatt, int mtu, int status) { + super.onMtuChanged(gatt, mtu, status); + + final Prefs prefs = new Prefs(GBApplication.getDeviceSpecificSharedPrefs(gbDevice.getAddress())); + + if (!prefs.getBoolean(PREF_ALLOW_HIGH_MTU, false)) { + LOG.warn("Ignoring MTU change to {}", mtu); + return; + } + + LOG.info("MTU changed to {}", mtu); + this.mMTU = mtu; + } + private void acknowledgeFindPhone() { try { TransactionBuilder builder = performInitialized("acknowledge find phone");