diff options
Diffstat (limited to 'app/src/main/java/foundation/e/privacycentralapp')
-rw-r--r-- | app/src/main/java/foundation/e/privacycentralapp/domain/usecases/FakeLocationStateUseCase.kt | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/app/src/main/java/foundation/e/privacycentralapp/domain/usecases/FakeLocationStateUseCase.kt b/app/src/main/java/foundation/e/privacycentralapp/domain/usecases/FakeLocationStateUseCase.kt index fb773b2..bf4dfa4 100644 --- a/app/src/main/java/foundation/e/privacycentralapp/domain/usecases/FakeLocationStateUseCase.kt +++ b/app/src/main/java/foundation/e/privacycentralapp/domain/usecases/FakeLocationStateUseCase.kt @@ -68,8 +68,8 @@ class FakeLocationStateUseCase( ) } - private fun applySettings(isQuickPrivacyEnabled: Boolean, fakeLocation: Pair<Float, Float>?) { - _configuredLocationMode.value = computeLocationMode(fakeLocation) + private fun applySettings(isQuickPrivacyEnabled: Boolean, fakeLocation: Pair<Float, Float>?, isSpecificLocation: Boolean = false) { + _configuredLocationMode.value = computeLocationMode(fakeLocation, isSpecificLocation) if (isQuickPrivacyEnabled && fakeLocation != null) { if (permissionsModule.getAppOpMode(appDesc, AppOpsManager.OPSTR_MOCK_LOCATION) != AppOpModes.ALLOWED) { @@ -89,7 +89,7 @@ class FakeLocationStateUseCase( localStateRepository.setShowQuickPrivacyDisabledMessage(true) } - setFakeLocation(latitude to longitude) + setFakeLocation(latitude to longitude, true) } fun setRandomLocation() { @@ -103,9 +103,9 @@ class FakeLocationStateUseCase( setFakeLocation(location) } - private fun setFakeLocation(location: Pair<Float, Float>) { + private fun setFakeLocation(location: Pair<Float, Float>, isSpecificLocation: Boolean = false) { localStateRepository.fakeLocation = location - applySettings(localStateRepository.isQuickPrivacyEnabled, location) + applySettings(localStateRepository.isQuickPrivacyEnabled, location ,isSpecificLocation) } fun stopFakeLocation() { @@ -117,11 +117,11 @@ class FakeLocationStateUseCase( applySettings(localStateRepository.isQuickPrivacyEnabled, null) } - private fun computeLocationMode(fakeLocation: Pair<Float, Float>?): Triple<LocationMode, Float?, Float?> { + private fun computeLocationMode(fakeLocation: Pair<Float, Float>?, isSpecificLocation: Boolean = false): Triple<LocationMode, Float?, Float?> { return Triple( when { fakeLocation == null -> LocationMode.REAL_LOCATION - fakeLocation in citiesRepository.citiesLocationsList -> LocationMode.RANDOM_LOCATION + fakeLocation in citiesRepository.citiesLocationsList && !isSpecificLocation -> LocationMode.RANDOM_LOCATION else -> LocationMode.SPECIFIC_LOCATION }, fakeLocation?.first, fakeLocation?.second |