diff options
author | Iván Ávalos <avalos@disroot.org> | 2022-01-17 02:48:40 -0600 |
---|---|---|
committer | Iván Ávalos <avalos@disroot.org> | 2022-01-17 02:48:40 -0600 |
commit | cafc0a05c3997ecaa9683ebf119a247e9a139356 (patch) | |
tree | 50fc5a632fd69d725cfccf512a58d113694415d3 /androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/reports | |
parent | e38960ff845bddbd463c43801ad01834f77474f2 (diff) | |
download | etbsa-trackermap-mobile-cafc0a05c3997ecaa9683ebf119a247e9a139356.tar.gz etbsa-trackermap-mobile-cafc0a05c3997ecaa9683ebf119a247e9a139356.tar.bz2 etbsa-trackermap-mobile-cafc0a05c3997ecaa9683ebf119a247e9a139356.zip |
Improved observer management
Diffstat (limited to 'androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/reports')
-rw-r--r-- | androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/reports/UnitReportsFragment.kt | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/reports/UnitReportsFragment.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/reports/UnitReportsFragment.kt index d3e008f..600cfe1 100644 --- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/reports/UnitReportsFragment.kt +++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/details/reports/UnitReportsFragment.kt @@ -60,17 +60,29 @@ class UnitReportsFragment : Fragment() { unitReportsViewModel.setDeviceId( arguments?.getInt(UnitDetailsAdapter.DEVICE_ID_ARG) ?: 0) - initializeMap() setupEvents() + initializeMap() + } + + override fun onResume() { + super.onResume() + setupObservers() } + override fun onStop() { + super.onStop() + + removeObservers() + } + override fun onDestroyView() { super.onDestroyView() _binding = null } private fun initializeMap() { + Log.d("UnitReportsFragment", "initializeMap()") childFragmentManager.commit { replace(R.id.reportsMapContainer, reportsMapFragment) } @@ -140,6 +152,11 @@ class UnitReportsFragment : Fragment() { } } + private fun removeObservers() { + unitReportsViewModel.report.removeObservers(viewLifecycleOwner) + unitReportsViewModel.reportPeriod.removeObservers(viewLifecycleOwner) + } + private fun showPeriodPopUp(view: View) { val popOver = PopupMenu(context, view) popOver.menuInflater.inflate(R.menu.report_period_options, popOver.menu) @@ -262,6 +279,7 @@ class UnitReportsFragment : Fragment() { } private fun showMap(shouldShowMap: Boolean) { + Log.d("UnitReportsFragment", "showMap($shouldShowMap)") binding.reportLoading.root.visibility = View.GONE binding.eventsScroll.visibility = if (shouldShowMap) View.GONE else View.VISIBLE binding.reportsMapContainer.visibility = if (shouldShowMap) View.VISIBLE else View.GONE |