aboutsummaryrefslogtreecommitdiff
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
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.
-rw-r--r--androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapFragment.kt43
-rw-r--r--androidApp/src/main/java/mx/trackermap/TrackerMap/android/shared/MarkerTransformations.kt19
-rw-r--r--androidApp/src/main/res/drawable/angle_0.xml22
-rw-r--r--androidApp/src/main/res/drawable/angle_135.xml22
-rw-r--r--androidApp/src/main/res/drawable/angle_180.xml22
-rw-r--r--androidApp/src/main/res/drawable/angle_225.xml22
-rw-r--r--androidApp/src/main/res/drawable/angle_270.xml22
-rw-r--r--androidApp/src/main/res/drawable/angle_315.xml22
-rw-r--r--androidApp/src/main/res/drawable/angle_45.xml22
-rw-r--r--androidApp/src/main/res/drawable/angle_90.xml22
-rw-r--r--androidApp/src/main/res/values/dimen.xml4
-rw-r--r--shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/utils/ReportDates.kt14
12 files changed, 229 insertions, 27 deletions
diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapFragment.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapFragment.kt
index 4915c49..2be9bb4 100644
--- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapFragment.kt
+++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapFragment.kt
@@ -40,6 +40,7 @@ import mx.trackermap.TrackerMap.client.models.Geofence
import mx.trackermap.TrackerMap.client.models.MapLayer
import mx.trackermap.TrackerMap.client.models.Marker
import mx.trackermap.TrackerMap.utils.MapCalculus
+import kotlin.math.atan2
typealias SetupCallback = () -> Unit
typealias MarkerCallback = (Int?) -> Unit
@@ -186,11 +187,14 @@ open class MapFragment : GlobeMapFragment() {
val colorReport = ContextCompat.getColor(requireContext(), R.color.colorReport)
val colorLabel = ContextCompat.getColor(requireContext(), R.color.colorMarkerLabel)
val colorLabelOutline = ContextCompat.getColor(requireContext(), R.color.colorMarkerLabelOutline)
- val vectorWidth = context?.resources?.getDimensionPixelSize(R.dimen.report_label_width)?.toFloat()
+ val vectorWidth = requireContext().resources.getDimensionPixelSize(R.dimen.report_label_width).toFloat()
+
+ val markerSize = requireContext().resources.getDimensionPixelSize(R.dimen.marker_size).toDouble()
+ val vertexSize = requireContext().resources.getDimensionPixelSize(R.dimen.vertex_size).toDouble()
val vectorInfo = VectorInfo()
- vectorInfo.setColor(colorReport)
- vectorInfo.setLineWidth(vectorWidth ?: 20f)
+ vectorInfo.color = colorReport
+ vectorInfo.lineWidth = vectorWidth
val labelInfo = LabelInfo()
labelInfo.typeface = Typeface.DEFAULT_BOLD
@@ -210,17 +214,17 @@ open class MapFragment : GlobeMapFragment() {
when (i) {
0 -> getIcon(Marker.Type.REPORT_START)
markers.size - 1 -> getIcon(Marker.Type.REPORT_END)
- else -> getIcon(Marker.Type.REPORT_POSITION)
+ else -> getIconForDirection(points[i], points[i + 1])
}
} else getIcon(marker.type)
screenMarker.size = if (isReport) {
// For reports, position, start and end, size must be different
when (i) {
- 0 -> Point2d(144.0, 144.0)
- markers.size - 1 -> Point2d(144.0, 144.0)
- else -> Point2d(82.0, 82.0)
+ 0 -> Point2d(markerSize, markerSize)
+ markers.size - 1 -> Point2d(markerSize, markerSize)
+ else -> Point2d(vertexSize, vertexSize)
}
- } else Point2d(144.0, 144.0)
+ } else Point2d(markerSize, markerSize)
screenMarker.userObject = marker.id
screenMarker.selectable = true
@@ -292,11 +296,11 @@ open class MapFragment : GlobeMapFragment() {
val colorFill = ContextCompat.getColor(requireContext(), R.color.colorGeofence)
val colorLabel = ContextCompat.getColor(requireContext(), R.color.colorGeofenceLabel)
val colorLabelOutline = ContextCompat.getColor(requireContext(), R.color.colorMarkerLabelOutline)
- val vectorWidth = context?.resources?.getDimensionPixelSize(R.dimen.geofence_label_width)?.toFloat()
+ val vectorWidth = requireContext().resources.getDimensionPixelSize(R.dimen.geofence_label_width).toFloat()
val vectorInfo = VectorInfo()
- vectorInfo.setColor(colorFill)
- vectorInfo.setLineWidth(vectorWidth ?: 4f)
+ vectorInfo.color = colorFill
+ vectorInfo.lineWidth = vectorWidth
val labelInfo = LabelInfo()
labelInfo.typeface = Typeface.DEFAULT_BOLD
@@ -334,7 +338,7 @@ open class MapFragment : GlobeMapFragment() {
}
}
}
- } catch (e: SFException) {}
+ } catch (_: SFException) {}
}
}
@@ -427,9 +431,22 @@ open class MapFragment : GlobeMapFragment() {
}
private fun getIcon(markerType: Marker.Type): Bitmap {
+ val markerSize = requireContext().resources.getDimensionPixelSize(R.dimen.marker_size)
return ResourcesCompat.getDrawable(
requireActivity().resources,
MarkerTransformations.markerTypeToResourceId(markerType),
- requireActivity().theme)!!.toBitmap(144, 144)
+ requireActivity().theme)!!.toBitmap(markerSize, markerSize)
+ }
+
+ private fun getIconForDirection(a: Point2d, b: Point2d): Bitmap {
+ val vertexSize = requireContext().resources.getDimensionPixelSize(R.dimen.vertex_size)
+ val vectorX = b.x - a.x
+ val vectorY = b.y - a.y
+ val angleRad = atan2(vectorY, vectorX)
+ return ResourcesCompat.getDrawable(
+ requireActivity().resources,
+ MarkerTransformations.angleToResourceId(angleRad),
+ requireActivity().theme
+ )!!.toBitmap(vertexSize, vertexSize)
}
} \ No newline at end of file
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
diff --git a/androidApp/src/main/res/drawable/angle_0.xml b/androidApp/src/main/res/drawable/angle_0.xml
new file mode 100644
index 0000000..53957d9
--- /dev/null
+++ b/androidApp/src/main/res/drawable/angle_0.xml
@@ -0,0 +1,22 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="6.35"
+ android:viewportHeight="6.35">
+ <path
+ android:pathData="M3.1751,6.106A2.9308,2.9308 0,0 1,0.2443 3.1752,2.9308 2.9308,0 0,1 3.1751,0.2444 2.9308,2.9308 0,0 1,6.1059 3.1752,2.9308 2.9308,0 0,1 3.1751,6.106Z"
+ android:strokeWidth="1.00012"
+ android:fillColor="#008000"
+ android:strokeLineCap="square"/>
+ <path
+ android:pathData="M6.3501,3.176C6.3501,1.4254 4.9249,0.0002 3.1743,0.0002c-1.7506,0 -3.1738,1.4252 -3.1738,3.1758 -0,1.7506 1.4232,3.1738 3.1738,3.1738C4.9249,6.3498 6.3501,4.9266 6.3501,3.176ZM5.8618,3.176c-0,1.4866 -1.2009,2.6855 -2.6875,2.6855 -1.4866,0 -2.6855,-1.1989 -2.6855,-2.6855 -0,-1.4866 1.1989,-2.6875 2.6855,-2.6875 1.4866,0 2.6875,1.2009 2.6875,2.6875z"
+ android:strokeWidth="0"
+ android:fillColor="#1a1a1a"
+ android:strokeLineCap="square"/>
+ <path
+ android:pathData="M5.8618,3.1757 L2.9355,1.4857V2.5831L0.2443,2.5826c0,0 -0,0.3951 -0,0.5926 0,0.1972 0,0.5917 0,0.5917l2.6912,0.0005v1.0974z"
+ android:strokeWidth="0"
+ android:fillColor="#1a1a1a"
+ android:strokeColor="#1a1a1a"
+ android:strokeLineCap="square"/>
+</vector>
diff --git a/androidApp/src/main/res/drawable/angle_135.xml b/androidApp/src/main/res/drawable/angle_135.xml
new file mode 100644
index 0000000..cd1b88e
--- /dev/null
+++ b/androidApp/src/main/res/drawable/angle_135.xml
@@ -0,0 +1,22 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="6.35"
+ android:viewportHeight="6.35">
+ <path
+ android:pathData="M5.2479,1.1026A2.9308,2.9308 90,0 1,5.2479 5.2474,2.9308 2.9308,90 0,1 1.1032,5.2474 2.9308,2.9308 0,0 1,1.1032 1.1026,2.9308 2.9308,0 0,1 5.2479,1.1026Z"
+ android:strokeWidth="1.00012"
+ android:fillColor="#008000"
+ android:strokeLineCap="square"/>
+ <path
+ android:pathData="M0.9311,0.9294C-0.3068,2.1673 -0.3068,4.1828 0.9311,5.4206c1.2379,1.2379 3.252,1.2365 4.4899,-0.0014 1.2379,-1.2379 1.2379,-3.2506 0,-4.4885C4.183,-0.3071 2.1689,-0.3085 0.9311,0.9294ZM1.2763,1.2747c1.0512,-1.0512 2.7481,-1.0498 3.7993,0.0014 1.0512,1.0512 1.0512,2.7467 -0,3.7979 -1.0512,1.0512 -2.7481,1.0526 -3.7993,0.0014 -1.0512,-1.0512 -1.0512,-2.7495 0,-3.8007z"
+ android:strokeWidth="0"
+ android:fillColor="#1a1a1a"
+ android:strokeLineCap="square"/>
+ <path
+ android:pathData="M1.2761,1.2749 L2.1503,4.5391 2.9263,3.7631 4.8289,5.6664c0,0 0.2793,-0.2793 0.419,-0.419C5.3874,5.1079 5.6663,4.829 5.6663,4.829L3.7637,2.9257 4.5396,2.1498Z"
+ android:strokeWidth="0"
+ android:fillColor="#1a1a1a"
+ android:strokeColor="#1a1a1a"
+ android:strokeLineCap="square"/>
+</vector>
diff --git a/androidApp/src/main/res/drawable/angle_180.xml b/androidApp/src/main/res/drawable/angle_180.xml
new file mode 100644
index 0000000..f3fca08
--- /dev/null
+++ b/androidApp/src/main/res/drawable/angle_180.xml
@@ -0,0 +1,22 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="6.35"
+ android:viewportHeight="6.35">
+ <path
+ android:pathData="M3.1755,0.244A2.9308,2.9308 0,0 1,6.1063 3.1748,2.9308 2.9308,0 0,1 3.1755,6.1056 2.9308,2.9308 0,0 1,0.2447 3.1748,2.9308 2.9308,0 0,1 3.1755,0.244Z"
+ android:strokeWidth="1.00012"
+ android:fillColor="#008000"
+ android:strokeLineCap="square"/>
+ <path
+ android:pathData="M0.0005,3.174C0.0005,4.9246 1.4257,6.3498 3.1763,6.3498c1.7506,-0 3.1738,-1.4252 3.1738,-3.1758 0,-1.7506 -1.4232,-3.1738 -3.1738,-3.1738C1.4257,0.0002 0.0005,1.4234 0.0005,3.174ZM0.4888,3.174c0,-1.4866 1.2009,-2.6855 2.6875,-2.6855 1.4866,-0 2.6855,1.1989 2.6855,2.6855 0,1.4866 -1.1989,2.6875 -2.6855,2.6875 -1.4866,-0 -2.6875,-1.2009 -2.6875,-2.6875z"
+ android:strokeWidth="0"
+ android:fillColor="#1a1a1a"
+ android:strokeLineCap="square"/>
+ <path
+ android:pathData="M0.4888,3.1744 L3.4151,4.8643V3.7669l2.6912,0.0005c0,0 0,-0.3951 0,-0.5926 0,-0.1972 0,-0.5917 0,-0.5917L3.4151,2.5827V1.4853Z"
+ android:strokeWidth="0"
+ android:fillColor="#1a1a1a"
+ android:strokeColor="#1a1a1a"
+ android:strokeLineCap="square"/>
+</vector>
diff --git a/androidApp/src/main/res/drawable/angle_225.xml b/androidApp/src/main/res/drawable/angle_225.xml
new file mode 100644
index 0000000..bd7c512
--- /dev/null
+++ b/androidApp/src/main/res/drawable/angle_225.xml
@@ -0,0 +1,22 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="6.35"
+ android:viewportHeight="6.35">
+ <path
+ android:pathData="M1.1036,1.1031A2.9308,2.9308 90,0 1,5.2484 1.1031,2.9308 2.9308,90 0,1 5.2484,5.2478 2.9308,2.9308 0,0 1,1.1036 5.2478,2.9308 2.9308,0 0,1 1.1036,1.1031Z"
+ android:strokeWidth="1.00012"
+ android:fillColor="#008000"
+ android:strokeLineCap="square"/>
+ <path
+ android:pathData="M0.9304,5.4199C2.1682,6.6578 4.1837,6.6578 5.4216,5.4199c1.2379,-1.2379 1.2365,-3.252 -0.0014,-4.4899 -1.2379,-1.2379 -3.2506,-1.2379 -4.4885,-0C-0.3061,2.1679 -0.3075,4.1821 0.9304,5.4199ZM1.2756,5.0747c-1.0512,-1.0512 -1.0498,-2.7481 0.0014,-3.7993 1.0512,-1.0512 2.7467,-1.0512 3.7979,0 1.0512,1.0512 1.0526,2.7481 0.0014,3.7993 -1.0512,1.0512 -2.7495,1.0512 -3.8007,-0z"
+ android:strokeWidth="0"
+ android:fillColor="#1a1a1a"
+ android:strokeLineCap="square"/>
+ <path
+ android:pathData="M1.2759,5.0749 L4.54,4.2007 3.7641,3.4247 5.6674,1.5221c0,0 -0.2793,-0.2793 -0.419,-0.419C5.1089,0.9636 4.83,0.6847 4.83,0.6847L2.9267,2.5873 2.1508,1.8114Z"
+ android:strokeWidth="0"
+ android:fillColor="#1a1a1a"
+ android:strokeColor="#1a1a1a"
+ android:strokeLineCap="square"/>
+</vector>
diff --git a/androidApp/src/main/res/drawable/angle_270.xml b/androidApp/src/main/res/drawable/angle_270.xml
new file mode 100644
index 0000000..19db1cf
--- /dev/null
+++ b/androidApp/src/main/res/drawable/angle_270.xml
@@ -0,0 +1,22 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="6.35"
+ android:viewportHeight="6.35">
+ <path
+ android:pathData="M0.2455,3.1753A2.9308,2.9308 0,0 1,3.1763 0.2445,2.9308 2.9308,0 0,1 6.107,3.1753 2.9308,2.9308 0,0 1,3.1763 6.1061,2.9308 2.9308,0 0,1 0.2455,3.1753Z"
+ android:strokeWidth="1.00012"
+ android:fillColor="#008000"
+ android:strokeLineCap="square"/>
+ <path
+ android:pathData="M3.1755,6.3503C4.9261,6.3503 6.3513,4.9251 6.3513,3.1745c-0,-1.7506 -1.4252,-3.1738 -3.1758,-3.1738 -1.7506,-0 -3.1738,1.4232 -3.1738,3.1738C0.0017,4.9251 1.4249,6.3503 3.1755,6.3503ZM3.1755,5.862c-1.4866,-0 -2.6855,-1.2009 -2.6855,-2.6875 -0,-1.4866 1.1989,-2.6855 2.6855,-2.6855 1.4866,-0 2.6875,1.1989 2.6875,2.6855 -0,1.4866 -1.2009,2.6875 -2.6875,2.6875z"
+ android:strokeWidth="0"
+ android:fillColor="#1a1a1a"
+ android:strokeLineCap="square"/>
+ <path
+ android:pathData="m3.1758,5.862 l1.6899,-2.9263 -1.0974,0 0.0005,-2.6912c0,0 -0.3951,0 -0.5926,-0 -0.1972,0 -0.5917,0 -0.5917,0l-0.0005,2.6912 -1.0974,0z"
+ android:strokeWidth="0"
+ android:fillColor="#1a1a1a"
+ android:strokeColor="#1a1a1a"
+ android:strokeLineCap="square"/>
+</vector>
diff --git a/androidApp/src/main/res/drawable/angle_315.xml b/androidApp/src/main/res/drawable/angle_315.xml
new file mode 100644
index 0000000..3186db0
--- /dev/null
+++ b/androidApp/src/main/res/drawable/angle_315.xml
@@ -0,0 +1,22 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="6.35"
+ android:viewportHeight="6.35">
+ <path
+ android:pathData="M1.1038,5.2479A2.9308,2.9308 90,0 1,1.1038 1.1031,2.9308 2.9308,0 0,1 5.2486,1.1031 2.9308,2.9308 0,0 1,5.2486 5.2479,2.9308 2.9308,90 0,1 1.1038,5.2479Z"
+ android:strokeWidth="1.00012"
+ android:fillColor="#008000"
+ android:strokeLineCap="square"/>
+ <path
+ android:pathData="M5.4207,5.4211C6.6586,4.1832 6.6586,2.1677 5.4207,0.9299c-1.2379,-1.2379 -3.252,-1.2365 -4.4899,0.0014 -1.2379,1.2379 -1.2379,3.2506 0,4.4885C2.1687,6.6576 4.1828,6.659 5.4207,5.4211ZM5.0754,5.0758c-1.0512,1.0512 -2.7481,1.0498 -3.7993,-0.0014 -1.0512,-1.0512 -1.0512,-2.7467 -0,-3.7979 1.0512,-1.0512 2.7481,-1.0526 3.7993,-0.0014 1.0512,1.0512 1.0512,2.7495 0,3.8007z"
+ android:strokeWidth="0"
+ android:fillColor="#1a1a1a"
+ android:strokeLineCap="square"/>
+ <path
+ android:pathData="M5.0757,5.0756 L4.2014,1.8114 3.4255,2.5874 1.5228,0.6841c0,0 -0.2793,0.2793 -0.419,0.419C0.9644,1.2426 0.6855,1.5215 0.6855,1.5215L2.5881,3.4248 1.8121,4.2007Z"
+ android:strokeWidth="0"
+ android:fillColor="#1a1a1a"
+ android:strokeColor="#1a1a1a"
+ android:strokeLineCap="square"/>
+</vector>
diff --git a/androidApp/src/main/res/drawable/angle_45.xml b/androidApp/src/main/res/drawable/angle_45.xml
new file mode 100644
index 0000000..9d8b5a9
--- /dev/null
+++ b/androidApp/src/main/res/drawable/angle_45.xml
@@ -0,0 +1,22 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="6.35"
+ android:viewportHeight="6.35">
+ <path
+ android:pathData="M5.2467,5.2476A2.9308,2.9308 90,0 1,1.1019 5.2476,2.9308 2.9308,0 0,1 1.1019,1.1029 2.9308,2.9308 0,0 1,5.2467 1.1029,2.9308 2.9308,90 0,1 5.2467,5.2476Z"
+ android:strokeWidth="1.00012"
+ android:fillColor="#008000"
+ android:strokeLineCap="square"/>
+ <path
+ android:pathData="M5.4199,0.9308C4.1821,-0.3071 2.1666,-0.3071 0.9287,0.9308c-1.2379,1.2379 -1.2365,3.252 0.0014,4.4899 1.2379,1.2379 3.2506,1.2379 4.4885,-0C6.6564,4.1828 6.6578,2.1686 5.4199,0.9308ZM5.0747,1.276c1.0512,1.0512 1.0498,2.7481 -0.0014,3.7993 -1.0512,1.0512 -2.7467,1.0512 -3.7979,0 -1.0512,-1.0512 -1.0526,-2.7481 -0.0014,-3.7993 1.0512,-1.0512 2.7495,-1.0512 3.8007,-0z"
+ android:strokeWidth="0"
+ android:fillColor="#1a1a1a"
+ android:strokeLineCap="square"/>
+ <path
+ android:pathData="M5.0744,1.2758 L1.8103,2.1501 2.5862,2.926 0.8061,4.7067 1.2251,5.1257 1.6435,5.5441 3.4236,3.7634 4.1995,4.5393Z"
+ android:strokeWidth="0"
+ android:fillColor="#1a1a1a"
+ android:strokeColor="#1a1a1a"
+ android:strokeLineCap="square"/>
+</vector>
diff --git a/androidApp/src/main/res/drawable/angle_90.xml b/androidApp/src/main/res/drawable/angle_90.xml
new file mode 100644
index 0000000..44dae03
--- /dev/null
+++ b/androidApp/src/main/res/drawable/angle_90.xml
@@ -0,0 +1,22 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="6.35"
+ android:viewportHeight="6.35">
+ <path
+ android:pathData="M6.1058,3.175A2.9308,2.9308 0,0 1,3.175 6.1058,2.9308 2.9308,0 0,1 0.2442,3.175 2.9308,2.9308 0,0 1,3.175 0.2442,2.9308 2.9308,0 0,1 6.1058,3.175Z"
+ android:strokeWidth="1.00012499"
+ android:fillColor="#008000"
+ android:strokeLineCap="square"/>
+ <path
+ android:pathData="M3.1758,0C1.4252,0 0,1.4252 0,3.1758c0,1.7506 1.4252,3.1738 3.1758,3.1738 1.7506,0 3.1738,-1.4232 3.1738,-3.1738C6.3496,1.4252 4.9264,0 3.1758,0ZM3.1758,0.4883c1.4866,0 2.6855,1.2009 2.6855,2.6875 0,1.4866 -1.1989,2.6855 -2.6855,2.6855 -1.4866,0 -2.6875,-1.1989 -2.6875,-2.6855 0,-1.4866 1.2009,-2.6875 2.6875,-2.6875z"
+ android:strokeWidth="0"
+ android:fillColor="#1a1a1a"
+ android:strokeLineCap="square"/>
+ <path
+ android:pathData="M3.1755,0.4883 L1.4855,3.4146H2.5829V5.9667H3.1755,3.7671V3.4146h1.0974z"
+ android:strokeWidth="0"
+ android:fillColor="#1a1a1a"
+ android:strokeColor="#1a1a1a"
+ android:strokeLineCap="square"/>
+</vector>
diff --git a/androidApp/src/main/res/values/dimen.xml b/androidApp/src/main/res/values/dimen.xml
index 8c8c5f5..4afaf23 100644
--- a/androidApp/src/main/res/values/dimen.xml
+++ b/androidApp/src/main/res/values/dimen.xml
@@ -29,10 +29,12 @@
<dimen name="nav_height">64dp</dimen>
<!-- Map -->
+ <dimen name="marker_size">55dp</dimen>
+ <dimen name="vertex_size">24dp</dimen>
<dimen name="marker_label_text_size">11sp</dimen>
<dimen name="geofence_label_text_size">11sp</dimen>
<dimen name="geofence_label_width">4dp</dimen>
- <dimen name="report_label_width">10dp</dimen>
+ <dimen name="report_label_width">12dp</dimen>
<dimen name="attribution_text_size">11sp</dimen>
<!-- Reports bottom sheet -->
diff --git a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/utils/ReportDates.kt b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/utils/ReportDates.kt
index 5298df3..d261d07 100644
--- a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/utils/ReportDates.kt
+++ b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/utils/ReportDates.kt
@@ -22,20 +22,10 @@ import kotlinx.datetime.*
@DelicateCoroutinesApi
class ReportDates {
- enum class PeriodTypes {
- TODAY,
- LAST_24,
- YESTERDAY,
- THIS_WEEK,
- LAST_7,
- THIS_MONTH,
- LAST_30,
- CUSTOM
- }
sealed class ReportPeriod {
val timezone = TimeZone.currentSystemDefault()
- val clock = Clock.System
+ private val clock = Clock.System
val instant = clock.now()
val dateTime = instant.toLocalDateTime(timezone)
val date = dateTime.date
@@ -47,7 +37,7 @@ class ReportDates {
return formatDateTime(from) to formatDateTime(to)
}
- fun formatDateTime(dateTime: LocalDateTime) =
+ private fun formatDateTime(dateTime: LocalDateTime) =
dateTime.toInstant(timezone).toString()
class Today : ReportPeriod() {