From 270e54f2d83a962a33646c47917d8ea00a282bd9 Mon Sep 17 00:00:00 2001 From: Isidro Henoch Date: Wed, 12 Jan 2022 18:05:18 -0600 Subject: Fixes issues - Fixes the logout problem that don't let users sign in again - Fixes the search bug --- .../TrackerMap/android/devices/DevicesFragment.kt | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'androidApp/src/main/java/mx/trackermap/TrackerMap/android/devices') diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/devices/DevicesFragment.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/devices/DevicesFragment.kt index bd3ab67..6bee413 100644 --- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/devices/DevicesFragment.kt +++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/devices/DevicesFragment.kt @@ -11,18 +11,17 @@ import androidx.recyclerview.widget.LinearLayoutManager import kotlinx.coroutines.DelicateCoroutinesApi import mx.trackermap.TrackerMap.android.databinding.DevicesFragmentBinding import mx.trackermap.TrackerMap.android.details.DetailsActivity +import mx.trackermap.TrackerMap.android.units.UnitFragment import mx.trackermap.TrackerMap.android.units.UnitsViewModel import mx.trackermap.TrackerMap.client.models.UnitInformation import org.koin.androidx.viewmodel.ext.android.viewModel @DelicateCoroutinesApi -class DevicesFragment : Fragment() { +class DevicesFragment(private val unitsViewModel: UnitsViewModel) : UnitFragment(unitsViewModel) { private var _binding: DevicesFragmentBinding? = null private val binding get() = _binding!! - private val unitsViewModel: UnitsViewModel by viewModel() - override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -42,9 +41,20 @@ class DevicesFragment : Fragment() { super.onViewCreated(view, savedInstanceState) setupList() + } + + override fun onResume() { + super.onResume() + setupObservers() } + override fun onPause() { + super.onPause() + + removeObservers() + } + private fun setupList() { binding.devicesList.layoutManager = LinearLayoutManager( context, LinearLayoutManager.VERTICAL, @@ -65,6 +75,11 @@ class DevicesFragment : Fragment() { } } + private fun removeObservers() { + Log.d("DevicesFragment", "removeObservers()") + unitsViewModel.units.removeObservers(viewLifecycleOwner) + } + private fun itemAction(unit: UnitInformation, action: Action) { when (action) { Action.DETAILS, Action.REPORTS, Action.COMMANDS -> { -- cgit v1.2.3