fix(android): make signature GPS permission guard lint-visible
This commit is contained in:
@@ -426,13 +426,15 @@ private fun hasActLocation(context: Context): Boolean =
|
|||||||
ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED
|
ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED
|
||||||
|
|
||||||
private suspend fun currentActSignatureGeo(context: Context): ActSignatureGeo = suspendCancellableCoroutine { continuation ->
|
private suspend fun currentActSignatureGeo(context: Context): ActSignatureGeo = suspendCancellableCoroutine { continuation ->
|
||||||
if (!hasActLocation(context)) {
|
val fineGranted = ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED
|
||||||
|
val coarseGranted = ContextCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED
|
||||||
|
if (!fineGranted && !coarseGranted) {
|
||||||
continuation.resumeWithException(SecurityException("Ubicación no autorizada"))
|
continuation.resumeWithException(SecurityException("Ubicación no autorizada"))
|
||||||
return@suspendCancellableCoroutine
|
return@suspendCancellableCoroutine
|
||||||
}
|
}
|
||||||
val source = CancellationTokenSource()
|
val source = CancellationTokenSource()
|
||||||
LocationServices.getFusedLocationProviderClient(context)
|
val client = LocationServices.getFusedLocationProviderClient(context)
|
||||||
.getCurrentLocation(Priority.PRIORITY_HIGH_ACCURACY, source.token)
|
client.getCurrentLocation(Priority.PRIORITY_HIGH_ACCURACY, source.token)
|
||||||
.addOnSuccessListener { location ->
|
.addOnSuccessListener { location ->
|
||||||
if (!continuation.isActive) return@addOnSuccessListener
|
if (!continuation.isActive) return@addOnSuccessListener
|
||||||
if (location == null) continuation.resumeWithException(IllegalStateException("Ubicación no disponible"))
|
if (location == null) continuation.resumeWithException(IllegalStateException("Ubicación no disponible"))
|
||||||
|
|||||||
Reference in New Issue
Block a user