summaryrefslogtreecommitdiff
path: root/app/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationFragment.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationFragment.kt')
-rw-r--r--app/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationFragment.kt41
1 files changed, 41 insertions, 0 deletions
diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationFragment.kt b/app/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationFragment.kt
index 1c629c2..2b054ab 100644
--- a/app/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationFragment.kt
+++ b/app/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationFragment.kt
@@ -244,6 +244,31 @@ class FakeLocationFragment : NavToolbarFragment(R.layout.fragment_fake_location)
}
}
+ private fun updateMockLocationParameters() {
+ viewModel.submitAction(
+ Action.UpdateMockLocationParameters(
+ binding.altitude.text.toString().toFloat(),
+ binding.speed.text.toString().toFloat(),
+ binding.jitter.text.toString().toFloat(),
+ )
+ )
+ }
+
+ @Suppress("UNUSED_PARAMETER")
+ private fun onAltitudeTextChanged(editable: Editable?) {
+ updateMockLocationParameters()
+ }
+
+ @Suppress("UNUSED_PARAMETER")
+ private fun onSpeedTextChanged(editable: Editable?) {
+ updateMockLocationParameters()
+ }
+
+ @Suppress("UNUSED_PARAMETER")
+ private fun onJitterTextChanged(editable: Editable?) {
+ updateMockLocationParameters()
+ }
+
@Suppress("UNUSED_PARAMETER")
private fun onLatTextChanged(editable: Editable?) {
if (!binding.edittextLatitude.isFocused ||
@@ -291,6 +316,9 @@ class FakeLocationFragment : NavToolbarFragment(R.layout.fragment_fake_location)
}
}
+ binding.altitude.addTextChangedListener(afterTextChanged = ::onAltitudeTextChanged)
+ binding.speed.addTextChangedListener(afterTextChanged = ::onSpeedTextChanged)
+ binding.jitter.addTextChangedListener(afterTextChanged = ::onJitterTextChanged)
binding.edittextLatitude.addTextChangedListener(afterTextChanged = ::onLatTextChanged)
binding.edittextLongitude.addTextChangedListener(afterTextChanged = ::onLonTextChanged)
binding.edittextLatitude.onFocusChangeListener = latLonOnFocusChangeListener
@@ -307,6 +335,19 @@ class FakeLocationFragment : NavToolbarFragment(R.layout.fragment_fake_location)
binding.mapView.isEnabled = (state.mode == LocationMode.SPECIFIC_LOCATION)
+ binding.altitude.isEnabled = state.mode == LocationMode.SPECIFIC_LOCATION
+ binding.speed.isEnabled = state.mode == LocationMode.SPECIFIC_LOCATION
+ binding.jitter.isEnabled = state.mode == LocationMode.SPECIFIC_LOCATION
+
+ if(!binding.altitude.isFocused)
+ binding.altitude.setText(state.altitude?.toString())
+
+ if(!binding.speed.isFocused)
+ binding.speed.setText(state.speed?.toString())
+
+ if(!binding.jitter.isFocused)
+ binding.jitter.setText(state.jitter?.toString())
+
if (state.mode == LocationMode.REAL_LOCATION) {
binding.centeredMarker.isVisible = false
} else {