aboutsummaryrefslogtreecommitdiff
path: root/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/models/UnitInformation.kt
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2023-01-09 22:18:23 -0600
committerIván Ávalos <avalos@disroot.org>2023-01-09 22:18:23 -0600
commite2c8c918478ea967b0a18fd95af421fd048b22c3 (patch)
tree5cfa9248db1201e0fe23e6a1c85e52c90f9a28e5 /shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/models/UnitInformation.kt
parentd3d6f20ec3d4a54e3d2036dc6bd809f33c6a02e6 (diff)
parent14b00cea68f5213f574e37b463cd142208b3dbaa (diff)
downloadetbsa-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.kt21
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) {