From b194659e8a46aaba143cd1795b2ef4fdbc67b7e7 Mon Sep 17 00:00:00 2001 From: geeksville Date: Wed, 22 Apr 2020 07:25:07 -0700 Subject: [PATCH] Fix autobug: some BLE implementations might not be completed with service enumeration by the time they call the discover services callback. Therefore be careful to not touch "service" until after the 500ms delay everyone on stackoverflow says these buggy drivers need. --- .../java/com/geeksville/mesh/service/RadioInterfaceService.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/geeksville/mesh/service/RadioInterfaceService.kt b/app/src/main/java/com/geeksville/mesh/service/RadioInterfaceService.kt index 706541f6b..cc1df0a27 100644 --- a/app/src/main/java/com/geeksville/mesh/service/RadioInterfaceService.kt +++ b/app/src/main/java/com/geeksville/mesh/service/RadioInterfaceService.kt @@ -376,7 +376,7 @@ class RadioInterfaceService : Service(), Logging { // FIXME - no need to discover services more than once - instead use lazy() to use them in future attempts safe!!.asyncDiscoverServices { discRes -> discRes.getOrThrow() // FIXME, instead just try to reconnect? - debug("Discovered services! Service size=${service.characteristics.size}") + debug("Discovered services!") // we begin by setting our MTU size as high as it can go safe!!.asyncRequestMtu(512) { mtuRes ->