diff options
author | TheScarastic <warabhishek@e.email> | 2022-05-13 14:33:20 +0530 |
---|---|---|
committer | TheScarastic <warabhishek@e.email> | 2022-05-13 14:34:00 +0530 |
commit | 9e1c091ed7611b9536eeb92c47da38caa9b20b00 (patch) | |
tree | 31a83e4108c301f1c6e7597081a4425c8dd7ce64 /app/src | |
parent | 7be179d6c4c8889eef755ff11d1b0af69ee20b8a (diff) |
privacycentralapp: properly set specific location
Diffstat (limited to 'app/src')
-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 |