aboutsummaryrefslogtreecommitdiff
path: root/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapWrapperFragment.kt
diff options
context:
space:
mode:
Diffstat (limited to 'androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapWrapperFragment.kt')
-rw-r--r--androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapWrapperFragment.kt32
1 files changed, 26 insertions, 6 deletions
diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapWrapperFragment.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapWrapperFragment.kt
index 51b0118..8f9af3f 100644
--- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapWrapperFragment.kt
+++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/MapWrapperFragment.kt
@@ -5,6 +5,7 @@ import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import androidx.core.text.HtmlCompat
import androidx.fragment.app.Fragment
import androidx.fragment.app.commit
import mx.trackermap.TrackerMap.android.R
@@ -51,10 +52,13 @@ class MapWrapperFragment: Fragment() {
childFragmentManager.commit {
replace(R.id.mapContainer, mapFragment)
}
+
+ val layer = MapLayer.defaultLayer
+ binding.attributionText.text = HtmlCompat.fromHtml(layer.attribution, 0)
}
private fun removeMap() {
- Log.d("UnitReportsFragment", "removeMap()")
+ Log.d("MapWrapperFragment", "removeMap()")
childFragmentManager.commit {
remove(mapFragment)
}
@@ -96,6 +100,7 @@ class MapWrapperFragment: Fragment() {
height: Double = 0.00001,
animated: Boolean = true
) {
+ Log.d("MapWrapperFragment", "Focusing on $latitude, $longitude")
if (mapFragment.hasStarted) {
mapFragment.focusOn(latitude, longitude, height, animated)
} else {
@@ -107,7 +112,7 @@ class MapWrapperFragment: Fragment() {
fun display(positions: Array<Position>, isReport: Boolean, center: Boolean) {
if (mapFragment.hasStarted) {
- Log.d("UnitReportsFragment", "Displaying positions: $positions")
+ Log.d("MapWrapperFragment", "Displaying positions: $positions")
mapFragment.display(
positions.mapNotNull(MarkerTransformations::positionToMarker).toTypedArray(),
@@ -115,16 +120,31 @@ class MapWrapperFragment: Fragment() {
center = center
)
} else {
- mapFragment.setupCallbacks.clear()
mapFragment.setupCallbacks.add {
display(positions, isReport, center)
}
}
}
+ fun display(units: Array<UnitInformation>, isReport: Boolean, center: Boolean) {
+ if (mapFragment.hasStarted) {
+ Log.d("MapWrapperFragment", "Displaying units: $units")
+
+ mapFragment.display(
+ units.mapNotNull(MarkerTransformations::unitToMarker).toTypedArray(),
+ isReport = isReport,
+ center = center
+ )
+ } else {
+ mapFragment.setupCallbacks.add {
+ display(units, isReport, center)
+ }
+ }
+ }
+
fun display(stops: Array<Stop>) {
if (mapFragment.hasStarted) {
- Log.d("UnitReportsFragment", "Displaying stops: $stops")
+ Log.d("MapWrapperFragment", "Displaying stops: $stops")
mapFragment.display(
stops.mapNotNull(MarkerTransformations::stopToMarker).toTypedArray(),
@@ -138,9 +158,8 @@ class MapWrapperFragment: Fragment() {
}
fun display(geofences: Array<Geofence>) {
- Log.d("UnitReportsFragment", "Geofences: $geofences")
if (mapFragment.hasStarted) {
- Log.d("UnitReportsFragment", "Displaying geofences: $geofences")
+ Log.d("MapWrapperFragment", "Displaying geofences: $geofences")
mapFragment.displayGeofences(geofences)
} else {
mapFragment.setupCallbacks.add {
@@ -152,6 +171,7 @@ class MapWrapperFragment: Fragment() {
fun updateLayer(layer: MapLayer.Type) {
if (mapFragment.hasStarted) {
mapFragment.updateLayer(layer)
+ binding.attributionText.text = MapLayer.layers[layer]?.attribution
} else {
mapFragment.setupCallbacks.add {
updateLayer(layer)