From 35c745d93f355f810aad569c4b64b77b884b936c Mon Sep 17 00:00:00 2001 From: geeksville Date: Tue, 21 Apr 2020 14:46:52 -0700 Subject: [PATCH] track total time connected to mesh --- .../com/geeksville/mesh/service/MeshService.kt | 17 ++++++++++++++++- geeksville-androidlib | 2 +- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/geeksville/mesh/service/MeshService.kt b/app/src/main/java/com/geeksville/mesh/service/MeshService.kt index d5ec6db8..e9f6d0f3 100644 --- a/app/src/main/java/com/geeksville/mesh/service/MeshService.kt +++ b/app/src/main/java/com/geeksville/mesh/service/MeshService.kt @@ -403,7 +403,7 @@ class MeshService : Service(), Logging { ignoreException { unregisterReceiver(radioInterfaceReceiver) } - + radio.close() saveSettings() @@ -890,6 +890,9 @@ class MeshService : Service(), Logging { private var sleepTimeout: Job? = null + /// msecs since 1970 we started this connection + private var connectTimeMsec = 0L + /// Called when we gain/lose connection to our radio private fun onConnectionChanged(c: ConnectionState) { debug("onConnectionChanged=$c") @@ -899,6 +902,16 @@ class MeshService : Service(), Logging { // lost radio connection, therefore no need to keep listening to GPS stopLocationRequests() + if (connectTimeMsec != 0L) { + val now = System.currentTimeMillis() + connectTimeMsec = 0L + + GeeksvilleApplication.analytics.track( + "connected_seconds", + DataPair((now - connectTimeMsec) / 1000.0) + ) + } + // Have our timeout fire in the approprate number of seconds sleepTimeout = serviceScope.handledLaunch { try { @@ -924,12 +937,14 @@ class MeshService : Service(), Logging { DataPair("num_nodes", numNodes), DataPair("num_online", numOnlineNodes) ) + GeeksvilleApplication.analytics.track("num_nodes", DataPair(numNodes)) } fun startConnect() { // Do our startup init try { reinitFromRadio() + connectTimeMsec = System.currentTimeMillis() val radioModel = DataPair("radio_model", myNodeInfo?.model ?: "unknown") GeeksvilleApplication.analytics.track( diff --git a/geeksville-androidlib b/geeksville-androidlib index 5caaba61..83d8867a 160000 --- a/geeksville-androidlib +++ b/geeksville-androidlib @@ -1 +1 @@ -Subproject commit 5caaba6168c60d5241523b441b322fbd93adab0f +Subproject commit 83d8867a1e74f32dcb6884d6d9d4c95130ffd9bc