aboutsummaryrefslogtreecommitdiff
path: root/androidApp/src/main/java/mx/trackermap/TrackerMap/android/shared/MarkerTransformations.kt
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2023-09-20 22:32:46 -0600
committerIván Ávalos <avalos@disroot.org>2023-09-20 22:35:55 -0600
commit9f9c6b247900a3a08e2b2322896d4f185a12d047 (patch)
tree171dee2a5d1c4fe9b66b56e5f31a1484b0367c6c /androidApp/src/main/java/mx/trackermap/TrackerMap/android/shared/MarkerTransformations.kt
parent8853b1548b9b2bd6de9cde0c3a15e986aeb57bf7 (diff)
downloadetbsa-trackermap-mobile-9f9c6b247900a3a08e2b2322896d4f185a12d047.tar.gz
etbsa-trackermap-mobile-9f9c6b247900a3a08e2b2322896d4f185a12d047.tar.bz2
etbsa-trackermap-mobile-9f9c6b247900a3a08e2b2322896d4f185a12d047.zip
- [android] Add direction arrows to reports.
- [android] Use DP for marker sizes.
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.kt19
1 files changed, 18 insertions, 1 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
index 1e5c4de..88cb422 100644
--- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/shared/MarkerTransformations.kt
+++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/shared/MarkerTransformations.kt
@@ -19,6 +19,7 @@ package mx.trackermap.TrackerMap.android.shared
import mx.trackermap.TrackerMap.android.R
import mx.trackermap.TrackerMap.client.models.Marker
+import kotlin.math.PI
object MarkerTransformations {
fun markerTypeToResourceId(markerType: Marker.Type): Int {
@@ -51,7 +52,7 @@ object MarkerTransformations {
}
}
- fun markerTypeToStringId(markerType: Marker.Type): Int {
+ private fun markerTypeToStringId(markerType: Marker.Type): Int {
return when (markerType) {
Marker.Type.ANIMAL -> R.string.unit_category_animal
Marker.Type.BICYCLE -> R.string.unit_category_bicycle
@@ -85,4 +86,20 @@ object MarkerTransformations {
fun categoryToStringId(category: String?): Int {
return markerTypeToStringId(Marker.categoryToMarkerType(category))
}
+
+ private const val STEP = PI / 8
+
+ @OptIn(ExperimentalStdlibApi::class)
+ fun angleToResourceId(rad: Double): Int = when (rad) {
+ in 0.0 ..< STEP -> R.drawable.angle_0
+ in STEP ..< STEP * 3 -> R.drawable.angle_45
+ in STEP * 3 ..< STEP * 5 -> R.drawable.angle_90
+ in STEP * 5 ..< STEP * 7 -> R.drawable.angle_135
+ in STEP * 7 ..< STEP * 9 -> R.drawable.angle_180
+ in STEP * 9 ..< STEP * 11 -> R.drawable.angle_225
+ in STEP * 11 ..< STEP * 13 -> R.drawable.angle_270
+ in STEP * 13 ..< STEP * 15 -> R.drawable.angle_315
+ in STEP * 15 ..< STEP * 16 -> R.drawable.angle_0
+ else -> angleToResourceId(PI * 2 + rad)
+ }
} \ No newline at end of file