From 75576efabe38d0ca786612d3ed4310ba673dff4b Mon Sep 17 00:00:00 2001 From: geeksville Date: Sat, 13 Jun 2020 08:43:22 -0700 Subject: [PATCH] ESP32 code does not generate "service changed" indications --- .../java/com/geeksville/mesh/service/BluetoothInterface.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/geeksville/mesh/service/BluetoothInterface.kt b/app/src/main/java/com/geeksville/mesh/service/BluetoothInterface.kt index 2f34ae733..4861fdc83 100644 --- a/app/src/main/java/com/geeksville/mesh/service/BluetoothInterface.kt +++ b/app/src/main/java/com/geeksville/mesh/service/BluetoothInterface.kt @@ -378,15 +378,16 @@ class BluetoothInterface(val service: RadioInterfaceService, val address: String } } + private var needForceRefresh = true + private fun onConnect(connRes: Result) { // This callback is invoked after we are connected connRes.getOrThrow() info("Connected to radio!") - if (!hasForcedRefresh) { - // FIXME - for some reason we need to refresh _everytime_. It is almost as if we've cached wrong descriptor fieldnums forever - // hasForcedRefresh = true + if (needForceRefresh) { // Our ESP32 code doesn't properly generate "service changed" indications. Therefore we need to force a refresh on initial start + needForceRefresh = false forceServiceRefresh() }