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.kt52
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