diff --git a/app/src/main/java/com/geeksville/mesh/service/MeshConfigFlowManager.kt b/app/src/main/java/com/geeksville/mesh/service/MeshConfigFlowManager.kt index 2885fc3d9..3107a93f7 100644 --- a/app/src/main/java/com/geeksville/mesh/service/MeshConfigFlowManager.kt +++ b/app/src/main/java/com/geeksville/mesh/service/MeshConfigFlowManager.kt @@ -85,8 +85,6 @@ constructor( } else { myNodeInfo = newMyNodeInfo Logger.i { "myNodeInfo committed successfully" } - connectionStateHolder.setState(ConnectionState.Connected) - serviceBroadcasts.broadcastConnection() connectionManager.onRadioConfigLoaded() } @@ -123,6 +121,8 @@ constructor( } nodeManager.isNodeDbReady.value = true nodeManager.allowNodeDbWrites.value = true + connectionStateHolder.setState(ConnectionState.Connected) + serviceBroadcasts.broadcastConnection() connectionManager.onNodeDbReady() } } diff --git a/app/src/main/java/com/geeksville/mesh/service/MeshConnectionManager.kt b/app/src/main/java/com/geeksville/mesh/service/MeshConnectionManager.kt index 54cd877c0..d14a723d2 100644 --- a/app/src/main/java/com/geeksville/mesh/service/MeshConnectionManager.kt +++ b/app/src/main/java/com/geeksville/mesh/service/MeshConnectionManager.kt @@ -118,7 +118,7 @@ constructor( } private fun onConnectionChanged(c: ConnectionState) { - if (connectionStateHolder.connectionState.value == c) return + if (connectionStateHolder.connectionState.value == c && c !is ConnectionState.Connected) return Logger.d { "onConnectionChanged: ${connectionStateHolder.connectionState.value} -> $c" } sleepTimeout?.cancel()