summaryrefslogtreecommitdiff
path: root/app/src
diff options
context:
space:
mode:
Diffstat (limited to 'app/src')
-rw-r--r--app/src/main/java/foundation/e/privacycentralapp/domain/usecases/FakeLocationStateUseCase.kt24
1 files changed, 12 insertions, 12 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 a475aa2..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
@@ -19,10 +19,12 @@ 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
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
@@ -62,10 +64,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<Float, Float>?, isSpecificLocation: Boolean = false) {
@@ -172,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) }