blob: 933cd8a63db05a69ab1eb87a669f6f4da1a701e4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
|
package mx.trackermap.TrackerMap.android.map
import android.util.Log
import mx.trackermap.TrackerMap.android.R
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))
}
}
|