From a2ec079c983e80613953261b02257710baa477b5 Mon Sep 17 00:00:00 2001 From: TheScarastic Date: Fri, 3 Jun 2022 12:56:24 +0530 Subject: advancedPrivacy: only grant permission if permission is already not granted --- .../domain/usecases/FakeLocationStateUseCase.kt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'app/src/main/java/foundation') 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 a475aa2..5446d3b 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 @@ -19,6 +19,7 @@ package foundation.e.privacycentralapp.domain.usecases import android.app.AppOpsManager import android.content.Context +import android.content.pm.PackageManager import android.location.Location import android.location.LocationListener import android.location.LocationManager @@ -62,10 +63,13 @@ class FakeLocationStateUseCase( get() = appContext.getSystemService(Context.LOCATION_SERVICE) as LocationManager private fun acquireLocationPermission() { - permissionsModule.toggleDangerousPermission( - appDesc, - android.Manifest.permission.ACCESS_FINE_LOCATION, true - ) + if (appContext.checkSelfPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { + permissionsModule.toggleDangerousPermission( + appDesc, + android.Manifest.permission.ACCESS_FINE_LOCATION, + true + ) + } } private fun applySettings(isQuickPrivacyEnabled: Boolean, fakeLocation: Pair?, isSpecificLocation: Boolean = false) { -- cgit v1.2.1 From 54f9e2181097e8a14112b19b2b9d578a4c4fffa8 Mon Sep 17 00:00:00 2001 From: TheScarastic Date: Mon, 6 Jun 2022 13:46:29 +0530 Subject: Revert "Revert "privacycentralapp: use io dispatcher for actors"" * fc has been fixed in privacymodulee This reverts commit ff51e6adf37df21f1febcd2521ae351d135743d4. --- .../domain/usecases/FakeLocationStateUseCase.kt | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'app/src/main/java/foundation') 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 5446d3b..d0f5460 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 @@ -24,6 +24,7 @@ import android.location.Location import android.location.LocationListener import android.location.LocationManager import android.os.Bundle +import android.os.Looper import android.util.Log import foundation.e.privacycentralapp.data.repositories.LocalStateRepository import foundation.e.privacycentralapp.domain.entities.LocationMode @@ -176,14 +177,9 @@ class FakeLocationStateUseCase( LocationManager.NETWORK_PROVIDER, // TODO: tight this with fakelocation module. 0L, 0f, - listener - ) - // locationManager.requestLocationUpdates( - // LocationManager.NETWORK_PROVIDER, // TODO: tight this with fakelocation module. - // 0L, - // 0f, - // listener - // ) + listener, + Looper.getMainLooper() + ) val location: Location? = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER) location?.let { listener.onLocationChanged(it) } -- cgit v1.2.1