aboutsummaryrefslogtreecommitdiff
path: root/androidApp/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'androidApp/src/main/java')
-rw-r--r--androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsActivity.kt8
-rw-r--r--androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsViewModel.kt7
2 files changed, 12 insertions, 3 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
index 6e9bc83..c895f31 100644
--- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsActivity.kt
+++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsActivity.kt
@@ -2,6 +2,7 @@ package mx.trackermap.TrackerMap.android.units
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
+import androidx.core.widget.doAfterTextChanged
import androidx.fragment.app.commit
import mx.trackermap.TrackerMap.android.R
import mx.trackermap.TrackerMap.android.databinding.UnitsActivityBinding
@@ -35,6 +36,13 @@ class UnitsActivity : AppCompatActivity() {
binding.displayModeToggle.setOnClickListener {
unitsViewModel.toggleDisplayMode()
}
+ binding.searchInput.doAfterTextChanged {
+ unitsViewModel.searchQuery.value = it.toString()
+ }
+ binding.searchInput.setOnEditorActionListener { _, _, _ ->
+ unitsViewModel.search()
+ true
+ }
}
private fun setupObservers() {
diff --git a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsViewModel.kt b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsViewModel.kt
index 7ac6e28..5d7d469 100644
--- a/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsViewModel.kt
+++ b/androidApp/src/main/java/mx/trackermap/TrackerMap/android/units/UnitsViewModel.kt
@@ -15,7 +15,7 @@ import org.koin.core.component.inject
@DelicateCoroutinesApi
class UnitsViewModel(
- private val savedStateHandle: SavedStateHandle
+ savedStateHandle: SavedStateHandle
) : ViewModel(), KoinComponent {
enum class UnitsDisplayMode {
@@ -24,6 +24,7 @@ class UnitsViewModel(
private val unitsController: UnitsController by inject()
+ var searchQuery = savedStateHandle.getLiveData("searchQuery", "")
var unitsDisplayMode = MutableLiveData(UnitsDisplayMode.MAP)
var units = MutableLiveData<List<UnitInformation>>()
@@ -52,7 +53,7 @@ class UnitsViewModel(
unitsDisplayMode.postValue(newDisplayMode)
}
- fun search(query: String) {
- unitsController.search(query)
+ fun search() {
+ unitsController.search(searchQuery.value!!)
}
} \ No newline at end of file