aboutsummaryrefslogtreecommitdiff
path: root/androidApp/src/main/java/mx/trackermap/TrackerMap/android/shared/MarkerTransformations.kt
diff options
context:
space:
mode:
Diffstat (limited to 'androidApp/src/main/java/mx/trackermap/TrackerMap/android/shared/MarkerTransformations.kt')
-rw-r--r--androidApp/src/main/java/mx/trackermap/TrackerMap/android/shared/MarkerTransformations.kt143
1 files changed, 143 insertions, 0 deletions
diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/shared/MarkerTransformations.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/shared/MarkerTransformations.kt
new file mode 100644
index 0000000..660b436
--- /dev/null
+++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/shared/MarkerTransformations.kt
@@ -0,0 +1,143 @@
+package mx.trackermap.TrackerMap.android.shared
+
+import android.util.Log
+import mx.trackermap.TrackerMap.android.R
+import mx.trackermap.TrackerMap.android.map.MapFragment
+import mx.trackermap.TrackerMap.client.models.Position
+import mx.trackermap.TrackerMap.client.models.Stop
+import mx.trackermap.TrackerMap.client.models.UnitInformation
+import mx.trackermap.TrackerMap.utils.MarkerType
+
+object MarkerTransformations {
+ fun unitToMarker(unit: UnitInformation): MapFragment.Marker? {
+ if (unit.position == null || unit.position!!.latitude == null || unit.position!!.longitude == null) {
+ return null
+ }
+
+ return MapFragment.Marker(
+ unit.position!!.id!!,
+ unit.device.name,
+ unit.position!!.latitude!!,
+ unit.position!!.longitude!!,
+ categoryToMarkerType(unit.device.category ?: "")
+ )
+ }
+
+ fun positionToMarker(position: Position): MapFragment.Marker? {
+ if (position.latitude == null || position.longitude == null) {
+ return null
+ }
+
+ return MapFragment.Marker(
+ position.id!!,
+ "",
+ position.latitude!!,
+ position.longitude!!
+ )
+ }
+
+ fun stopToMarker(stop: Stop): MapFragment.Marker? {
+ Log.d("MarkerTransformations", "stopToMarker($stop)")
+ if (stop.latitude == null || stop.longitude == null) {
+ return null
+ }
+
+ return MapFragment.Marker(
+ stop.deviceId!!,
+ stop.deviceName!!,
+ stop.latitude!!,
+ stop.longitude!!
+ )
+ }
+
+ private fun categoryToMarkerType(category: String?): MarkerType {
+ return when (category?.lowercase()) {
+ "animal" -> MarkerType.ANIMAL
+ "bicycle" -> MarkerType.BICYCLE
+ "boat" -> MarkerType.BOAT
+ "bus" -> MarkerType.BUS
+ "car" -> MarkerType.CAR
+ "crane" -> MarkerType.CRANE
+ "helicopter" -> MarkerType.HELICOPTER
+ "motorcycle" -> MarkerType.MOTORCYCLE
+ "offroad" -> MarkerType.OFFROAD
+ "person" -> MarkerType.PERSON
+ "pickup" -> MarkerType.PICKUP
+ "plane" -> MarkerType.PLANE
+ "scooter" -> MarkerType.SCOOTER
+ "ship" -> MarkerType.SHIP
+ "tractor" -> MarkerType.TRACTOR
+ "train" -> MarkerType.TRAIN
+ "tram" -> MarkerType.TRAM
+ "trolleybus" -> MarkerType.TROLLEYBUS
+ "truck" -> MarkerType.TRUCK
+ "van" -> MarkerType.VAN
+ else -> MarkerType.DEFAULT
+ }
+ }
+
+ fun markerTypeToResourceId(markerType: MarkerType): Int {
+ return when (markerType) {
+ MarkerType.ANIMAL -> R.drawable.map_animal
+ MarkerType.BICYCLE -> R.drawable.map_bicycle
+ MarkerType.BOAT -> R.drawable.map_boat
+ MarkerType.BUS -> R.drawable.map_bus
+ MarkerType.CAR -> R.drawable.map_car
+ MarkerType.CRANE -> R.drawable.map_crane
+ MarkerType.DEFAULT -> R.drawable.map_default
+ MarkerType.HELICOPTER -> R.drawable.map_helicopter
+ MarkerType.MOTORCYCLE -> R.drawable.map_motorcycle
+ MarkerType.OFFROAD -> R.drawable.map_offroad
+ MarkerType.PERSON -> R.drawable.map_person
+ MarkerType.PICKUP -> R.drawable.map_pickup
+ MarkerType.PLANE -> R.drawable.map_plane
+ MarkerType.SCOOTER -> R.drawable.map_scooter
+ MarkerType.SHIP -> R.drawable.map_ship
+ MarkerType.TRACTOR -> R.drawable.map_tractor
+ MarkerType.TRAIN -> R.drawable.map_train
+ MarkerType.TRAM -> R.drawable.map_tram
+ MarkerType.TROLLEYBUS -> R.drawable.map_trolleybus
+ MarkerType.TRUCK -> R.drawable.map_truck
+ MarkerType.VAN -> R.drawable.map_van
+
+ MarkerType.REPORT_POSITION -> R.drawable.map_report_position
+ MarkerType.REPORT_START -> R.drawable.map_report_start
+ MarkerType.REPORT_END -> R.drawable.map_report_end
+ }
+ }
+
+ fun markerTypeToStringId(markerType: MarkerType): Int {
+ return when (markerType) {
+ MarkerType.ANIMAL -> R.string.unit_category_animal
+ MarkerType.BICYCLE -> R.string.unit_category_bicycle
+ MarkerType.BOAT -> R.string.unit_category_boat
+ MarkerType.BUS -> R.string.unit_category_bus
+ MarkerType.CAR -> R.string.unit_category_car
+ MarkerType.CRANE -> R.string.unit_category_crane
+ MarkerType.DEFAULT -> R.string.unit_category_default
+ MarkerType.HELICOPTER -> R.string.unit_category_helicopter
+ MarkerType.MOTORCYCLE -> R.string.unit_category_motorcycle
+ MarkerType.OFFROAD -> R.string.unit_category_offroad
+ MarkerType.PERSON -> R.string.unit_category_person
+ MarkerType.PICKUP -> R.string.unit_category_pickup
+ MarkerType.PLANE -> R.string.unit_category_plane
+ MarkerType.SCOOTER -> R.string.unit_category_scooter
+ MarkerType.SHIP -> R.string.unit_category_ship
+ MarkerType.TRACTOR -> R.string.unit_category_tractor
+ MarkerType.TRAIN -> R.string.unit_category_train
+ MarkerType.TRAM -> R.string.unit_category_tram
+ MarkerType.TROLLEYBUS -> R.string.unit_category_trolleybus
+ MarkerType.TRUCK -> R.string.unit_category_truck
+ MarkerType.VAN -> R.string.unit_category_van
+ else -> R.string.unit_category_default
+ }
+ }
+
+ fun categoryToResourceId(category: String?): Int {
+ return markerTypeToResourceId(categoryToMarkerType(category))
+ }
+
+ fun categoryToStringId(category: String?): Int {
+ return markerTypeToResourceId(categoryToMarkerType(category))
+ }
+} \ No newline at end of file