From 8ca0e96da1bb31f398870318807cb9203d8b9098 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
 <41898282+github-actions[bot]@users.noreply.github.com>
Date: Tue, 5 Nov 2024 10:15:34 +0000
Subject: [PATCH] =?UTF-8?q?fix:=20Location=20services=20availability=20cra?=
 =?UTF-8?q?sh=20#WPB-11304=20=F0=9F=8D=92=20(#3572)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Co-authored-by: Mateusz Zagórski <mateusz.zagorski.ext@wire.com>
Co-authored-by: Oussama Hassine <oussama.has100@gmail.com>
---
 .../location/LocationPickerHelper.kt               | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/app/src/main/kotlin/com/wire/android/ui/home/messagecomposer/location/LocationPickerHelper.kt b/app/src/main/kotlin/com/wire/android/ui/home/messagecomposer/location/LocationPickerHelper.kt
index 880191b1281..cbd5edcab77 100644
--- a/app/src/main/kotlin/com/wire/android/ui/home/messagecomposer/location/LocationPickerHelper.kt
+++ b/app/src/main/kotlin/com/wire/android/ui/home/messagecomposer/location/LocationPickerHelper.kt
@@ -27,6 +27,7 @@ import android.os.CancellationSignal
 import androidx.annotation.VisibleForTesting
 import androidx.core.location.LocationManagerCompat
 import com.wire.android.AppJsonStyledLogger
+import com.wire.android.appLogger
 import com.wire.android.di.ApplicationScope
 import com.wire.android.ui.home.appLock.CurrentTimestampProvider
 import com.wire.kalium.logger.KaliumLogLevel
@@ -115,9 +116,18 @@ class LocationPickerHelper @Inject constructor(
         timeoutJob.start()
     }
 
+    @Suppress("TooGenericExceptionCaught")
     internal fun isLocationServicesEnabled(): Boolean {
-        val locationManager = context.getSystemService(Context.LOCATION_SERVICE) as LocationManager
-        return LocationManagerCompat.isLocationEnabled(locationManager)
+        return try {
+            val locationManager = context.getSystemService(Context.LOCATION_SERVICE) as LocationManager
+            LocationManagerCompat.isLocationEnabled(locationManager)
+        } catch (e: Exception) {
+            appLogger.i(
+                message = "Checking for location services availability failed",
+                throwable = e
+            )
+            false
+        }
     }
 }