aboutsummaryrefslogtreecommitdiff
path: root/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt
diff options
context:
space:
mode:
authorIsidro Henoch <imhenoch@protonmail.com>2022-01-12 18:05:18 -0600
committerIsidro Henoch <imhenoch@protonmail.com>2022-01-12 18:05:18 -0600
commit270e54f2d83a962a33646c47917d8ea00a282bd9 (patch)
tree5f079f972dc53162445ac6a1a5f63d397431e4a2 /androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt
parentcc7cfcb2d65a1164f5b75ae4292ea9a099746038 (diff)
downloadetbsa-trackermap-mobile-270e54f2d83a962a33646c47917d8ea00a282bd9.tar.gz
etbsa-trackermap-mobile-270e54f2d83a962a33646c47917d8ea00a282bd9.tar.bz2
etbsa-trackermap-mobile-270e54f2d83a962a33646c47917d8ea00a282bd9.zip
Fixes issues
- Fixes the logout problem that don't let users sign in again - Fixes the search bug
Diffstat (limited to 'androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt')
-rw-r--r--androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt28
1 files changed, 20 insertions, 8 deletions
diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt
index fc417a0..30e3cea 100644
--- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt
+++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/map/UnitMapFragment.kt
@@ -1,29 +1,23 @@
package mx.trackermap.TrackerMap.android.map
import android.content.Intent
-import android.graphics.Color
import android.os.Bundle
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
-import androidx.fragment.app.Fragment
import kotlinx.coroutines.DelicateCoroutinesApi
import mx.trackermap.TrackerMap.android.R
import mx.trackermap.TrackerMap.android.databinding.UnitMapFragmentBinding
import mx.trackermap.TrackerMap.android.details.DetailsActivity
import mx.trackermap.TrackerMap.android.devices.Action
import mx.trackermap.TrackerMap.android.devices.UnitRenderData
+import mx.trackermap.TrackerMap.android.units.UnitFragment
import mx.trackermap.TrackerMap.android.units.UnitsViewModel
import mx.trackermap.TrackerMap.client.models.UnitInformation
-import mx.trackermap.TrackerMap.utils.Formatter
-import mx.trackermap.TrackerMap.utils.SpeedUnit
-import org.koin.androidx.viewmodel.ext.android.viewModel
@DelicateCoroutinesApi
-class UnitMapFragment : Fragment() {
-
- private val unitsViewModel: UnitsViewModel by viewModel()
+class UnitMapFragment(private val unitsViewModel: UnitsViewModel) : UnitFragment(unitsViewModel) {
private var _binding: UnitMapFragmentBinding? = null
private val binding get() = _binding!!
@@ -42,9 +36,20 @@ class UnitMapFragment : Fragment() {
super.onViewCreated(view, savedInstanceState)
initializeMap()
+ }
+
+ override fun onResume() {
+ super.onResume()
+
setupObservers()
}
+ override fun onPause() {
+ super.onPause()
+
+ removeObservers()
+ }
+
private fun initializeMap() {
unitsMapFragment = childFragmentManager.findFragmentById(R.id.unitsMap) as MapFragment
unitsMapFragment.markerCallback = unitsViewModel::selectUnitWith
@@ -93,6 +98,13 @@ class UnitMapFragment : Fragment() {
}
}
+ private fun removeObservers() {
+ Log.d("MapFragment", "removeObservers()")
+ unitsViewModel.units.removeObservers(viewLifecycleOwner)
+ unitsViewModel.selectedUnit.removeObservers(viewLifecycleOwner)
+ unitsViewModel.geofences.removeObservers(viewLifecycleOwner)
+ }
+
private fun itemAction(unit: UnitInformation, action: Action) {
when (action) {
Action.DETAILS, Action.REPORTS, Action.COMMANDS -> {