aboutsummaryrefslogtreecommitdiff
path: root/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapFragment.kt
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2022-01-17 15:59:22 -0600
committerIván Ávalos <avalos@disroot.org>2022-01-17 15:59:22 -0600
commit1b1480e0fad512aa0c01d0b33865b818625cf420 (patch)
treef16dabbb765f3ed87ed1eff3a69eab19f0b14692 /androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapFragment.kt
parent2f64c3904216279a62afaa9aefbd1e49f88d3cc4 (diff)
parent07d184c408aba980f331ecaa3e4baef80b6ce82c (diff)
downloadetbsa-trackermap-mobile-1b1480e0fad512aa0c01d0b33865b818625cf420.tar.gz
etbsa-trackermap-mobile-1b1480e0fad512aa0c01d0b33865b818625cf420.tar.bz2
etbsa-trackermap-mobile-1b1480e0fad512aa0c01d0b33865b818625cf420.zip
Merge branch 'main' of https://git.sr.ht/~avalos/trackermap-mobile
Diffstat (limited to 'androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapFragment.kt')
-rw-r--r--androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapFragment.kt9
1 files changed, 9 insertions, 0 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 17fc9d4..1ba8fd6 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
@@ -24,6 +24,7 @@ import mx.trackermap.TrackerMap.client.models.MapLayer
import mx.trackermap.TrackerMap.utils.MapCalculus
import mx.trackermap.TrackerMap.utils.MarkerType
+typealias SetupCallback = () -> Unit
typealias MarkerCallback = (Int?) -> Unit
class MapFragment : GlobeMapFragment() {
@@ -38,6 +39,8 @@ class MapFragment : GlobeMapFragment() {
val type: MarkerType = MarkerType.DEFAULT
)
+ var hasStarted: Boolean = false
+ val setupCallbacks = mutableListOf<SetupCallback>()
var markerCallback: MarkerCallback? = null
private val objects = mutableListOf<ComponentObject>()
@@ -65,6 +68,8 @@ class MapFragment : GlobeMapFragment() {
override fun controlHasStarted() {
Log.d("MapFragment", "controlHasStarted")
+ hasStarted = true
+ setupCallbacks.forEach { it() }
if (tileInfo == null) {
val layer = MapLayer.defaultLayer
@@ -127,6 +132,10 @@ class MapFragment : GlobeMapFragment() {
}
private fun clear(geofences: Boolean = false) {
+ if (mapControl == null) {
+ return
+ }
+
if (geofences) {
mapControl.removeObjects(
geofenceObjects,