aboutsummaryrefslogtreecommitdiff
path: root/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2022-01-16 04:02:30 -0600
committerIván Ávalos <avalos@disroot.org>2022-01-16 04:02:30 -0600
commit3f6958e68f6e4dd5d42e1049c05059502d939cf9 (patch)
treed451027198866bacc7a9404d11380276cb65e7e9 /androidApp/src/main/java/mx/trackermap/TrackerMap/android/units
parentf8e7e755dc8e557e1e5b9e9be318f8415a2c7f8e (diff)
downloadetbsa-trackermap-mobile-3f6958e68f6e4dd5d42e1049c05059502d939cf9.tar.gz
etbsa-trackermap-mobile-3f6958e68f6e4dd5d42e1049c05059502d939cf9.tar.bz2
etbsa-trackermap-mobile-3f6958e68f6e4dd5d42e1049c05059502d939cf9.zip
Added attribution and refactored map layers code
Diffstat (limited to 'androidApp/src/main/java/mx/trackermap/TrackerMap/android/units')
-rw-r--r--androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsActivity.kt11
-rw-r--r--androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsViewModel.kt16
2 files changed, 12 insertions, 15 deletions
diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsActivity.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsActivity.kt
index cbd543a..1bbcb80 100644
--- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsActivity.kt
+++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsActivity.kt
@@ -17,6 +17,7 @@ import mx.trackermap.TrackerMap.android.databinding.UnitsActivityBinding
import mx.trackermap.TrackerMap.android.devices.DevicesFragment
import mx.trackermap.TrackerMap.android.map.UnitMapFragment
import mx.trackermap.TrackerMap.android.session.UserInformationActivity
+import mx.trackermap.TrackerMap.client.models.MapLayer
import org.koin.androidx.viewmodel.ext.android.viewModel
@DelicateCoroutinesApi
@@ -92,12 +93,14 @@ class UnitsActivity : AppCompatActivity() {
popOver.setOnMenuItemClickListener { item ->
val layer = resources.getStringArray(
when (item.itemId) {
- R.id.layerStreets -> R.array.maps_streets_tile_url
- R.id.layerSatellite -> R.array.maps_satellite_tile_url
- else -> R.array.maps_streets_tile_url
+ R.id.layerStreets -> R.array.maps_streets_tile
+ R.id.layerSatellite -> R.array.maps_satellite_tile
+ else -> R.array.maps_streets_tile
}
)
- unitsViewModel.setMapLayer(layer[0], layer[1].toInt(), layer[2].toInt())
+ unitsViewModel.setMapLayer(MapLayer(
+ layer[0], layer[1].toInt(), layer[2].toInt(), layer[3]
+ ))
true
}
popOver.show()
diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsViewModel.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsViewModel.kt
index 94e22fa..d3060f0 100644
--- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsViewModel.kt
+++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsViewModel.kt
@@ -2,16 +2,11 @@ package mx.trackermap.TrackerMap.android.units
import android.util.Log
import androidx.lifecycle.*
-import com.mousebird.maply.RemoteTileInfoNew
-import com.mousebird.maply.TileInfoNew
-import com.soywiz.krypto.Hash
-import com.soywiz.krypto.Hasher
-import com.soywiz.krypto.HasherFactory
-import com.soywiz.krypto.md5
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.launch
import mx.trackermap.TrackerMap.client.models.Geofence
+import mx.trackermap.TrackerMap.client.models.MapLayer
import mx.trackermap.TrackerMap.client.models.UnitInformation
import mx.trackermap.TrackerMap.controllers.GeofencesController
import mx.trackermap.TrackerMap.controllers.UnitsController
@@ -34,14 +29,14 @@ class UnitsViewModel(
private var _unitsDisplayMode = MutableLiveData(UnitsDisplayMode.MAP)
private var _units = MutableLiveData<List<UnitInformation>>()
private var _selectedUnit = MutableLiveData<UnitInformation?>()
- private var _mapTileInfo = MutableLiveData<Pair<String, TileInfoNew>>()
+ private var _mapLayer = MutableLiveData<MapLayer>()
private var _geofences = MutableLiveData<Map<Int, Geofence>>()
val searchQuery: LiveData<String> get() = _searchQuery
val unitsDisplayMode: LiveData<UnitsDisplayMode> get() = _unitsDisplayMode
val units: LiveData<List<UnitInformation>> get() = _units
val selectedUnit: LiveData<UnitInformation?> get() = _selectedUnit
- val mapTileInfo: LiveData<Pair<String, TileInfoNew>> get() = _mapTileInfo
+ val mapLayer: LiveData<MapLayer> get() = _mapLayer
val geofences: LiveData<Map<Int, Geofence>> get() = _geofences
init {
@@ -90,9 +85,8 @@ class UnitsViewModel(
_unitsDisplayMode.postValue(displayMode)
}
- fun setMapLayer(url: String, minZoom: Int = 0, maxZoom: Int = 21) {
- val tileInfo = RemoteTileInfoNew(url, minZoom, maxZoom)
- _mapTileInfo.postValue(url to tileInfo)
+ fun setMapLayer(layer: MapLayer) {
+ _mapLayer.postValue(layer)
}
fun toggleDisplayMode() {