From d2ee6a21355c390a4aaefc6ea847060c8e47c6ae Mon Sep 17 00:00:00 2001 From: Isidro Henoch Date: Wed, 8 Dec 2021 02:09:47 -0600 Subject: WIP: Starts implementing the main activity - Removes the MainActivity and the shared code it was using - Adds the UnitsActivity - Implements the Map/List toggle functionality --- .../TrackerMap/android/units/UnitsActivity.kt | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsActivity.kt (limited to 'androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsActivity.kt') 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 new file mode 100644 index 0000000..6e9bc83 --- /dev/null +++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsActivity.kt @@ -0,0 +1,52 @@ +package mx.trackermap.TrackerMap.android.units + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity +import androidx.fragment.app.commit +import mx.trackermap.TrackerMap.android.R +import mx.trackermap.TrackerMap.android.databinding.UnitsActivityBinding +import mx.trackermap.TrackerMap.android.devices.DevicesFragment +import mx.trackermap.TrackerMap.android.map.MapFragment +import org.koin.androidx.viewmodel.ext.android.viewModel + +class UnitsActivity : AppCompatActivity() { + + private var _binding: UnitsActivityBinding? = null + private val binding get() = _binding!! + + private val unitsViewModel: UnitsViewModel by viewModel() + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + _binding = UnitsActivityBinding.inflate(layoutInflater) + setContentView(binding.root) + + setupEvents() + setupObservers() + } + + override fun onDestroy() { + super.onDestroy() + _binding = null + } + + private fun setupEvents() { + binding.displayModeToggle.setOnClickListener { + unitsViewModel.toggleDisplayMode() + } + } + + private fun setupObservers() { + unitsViewModel.unitsDisplayMode.observe(this) { displayMode -> + val newFragment = + when (displayMode) { + UnitsViewModel.UnitsDisplayMode.LIST -> DevicesFragment() + UnitsViewModel.UnitsDisplayMode.MAP -> MapFragment() + } + supportFragmentManager.commit { + replace(R.id.displayContainer, newFragment) + } + } + } +} \ No newline at end of file -- cgit v1.2.3