diff options
Diffstat (limited to 'androidApp/src/main/java/mx/trackermap/TrackerMap/android/units')
-rw-r--r-- | androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsViewModel.kt | 13 |
1 files changed, 13 insertions, 0 deletions
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 efa5781..ee6fa98 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,6 +2,7 @@ package mx.trackermap.TrackerMap.android.units import android.util.Log import androidx.lifecycle.* +import com.mousebird.maply.Point2d import kotlinx.coroutines.DelicateCoroutinesApi import kotlinx.coroutines.flow.collect import kotlinx.coroutines.launch @@ -14,6 +15,7 @@ import org.koin.core.component.KoinComponent import org.koin.core.component.inject import kotlin.time.ExperimentalTime + @DelicateCoroutinesApi @ExperimentalTime class UnitsViewModel( @@ -24,6 +26,11 @@ class UnitsViewModel( MAP, LIST } + data class Camera ( + val point: Point2d, + val animated: Boolean, + ) + private val unitsController: UnitsController by inject() private val geofenceController: GeofencesController by inject() @@ -33,6 +40,7 @@ class UnitsViewModel( private var _selectedUnit = MutableLiveData<UnitInformation?>() private var _mapLayerType = MutableLiveData<MapLayer.Type>() private var _geofences = MutableLiveData<Map<Int, Geofence>>() + private val _camera = MutableLiveData<Camera>() val searchQuery: LiveData<String> get() = _searchQuery val unitsDisplayMode: LiveData<UnitsDisplayMode> get() = _unitsDisplayMode @@ -40,6 +48,7 @@ class UnitsViewModel( val selectedUnit: LiveData<UnitInformation?> get() = _selectedUnit val mapLayerType: LiveData<MapLayer.Type> get() = _mapLayerType val geofences: LiveData<Map<Int, Geofence>> get() = _geofences + val camera: LiveData<Camera> get() = _camera init { Log.d("UnitsViewModel", "Initializing Units View Model") @@ -106,4 +115,8 @@ class UnitsViewModel( fun search(query: String) { unitsController.search(query) } + + fun moveCamera(point: Camera) { + _camera.postValue(point) + } }
\ No newline at end of file |