From 2a52b707eeb6d5e0ae8e4d2f9700bb94362f2347 Mon Sep 17 00:00:00 2001 From: geeksville Date: Mon, 20 Apr 2020 10:37:46 -0700 Subject: [PATCH] fix autobug: some phones call gatt connected but with an error status code --- .../com/geeksville/mesh/service/RadioInterfaceService.kt | 2 +- .../java/com/geeksville/mesh/service/SafeBluetooth.kt | 8 +++++--- geeksville-androidlib | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) 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 e21dc7cf7..1b30ec750 100644 --- a/app/src/main/java/com/geeksville/mesh/service/RadioInterfaceService.kt +++ b/app/src/main/java/com/geeksville/mesh/service/RadioInterfaceService.kt @@ -354,7 +354,7 @@ class RadioInterfaceService : Service(), Logging { private fun onConnect(connRes: Result) { // This callback is invoked after we are connected - connRes.getOrThrow() // FIXME, instead just try to reconnect? + connRes.getOrThrow() info("Connected to radio!") if (!hasForcedRefresh) { diff --git a/app/src/main/java/com/geeksville/mesh/service/SafeBluetooth.kt b/app/src/main/java/com/geeksville/mesh/service/SafeBluetooth.kt index 033fca620..3a2f9786a 100644 --- a/app/src/main/java/com/geeksville/mesh/service/SafeBluetooth.kt +++ b/app/src/main/java/com/geeksville/mesh/service/SafeBluetooth.kt @@ -154,9 +154,11 @@ class SafeBluetooth(private val context: Context, private val device: BluetoothD BluetoothProfile.STATE_CONNECTED -> { state = newState // we only care about connected/disconnected - not the transitional states - //logAssert(workQueue.isNotEmpty()) - //val work = workQueue.removeAt(0) - completeWork(status, Unit) + + if (status != BluetoothGatt.GATT_SUCCESS) { + errormsg("Connect attempt failed $status, not calling connect completion handler...") + } else + completeWork(status, Unit) } BluetoothProfile.STATE_DISCONNECTED -> { // cancel any queued ops if we were already connected diff --git a/geeksville-androidlib b/geeksville-androidlib index bfe039fa1..b052e3bf0 160000 --- a/geeksville-androidlib +++ b/geeksville-androidlib @@ -1 +1 @@ -Subproject commit bfe039fa19c0625b3f81f30a614c594e9c6979aa +Subproject commit b052e3bf0708dbc075b9017c19af6833dc6fa4f9