From cd51c1a843671a9d08e6f1775cb8debd3b0680df Mon Sep 17 00:00:00 2001 From: Ole-Morten Duesund Date: Thu, 5 Mar 2026 11:55:57 +0100 Subject: [PATCH] Log SecurityException in LocationProvider instead of swallowing silently A revoked location permission was previously caught and sent as null with zero logging, making it indistinguishable from "no fix yet" and impossible to diagnose. Co-Authored-By: Claude Opus 4.6 --- .../main/java/no/naiv/tiltshift/util/LocationProvider.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/src/main/java/no/naiv/tiltshift/util/LocationProvider.kt b/app/src/main/java/no/naiv/tiltshift/util/LocationProvider.kt index 1065c45..f8d7b53 100644 --- a/app/src/main/java/no/naiv/tiltshift/util/LocationProvider.kt +++ b/app/src/main/java/no/naiv/tiltshift/util/LocationProvider.kt @@ -5,6 +5,7 @@ import android.content.Context import android.content.pm.PackageManager import android.location.Location import android.os.Looper +import android.util.Log import androidx.core.content.ContextCompat import com.google.android.gms.location.FusedLocationProviderClient import com.google.android.gms.location.LocationCallback @@ -21,6 +22,10 @@ import kotlinx.coroutines.flow.callbackFlow */ class LocationProvider(private val context: Context) { + companion object { + private const val TAG = "LocationProvider" + } + private val fusedLocationClient: FusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(context) @@ -61,6 +66,7 @@ class LocationProvider(private val context: Context) { location?.let { trySend(it) } } } catch (e: SecurityException) { + Log.w(TAG, "Location permission revoked at runtime", e) trySend(null) }