diff options
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.kt | 41 |
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 { |