diff options
author | Leonard Kugis <leonard@kug.is> | 2024-01-04 02:39:04 +0100 |
---|---|---|
committer | Leonard Kugis <leonard@kug.is> | 2024-01-04 02:39:04 +0100 |
commit | aa93b37883deb00c6ca74ad72a5464284fe9171f (patch) | |
tree | bcbc0792e914059a763a04182bbe0f2538b3a5b4 /app/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationFragment.kt | |
parent | cb28d70fb5d220953dec337885601597c654e4fd (diff) |
Added additional fake location parameters
Bearing, Bearing jitter, Speed jitter, Altitude jitter
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 | 52 |
1 files changed, 52 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 33884f7..f1288cb 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 @@ -284,7 +284,11 @@ class FakeLocationFragment : NavToolbarFragment(R.layout.fragment_fake_location) Action.UpdateMockLocationParameters( binding.edittextAltitude.text.toString().toFloat(), binding.edittextSpeed.text.toString().toFloat(), + binding.edittextBearing.text.toString().toFloat(), binding.edittextJitter.text.toString().toFloat(), + binding.edittextJitterAltitude.text.toString().toFloat(), + binding.edittextJitterSpeed.text.toString().toFloat(), + binding.edittextJitterBearing.text.toString().toFloat(), ) ) } catch (e: NumberFormatException) { @@ -305,12 +309,36 @@ class FakeLocationFragment : NavToolbarFragment(R.layout.fragment_fake_location) } @Suppress("UNUSED_PARAMETER") + private fun onBearingTextChanged(editable: Editable?) { + if(!validateBounds(binding.textlayoutBearing, 0.0f, 360.0f)) return + updateMockLocationParameters() + } + + @Suppress("UNUSED_PARAMETER") private fun onJitterTextChanged(editable: Editable?) { if(!validateBounds(binding.textlayoutJitter, 0.0f, 10000000.0f)) return updateMockLocationParameters() } @Suppress("UNUSED_PARAMETER") + private fun onJitterAltitudeTextChanged(editable: Editable?) { + if(!validateBounds(binding.textlayoutJitterAltitude, -100000.0f, 100000.0f)) return + updateMockLocationParameters() + } + + @Suppress("UNUSED_PARAMETER") + private fun onJitterSpeedTextChanged(editable: Editable?) { + if(!validateBounds(binding.textlayoutJitterSpeed, 0.0f, 299792458.0f)) return + updateMockLocationParameters() + } + + @Suppress("UNUSED_PARAMETER") + private fun onJitterBearingTextChanged(editable: Editable?) { + if(!validateBounds(binding.textlayoutJitterBearing, 0.0f, 360.0f)) return + updateMockLocationParameters() + } + + @Suppress("UNUSED_PARAMETER") private fun onLatTextChanged(editable: Editable?) { if (!binding.edittextLatitude.isFocused || !validateCoordinate(binding.textlayoutLatitude, 90f) @@ -406,12 +434,20 @@ class FakeLocationFragment : NavToolbarFragment(R.layout.fragment_fake_location) binding.edittextAltitude.addTextChangedListener(afterTextChanged = ::onAltitudeTextChanged) binding.edittextSpeed.addTextChangedListener(afterTextChanged = ::onSpeedTextChanged) + binding.edittextBearing.addTextChangedListener(afterTextChanged = ::onBearingTextChanged) binding.edittextJitter.addTextChangedListener(afterTextChanged = ::onJitterTextChanged) + binding.edittextJitterAltitude.addTextChangedListener(afterTextChanged = ::onJitterAltitudeTextChanged) + binding.edittextJitterSpeed.addTextChangedListener(afterTextChanged = ::onJitterSpeedTextChanged) + binding.edittextJitterBearing.addTextChangedListener(afterTextChanged = ::onJitterBearingTextChanged) binding.edittextLatitude.addTextChangedListener(afterTextChanged = ::onLatTextChanged) binding.edittextLongitude.addTextChangedListener(afterTextChanged = ::onLonTextChanged) binding.edittextAltitude.onFocusChangeListener = latLonOnFocusChangeListener binding.edittextSpeed.onFocusChangeListener = latLonOnFocusChangeListener + binding.edittextBearing.onFocusChangeListener = latLonOnFocusChangeListener binding.edittextJitter.onFocusChangeListener = latLonOnFocusChangeListener + binding.edittextJitterAltitude.onFocusChangeListener = latLonOnFocusChangeListener + binding.edittextJitterSpeed.onFocusChangeListener = latLonOnFocusChangeListener + binding.edittextJitterBearing.onFocusChangeListener = latLonOnFocusChangeListener binding.edittextLatitude.onFocusChangeListener = latLonOnFocusChangeListener binding.edittextLongitude.onFocusChangeListener = latLonOnFocusChangeListener @@ -435,7 +471,11 @@ class FakeLocationFragment : NavToolbarFragment(R.layout.fragment_fake_location) binding.textlayoutAltitude.isVisible = state.mode == LocationMode.SPECIFIC_LOCATION binding.textlayoutSpeed.isVisible = state.mode == LocationMode.SPECIFIC_LOCATION + binding.textlayoutBearing.isVisible = state.mode == LocationMode.SPECIFIC_LOCATION binding.textlayoutJitter.isVisible = state.mode == LocationMode.SPECIFIC_LOCATION + binding.textlayoutJitterAltitude.isVisible = state.mode == LocationMode.SPECIFIC_LOCATION + binding.textlayoutJitterSpeed.isVisible = state.mode == LocationMode.SPECIFIC_LOCATION + binding.textlayoutJitterBearing.isVisible = state.mode == LocationMode.SPECIFIC_LOCATION binding.buttonLocationRoutePathSelect.isVisible = state.mode == LocationMode.ROUTE binding.locationRoutePath.isVisible = state.mode == LocationMode.ROUTE @@ -455,9 +495,21 @@ class FakeLocationFragment : NavToolbarFragment(R.layout.fragment_fake_location) if(!binding.edittextSpeed.isFocused) binding.edittextSpeed.setText(state.speed?.toString()) + if(!binding.edittextBearing.isFocused) + binding.edittextBearing.setText(state.bearing?.toString()) + if(!binding.edittextJitter.isFocused) binding.edittextJitter.setText(state.jitter?.toString()) + if(!binding.edittextJitterAltitude.isFocused) + binding.edittextJitterAltitude.setText(state.jitterAltitude?.toString()) + + if(!binding.edittextJitterSpeed.isFocused) + binding.edittextJitterSpeed.setText(state.jitterSpeed?.toString()) + + if(!binding.edittextJitterBearing.isFocused) + binding.edittextJitterBearing.setText(state.jitterBearing?.toString()) + if (state.mode == LocationMode.SPECIFIC_LOCATION) { binding.mapLoader.isVisible = false binding.mapOverlay.isVisible = false |