diff options
author | Iván Ávalos <avalos@disroot.org> | 2023-01-09 22:18:23 -0600 |
---|---|---|
committer | Iván Ávalos <avalos@disroot.org> | 2023-01-09 22:18:23 -0600 |
commit | e2c8c918478ea967b0a18fd95af421fd048b22c3 (patch) | |
tree | 5cfa9248db1201e0fe23e6a1c85e52c90f9a28e5 /shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/models/UnitInformation.kt | |
parent | d3d6f20ec3d4a54e3d2036dc6bd809f33c6a02e6 (diff) | |
parent | 14b00cea68f5213f574e37b463cd142208b3dbaa (diff) | |
download | etbsa-trackermap-mobile-e2c8c918478ea967b0a18fd95af421fd048b22c3.tar.gz etbsa-trackermap-mobile-e2c8c918478ea967b0a18fd95af421fd048b22c3.tar.bz2 etbsa-trackermap-mobile-e2c8c918478ea967b0a18fd95af421fd048b22c3.zip |
Merge branch 'main' of lraspi:/secret/git/repos/etbsa-trackermap-mobile
Diffstat (limited to 'shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/models/UnitInformation.kt')
-rw-r--r-- | shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/models/UnitInformation.kt | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/models/UnitInformation.kt b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/models/UnitInformation.kt index 1e23396..6afa350 100644 --- a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/models/UnitInformation.kt +++ b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/models/UnitInformation.kt @@ -17,6 +17,7 @@ */ package mx.trackermap.TrackerMap.client.models +import kotlinx.serialization.json.boolean import kotlinx.serialization.json.longOrNull data class UnitInformation( @@ -31,17 +32,15 @@ data class UnitInformation( ON, OFF, UNKNOWN } - /** - * Status is calculated from speed, because status based on - * the actual connection to the server is useless for our clients. - */ - fun getStatus() = position?.speed?.let { - if (it >= 2) { - Status.ONLINE - } else { - Status.OFFLINE - } - } ?: Status.UNKNOWN + fun getStatus() = when (device.status) { + "online" -> Status.ONLINE + "offline" -> Status.OFFLINE + else -> Status.UNKNOWN + } + + fun getIgnition() = if (position?.attributes?.containsKey("ignition") == true) { + position.attributes["ignition"]?.boolean ?: false + } else false /* Many GPS devices reserve pin 1 for engine stop */ fun getEngineStop() = if (position?.attributes?.containsKey("out1") == true) { |