aboutsummaryrefslogtreecommitdiff
path: root/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsActivity.kt
diff options
context:
space:
mode:
Diffstat (limited to 'androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsActivity.kt')
-rw-r--r--androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsActivity.kt52
1 files changed, 52 insertions, 0 deletions
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