diff options
author | Leonard Kugis <leonard@kug.is> | 2024-01-04 00:09:06 +0100 |
---|---|---|
committer | Leonard Kugis <leonard@kug.is> | 2024-01-04 00:09:06 +0100 |
commit | cb28d70fb5d220953dec337885601597c654e4fd (patch) | |
tree | c3a5bb2e6bc1e6015581be896b1685818f7a09fd /app/src/main/java/foundation/e/advancedprivacy/domain | |
parent | 37568f2fb2da190c840d264c88cbc8ae42e083b1 (diff) | |
download | advanced-privacy-cb28d70fb5d220953dec337885601597c654e4fd.tar.gz |
FakeLocation: Correct propagation of states
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 | 22 |
1 files changed, 16 insertions, 6 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 76a1e69..b7743df 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 @@ -245,6 +245,20 @@ class FakeLocationStateUseCase( } fun routeStart() { + _configuredLocationMode.value = FakeLocationState( + LocationMode.ROUTE, + null, + null, + null, + null, + null, + null, + false, + localStateRepository.route, + localStateRepository.routeLoopEnabled, + true + ) + if (hasAcquireMockLocationPermission()) { fakeLocationModule.startFakeLocation() fakeLocationModule.routeStart(localStateRepository.route, localStateRepository.routeLoopEnabled) @@ -254,12 +268,8 @@ class FakeLocationStateUseCase( } fun routeStop() { - if (hasAcquireMockLocationPermission()) { - fakeLocationModule.stopFakeLocation() - fakeLocationModule.routeStop() - } else { - useRealLocation() - } + fakeLocationModule.routeStop() + useRealLocation() } val currentLocation = MutableStateFlow<Location?>(null) |