diff options
| author | Leonard Kugis <leonard@kug.is> | 2023-12-26 03:12:52 +0100 |
|---|---|---|
| committer | Leonard Kugis <leonard@kug.is> | 2023-12-26 03:12:52 +0100 |
| commit | 18b2098a4f4885fe11f7bc83693d329d870bb21b (patch) | |
| tree | 72373b3ce4dfaf3dc196a375116d7f9f532247a3 /app/src/main/java/foundation/e/advancedprivacy/domain | |
| parent | 1490f34152152e6f42d4a2ca5828058cb5ab9904 (diff) | |
| download | advanced-privacy-18b2098a4f4885fe11f7bc83693d329d870bb21b.tar.gz | |
Fixed fake location parameters entry
Diffstat (limited to 'app/src/main/java/foundation/e/advancedprivacy/domain')
| -rw-r--r-- | app/src/main/java/foundation/e/advancedprivacy/domain/usecases/FakeLocationStateUseCase.kt | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/app/src/main/java/foundation/e/advancedprivacy/domain/usecases/FakeLocationStateUseCase.kt b/app/src/main/java/foundation/e/advancedprivacy/domain/usecases/FakeLocationStateUseCase.kt index 2a69b3a..581df09 100644 --- a/app/src/main/java/foundation/e/advancedprivacy/domain/usecases/FakeLocationStateUseCase.kt +++ b/app/src/main/java/foundation/e/advancedprivacy/domain/usecases/FakeLocationStateUseCase.kt @@ -60,7 +60,7 @@ class FakeLocationStateUseCase( init { coroutineScope.launch { localStateRepository.fakeLocationEnabled.collect { - applySettings(it, localStateRepository.fakeLocation) + applySettings(it, it) } } } @@ -73,12 +73,16 @@ class FakeLocationStateUseCase( permissionsModule.toggleDangerousPermission(appDesc, android.Manifest.permission.ACCESS_FINE_LOCATION, true) } - private fun applySettings(isEnabled: Boolean, fakeLocation: Pair<Float, Float>, isSpecificLocation: Boolean = false) { - _configuredLocationMode.value = computeLocationMode(isEnabled, fakeLocation, isSpecificLocation) + private fun applySettings(isEnabled: Boolean, isSpecificLocation: Boolean = false) { + _configuredLocationMode.value = computeLocationMode(isEnabled, localStateRepository.fakeAltitude, localStateRepository.fakeSpeed, localStateRepository.fakeJitter, localStateRepository.fakeLocation, isSpecificLocation) if (isEnabled && hasAcquireMockLocationPermission()) { fakeLocationModule.startFakeLocation() - fakeLocationModule.setFakeLocation(localStateRepository.fakeAltitude.toDouble(), localStateRepository.fakeSpeed, localStateRepository.fakeJitter, fakeLocation.first.toDouble(), fakeLocation.second.toDouble()) + fakeLocationModule.setFakeLocation(localStateRepository.fakeAltitude.toDouble(), + localStateRepository.fakeSpeed, + localStateRepository.fakeJitter, + localStateRepository.fakeLocation.first.toDouble(), + localStateRepository.fakeLocation.second.toDouble()) localStateRepository.locationMode.value = configuredLocationMode.value.mode } else { fakeLocationModule.stopFakeLocation() @@ -95,6 +99,7 @@ class FakeLocationStateUseCase( localStateRepository.fakeAltitude = altitude localStateRepository.fakeSpeed = speed localStateRepository.fakeJitter = jitter + applySettings(localStateRepository.fakeLocationEnabled.value, localStateRepository.fakeLocationEnabled.value) } fun setSpecificLocation(latitude: Float, longitude: Float) { @@ -111,16 +116,19 @@ class FakeLocationStateUseCase( private fun setFakeLocation(location: Pair<Float, Float>, isSpecificLocation: Boolean = false) { localStateRepository.fakeLocation = location localStateRepository.setFakeLocationEnabled(true) - applySettings(true, location, isSpecificLocation) + applySettings(true, isSpecificLocation) } fun stopFakeLocation() { localStateRepository.setFakeLocationEnabled(false) - applySettings(false, localStateRepository.fakeLocation) + applySettings(false, false) } private fun computeLocationMode( isFakeLocationEnabled: Boolean, + altitude: Float, + speed: Float, + jitter: Float, fakeLocation: Pair<Float, Float>, isSpecificLocation: Boolean = false, ): FakeLocationState { @@ -132,9 +140,9 @@ class FakeLocationStateUseCase( else -> LocationMode.SPECIFIC_LOCATION }, null, - null, - null, - null, + altitude, + speed, + jitter, false, fakeLocation.first, fakeLocation.second, |
